| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
HDMI jacks are configured like this:
[Jack HDMI/DP]
append-pcm-to-name = yes
The pa_alsa_jack.name field is then "HDMI/DP" and pa_alsa_jack.alsa_name
is set to "HDMI/DP,pcm=3 Jack" or similar. If we compare the name fields
of HDMI paths, they appear to use the same jack element even though they
are different in reality, so all HDMI ports got incorrectly assigned to
the same availability group.
|
|
|
|
|
|
| |
Previously they were set once per mapping, which caused the numbering to
restart from 1 for every mapping, so ports were incorrectly assigned to
the same group.
|
|
|
|
|
|
|
|
| |
Streams connecting filter devices to their target devices shouldn't move
because of default settings (they are intended to be filtering the
specific device that are attached to).
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1015
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Almost all reports from users, I have seen in last years, were not valid.
The report is also printed when the system scheduler does not wake
the pulseaudio thread in the right time. Users are not able to distinguish
between slow machine and the real problem.
Move the log level from 'error' to 'debug' for those messages.
The right fix should be to measure the time between the call invocation and
return to determine (and skip) the scheduling problems, but it is another
extra code just to debug things.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
|
|
| |
Packaging shouldn't be using the automatic setting anyway, and let's
disable by default for one release and mark this as experimental so we
can flush out any corner cases.
|
|
|
|
|
|
|
| |
Since the RTP timestamp is converted to time units and back, a small
error can creep up, which then results in a single frame error in where
we place the buffer in the output memblockq. This results in minor
glitches, so we check for and eliminate the error.
|
|
|
|
|
|
|
|
|
|
|
| |
With GStreamer 1.18, the old behaviour of storing the capture time in
DTS is gone (which is reasonable, since the semantics really don't
match). So instead, we get a capture timestamp when the buffer is being
pushed from udpsrc. This should eventually move into udpsrc, and the
timestamp should come from the cmsg instead of the clock.
We still fallback to the DTS if the meta isn't available, as the meta
might be dropped in older versions of rtpL16pay due to a bug.
|
|
|
|
|
|
|
|
| |
Hashmap loaded_device_paths contain objects holding keys to entries, and
these objects must be alive while map is emptied.
Reorder freeing this hashmap before destroying device objects to fix
crash on exit.
|
| |
|
|
|
|
| |
This is required for using pow().
|
|
|
|
|
|
|
|
|
| |
If port becomes unavailable then PA_CORE_HOOK_PORT_AVAILABLE_CHANGED
callbacks may eventually destroy related source or sink object. Call
this hook after stream is moved to prevent crash reading from freed
memory.
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1008
|
|
|
|
|
|
|
|
|
| |
This reverts commit e0ab9fa4a478a79fac5fa25a957daff4947d5133.
The change broke some Xonar cards, and we probably don't want to hold up
the 14.0 release for this.
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1009
|
|
|
|
| |
The UBUNTU_DEBS variable has been replaced by FDO_DISTRIBUTION_PACKAGES.
|
|
|
|
|
|
|
|
|
|
|
| |
creating it
If write_entry fails to store new entry in database, next time we can try creating new entry again.
With DBUS enabled this will create another dbus entry for same name leading to crash inserting duplicate into dbus_entries map.
Fix this by checking if dbus entry exists in dbus_entries map before creating it.
Fixes: #974
|
| |
|
|
|
|
|
|
|
|
|
| |
We have at least one USB hardware which supports the 8
channels in one mixer element:
https://github.com/alsa-project/alsa-ucm-conf/pull/25
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Although the hdmi-output is in well_known_descriptions[] table,
the hdmi device names are indexed (hdmi-output-0), thus there
is no match to assign the proper type automatically.
This patch puts the correct hdmi type to all relevant hdmi
configuration files.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
|
| |
From: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
|
|
| |
The items array is assigned later and the order of fields is important.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add missing import of util.h. This fixes a build failure with the
Xcode 12 command line tools which manifests as follows:
error: implicit declaration of function 'pa_thread_make_realtime'
is invalid in C99 [-Werror,-Wimplicit-function-declaration]
Ref https://trac.macports.org/ticket/61107
|
|
|
|
|
|
|
|
|
|
|
| |
The current implementation for RTP send isn't optimised for sending MTU
bytes of data like rtp-native. For eg. if MTU is 1280 bytes and we have
to send 1276 bytes, two packets are send out one of 1268 bytes and other
of 8 bytes. Sending out a packet of 8 bytes has a significant overhead
and we should be sending MTU bytes of data.
Fix this by accumulating MTU bytes of data and sending data only on
accumulation of MTU worth of data.
|
| |
|
|
|
|
|
|
| |
Needed for distcheck to work with a checked-in pulseaudio.pot. Not
updating to the very latest (0.21) to not force the dependency bump to
something "too new" on distros.
|
| |
|
|
|
|
|
|
| |
libpulse gets a full API bump due to the addition of availability
groups, and libpulse-mainloop-glib gets a minor bump for implementation
change.
|
|
|
|
|
|
|
|
|
|
|
| |
We have a requirement to "hide" some hardware drivers, because
other (main) UCM configuration will refer them.
This patch use special error codes to notify the upper layers
to skip the module loading.
BugLink: https://github.com/alsa-project/alsa-ucm-conf/issues/30
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
| |
|
| |
|
|
|
|
|
|
|
| |
Currently translated at 100.0% (533 of 533 strings)
Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/it/
|
|
|
|
|
|
|
| |
Currently translated at 100.0% (534 of 534 strings)
Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/sv/
|
|
|
|
|
|
|
|
| |
These lost analog-mono support when we made that a fallback profile, as
the stereo-fallback would be picked up as the only input profile, and
that does not work in duplex mode.
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/750
|
| |
|
|
|
|
|
|
|
|
|
|
| |
pa_core_check_idle() uses pa_core.exit_idle_time, which is set after the
pa_core_new() call, so pa_core_check_idle() needs to be called later.
This patch preserves the fact that core state is set to PA_CORE_RUNNING
after checking idle (now in main). It doesn't seem to matter anyway and
main(pa_core_new(state:PA_CORE_STARTUP)->...->state:PA_CORE_RUNNING)
seems right as well.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Currently translated at 100.0% (526 of 526 strings)
Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/hu/
|
|
|
|
|
|
|
| |
Currently translated at 100.0% (531 of 531 strings)
Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/hr/
|
|
|
|
|
|
|
| |
Currently translated at 85.8% (426 of 496 strings)
Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/nl/
|
| |
|
|
|
|
|
| |
"Availability group" is more clear about what the field is about.
Credits to Arun Raghavan for coming up with the better name.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were three bugs:
1) j->state_plugged was set to PA_AVAILABLE_UNKNOWN too early. It must
be set only after we have found that the jack is shared by two ports.
The result of setting it too early was that no jack ever could have
the PA_AVAILABLE_YES status.
2) The inner jack loop iterated through p->jacks instead of p2->jacks,
so the code didn't compare jacks between two ports at all. As a result
all ports were put in the same availability group.
3) The inner jack loop checked j->state_plugged instead of
j2->state_plugged. The result was that the speaker port, which uses the
Headphone jack to toggle between unknown and unavailable, was put in the
same group with the headphone port.
|
| |
|
|
|
|
|
| |
The documentation can be generated with "ninja -C build doxygen". The
output will go to "doxygen/html" under the build directory.
|
|
|
|
|
|
|
|
|
| |
This change prepares for adding a doxygen target to the Meson build
system. The DOXYGEN_OUTPUT_DIRECTORY substitution variable is needed so
that the output will go to the build directory. I also replaced @srcdir@
with @top_srcdir@. I think it looks cleaner, since the ".." parent
directory traversal is avoided. It also happened to make writing the
Meson rules easier.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the current scenario of reading samples from the appsink, it is
observed that we do not actually read all the data available in the
appsink to read. This results in a choppy sound or heard as gaps in
the playback.
The underlying reason for this happening is as follows. Let's say
the appsink new sample callback is called 2-3 times, but, with the
underlying fdsem post machinery when pa_rtp_recv eventually gets
called, there would be those 2-3 samples to read. However, we were
only reading one sample in the current implementation.
Fix this by reading all samples from the appsink in a loop, coalescing
them and then writing to the memchunk.
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/889
Signed-off-by: Sanchayan Maity <sanchayan@asymptotic.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the profile is generated from UCM, the priority won't be set so it
stays as 0.
Assume a card has two available profiles, when the selected one becomes
unavailable, module-switch-on-port-available's find_best_profile()
should pick the next available one. However, since the priority is 0,
the "off" profile was chosen instead of the available one.
So let's set the priority to 1 to make profile that is available has
higher priority than "off" profile.
|
|
|
|
|
|
| |
Fixes compilation without deprecated OpenSSL APIs.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|