Age | Commit message (Collapse) | Author | Files | Lines |
|
configuration files
This means that the path names will always correspond to the
path configuration file names, so they will automatically be
unique (in the scope of one card).
|
|
Previously the path description was looked up based on the
path name only. Since there can be multiple paths that use
the same description, it had to be possible to have multiple
paths with the same name.
Having the same name with multiple paths makes identifying
the paths more complex than necessary, so the plan is to
make it impossible to have paths with the same name. This
patch prepares for that by retaining the possibility to
still have the same description with multiple paths. Instead
of the path name, the path description is looked up by using
the "path description key" if it is set (path name is still
used as a fallback lookup key).
|
|
|
|
|
|
As an extra, I broke try_to_switch_profile() into smaller
functions, because the two levels of loops with continue
statements inside both were a bit hard to follow.
|
|
This consumes less power, has low (no?) perceivable difference, and
allows the default configuration to work out of the box on low-end
systems (such as netbooks).
|
|
It's valid for a path to have zero elements, e g if it contains
a single jack only. Earlier, this would cause an assertion failure
in pa_path_condense.
Also convert pa_bool_t to bool.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
This reverts commit a9c3f2fb0fc1a1ee0072aac6425ad7311a2a5888.
It has been recently agreed that ports should somehow have some physical
meaning, leading to the port merge in module-bluetooth-device.
With this assumption in mind, it is very unlikely that a card would
add or remove ports dynamically. Therefore, the core can be simplified
by removing the support for this.
The revert affects the code added to module-card-restore in commit
a1a0ad1af209e58c136ac1c884aa5d14672a7144, which can now be partially
removed.
Conflicts:
src/pulsecore/card.c
src/pulsecore/core.h
|
|
As the automake documentation says:
AM_CPPFLAGS: The contents of this variable are passed to every compilation
that invokes the C preprocessor; it is a list of arguments to the preprocessor.
For instance, -I and -D options should be listed here
AM_CFLAGS: This is the variable the Makefile.am author can use to pass in
additional C compiler flags.
http://www.gnu.org/software/automake/manual/html_node/Program-Variables.html
|
|
Let's officially support that people use maxlength to put an upper
bound on playback latency.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
If minreq is not explicitly specified, it was always initialized to
20 ms (DEFAULT_PROCESS_MSEC). However when the total latency is not
much higher than 20 ms, this is way too high. Instead use
tlength/4 as a measure: this will give a decent sink_usec in all
modes (both traditional, adjust latency and early request modes).
This greatly improves PulseAudio's ability to ask for data in time
in low-latency scenarios.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
Tlength should never be set higher than maxlength. While this is
corrected by memblockq later, we still need a correct tlength for
the subsequent calculations.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
|
|
s->buffer_attr_req is what we want to be printing from since that holds
the actualy requested buffer attributes.
|
|
It's helpful to know what kind of scheduling latency we're expecting in
that debug log.
|
|
This is only useful while hacking on PulseAudio.
|
|
Replaces some debugging-only pa_log() calls with pa_log_debug() so we
only get spammed while debugging if we want to be.
|
|
On a multi-homed system, the user may wish RTP to be used only on
specific interfaces. The default binding of 0.0.0.0 for the source
address causes SAP multicast on all interfaces, which is not ideal.
Introduce a new module argument, that allows selection of the source IP,
and thus interface.
(changes in v2: s/srcip/source_ip)
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
|
|
The module argument 'source' already has special meaning as the
pa_source, however, the argument 'destination' expects an IP address.
Prior to introducing a source IP modarg for the source IP address,
rename the 'destination' argument to 'destination_ip'. Include
compatibility support for old RTP users so they don't need to change
their module usage immediately.
(changes in v2: minor formatting fixes, s/dstip/destination_ip)
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
|
|
Before introducing new functionality, clarify the variable names
dest -> dst_addr
sa[46] -> dst_sa[46]
sap_sa[46] -> dst_sap_sa[46]
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
|
|
Tries to get RT privs and prints elapsed time and a periodic header to
make grokking the output easier.
|
|
It checks all files in the mixer/paths directory and checks
- that the file can be parsed without errors
- that the file is actually shipped in the makefile
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
It's fairly uncommon, but it happens that jack detection is enabled
for some reason, e g hardware design. In that case, we cannot use
jack detection, but we can still use the hint to pick up that there
is a path.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
In kernel 3.10, some devices will have the "Headset Microphone" name
to indicate that the mic is part of a mic + headphone combo, i e, a headset.
|
|
|
|
This reverts commit 6733caf114d0d759590459745c864aa9518d133d.
Apparently, the EOF bit gets set only after there has been an attempt
to read more data than the file contains, so just reading the last
byte isn't sufficient.
|
|
fgets() returns NULL in case there's an error or f is at EOF. The
while condition just checked that f is not at EOF, therefore an error
must have happened.
|
|
u->asyncmsg is accessed from two IO threads. teardown() shouldn't
flush the queue from the main thread while both IO threads are still
potentially using the queue. This patch fixes that error by flushing
the queue from the sink input thread when the sink input is being
unlinked.
Flushing the queue in teardown() caused this assertion in
pa_asyncmsgq_get() to crash sometimes: pa_assert(!a->current)
|
|
process() may be called with a stream that doesn't have its sink/source set.
This can happen if the proplist change callback is called when the stream is
moving.
|
|
The sink input may_move_to() callbacks can be called while the source
output is not connected to any source (i.e. is currently moving too),
and vice versa.
Thanks to Frédéric Dalleau for reporting this bug.
|
|
Otherwise sink unlinking could cause a segfault.
Reported-by: heftig
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
Due to the missing "else", parecord was interpreted as parec, causing
the raw flag to be set when it shouldn't have been set.
|
|
ipacl-test fails if there is no SSH server running on your machine.
Since it is not a PulseAudio error not to have an SSH server running,
this test should not be run as part of the "make check" test suite.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
Previously, a drain request was acknowledged up to two hw buffers
too late, causing unnecessary delays.
This implements a new chain of events called process_underrun
which triggers exactly when the sink input has finished playing,
so the drain can be acknowledged quicker.
It could later be improved to give better underrun reporting to
clients too.
Tested-by: Dmitri Paduchikh <dpaduchikh@gmail.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
pacat --format needs = (--format=).
Also pacat should complete files firstly and command line arguments
secondly.
|
|
This adds support for set-(sink|source)-default completion and adds
toggle to the supported arguments for the mute command.
|
|
This patch adds support for completion of remote PulseAudio server
arguments it also suppresses error messages when unable to connect to
PulseAudio (only for the completion function).
|
|
Mostly written by Jaroslav Janukevic.
|
|
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
|
|
|
|
The previous volume handling could cause ear damage: by default the
ladspa sink volume was 100%, and with flat volumes that would cause
the master sink volume to jump to 100% too.
|
|
This makes it easier to configure the buffer size.
|
|
The .verbose metacommand was removed in commit
73eabece3365c1bb47bf6b009682219c4492fda5 (in 2004!).
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=62270
|
|
The previous AAC pass-through patch (commit: 53807e4a) introduced
a new encoding format type: PA_ENCODING_MPEG2_AAC_IEC61937,
which is mostly used in pa_format_info, but forgot to increment the
protocol version number. The version needs to be incremented, because
clients need some way of checking whether the server supports the new
encoding.
|
|
|
|
|
|
If we find a microphone output port, it is probably something else
than a microphone. Therefore label it "Bluetooth output" instead of
"Microphone".
Same goes for Headphones and Speakers, but in the other direction.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
Use the information provided by the form factor to decide which name and
description should be used during port creation.
|
|
When a phone is paired, use PA_BT_FORM_FACTOR_PHONE to properly specify
its form factor.
|
|
Avoid using strings only to represent form factors in the bluetooth-util
API and instead use a new dedicated enum type: pa_bt_form_factor_t.
|