| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
stream is not linked.
When looping through the streams on a given device checking to see if the
stream is 'active' there should be no assert if the stream is not linked, it
should simply be ignored.
This assert can be hit if a sink and a sink input are both created and setup
but the final put calls are left to the end as is done in module-ladspa-sink.
While the order of the calls in module-ladspa-sink could be altered, we should
deal gracefully with the way it is now and not complain about ending up
in this state.
A trigger case was trivial:
1. Load a ladspa-sink.
2. Play a stream and move it to it.
3. Unload the module, then reload it.
4. Due to module-stream-restore and module-suspend-on-idle, the hook callbacks
will ultimately hit this assert.
Thanks to Kim Therkelsen for highlighting this issue.
|
|
|
|
|
|
| |
This retains CPU information (processor type and supported features) in
pa_core, so that this information can be used by modules at init time to
figure out what optimisations may be used.
|
|
|
|
|
| |
This commit restores the functionality originally included in 65e807
by Leszek Koltunski.
|
| |
|
|
|
|
|
|
|
|
|
| |
This commit mostly converts the X11 handling to XCB. There are still
some uses of XLib to deal with the X11 session handling modules, however all
client-side code should now be free of XLib and thus this should fix Bug #799
Note that this removes the screen-based changes by Leszek Koltunski
in 65e80, however this will be restored in due course.
|
|
|
|
|
| |
Avoid losing precision by subtracting uint64 values before converting them to
doubles.
|
|
|
|
|
| |
When .including a directory, all files with the extension '.pa'
in that folder will be parsed in alphabetical order.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Second version after Tanu's feedback
TODO:
- notify client that volume control is disabled
- change sink rate in passthrough mode if needed
- automatic detection of passthrough mode instead of hard
coded profile names
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
|
| |
|
|
|
|
|
|
| |
Previously we used libdbus's memory as keys in listening_signals, which caused
that the memory of the hashmap keys got overwritten, which led to that signals
weren't sent properly.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
We fail to detect when people disable IPv6 in there kernels. This patch
makes sure we don't ignore this error condition.
http://pulseaudio.org/ticket/752
https://bugzilla.mozilla.org/show_bug.cgi?id=533470
http://bugs.freedesktop.org/show_bug.cgi?id=25742
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We need to use pa_memblockq_pop_missing() for all request handling,
including the initial request, because otherwise the counters will be
stay off during the entire runtime.
This should fix:
https://bugzilla.redhat.com/show_bug.cgi?id=559467
|
| |
|
|
|
|
|
|
|
| |
This should make it unlikely that we loop on SIGHUP indefinitely.
Also, this makes it possible for callbacks not to process all events and
still not busy loop.
|
| |
|
| |
|
| |
|
|
|
|
| |
http://pulseaudio.org/ticket/781
|
|
|
|
|
|
|
| |
when the sink is suspended
libcanberra already sets the appropriate flags for uncached sample
streams, we now need to make sure to set them for cached samples too.
|
|
|
|
| |
when playing a sample from the cache
|
|
|
|
|
|
|
| |
If two clients try to cleanup the SHM directory at the same time, they
might want to open and then delete the same segment at the same time, in
which case one client might win, the other one lose. In this case, don't
warn about ENOENT.
|
|
|
|
|
|
|
|
|
| |
Apperently reading from an eventfd can fail, which results in an assert
to be hit. I am not sure about the reason for the failure, but in
attempt to track down the issue the next time is hit this prints a more
useful log message.
https://bugzilla.redhat.com/attachment.cgi?id=386380
|
|
|
|
|
|
|
| |
This makes sure that we don't access the timer after it might have been
destroyed already from the dbus timeout callback.
https://bugzilla.redhat.com/attachment.cgi?id=389952
|
|
|
|
|
|
|
|
|
|
|
|
| |
not know anything about
All seeks/flushes that depend on the playback buffer read pointer cannot
be accounted for properly in the client since it does not know the
actual read pointer. Due to that the clients do not account for it at
all. We need do the same on the server side. And we did, but a little
bit too extreme. While we properly have not applied the changes to the
"request" counter we still do have to apply it to the "missing" counter.
This patch fixes that.
|
|
|
|
| |
http://pulseaudio.org/ticket/776
|
|
|
|
|
|
| |
Should help with debuggin bugs like:
https://bugzilla.redhat.com/show_bug.cgi?id=554405
|
| |
|
|
|
|
| |
https://bugzilla.redhat.com/show_bug.cgi?id=553607
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not subtract bytes the client sends us beyond what we requested from
our missing bytes counter.
This was mostly a thinko that caused servers asking for too little data
when the client initially sent more data than requested, because that
data sent too much was accounted for twice.
This commit fixes this miscalculation.
http://bugzilla.redhat.com/show_bug.cgi?id=534130
|
| |
|
|
|
|
| |
matter what
|
|
|
|
|
|
|
| |
Unless the port number is explicitly configured we will now fallback to
a kernel picked port if the one we'd like by default we cannot get.
http://pulseaudio.org/ticket/773
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hi,
I found that volume ramping is inside PA now.
there's a minor fix here, it is a bug i found after the patch is submitted:
line 1781 of sink-input.c :
if ((i->thread_info.ramp_info.envelope_dying - nbytes) <= 0) {
need to be changed to
if ((i->thread_info.ramp_info.envelope_dying - (ssize_t) nbytes) <= 0) {
otherwise this argument will never be negative since nbytes is of type
size_t which is unsigned.
Please change it when you have time, sorry if bring any inconvenience. :)
|
|\ |
|
| |
| |
| |
| |
| | |
most of them were due to missing #ifdefs or wrong printf format type for
[s]size_t.
|
| |
| |
| |
| |
| |
| |
| | |
At least for pipes, recv() with MSG_PEEK does actually eat up data from
file descriptors. Hence, this can't be used for PULLHUP emulation.
Use another ioctl hack for that.
|
| |
| |
| |
| |
| |
| | |
Even on 10.5.8, poll() does not do the right thing. Haven't checked on
newer versions. Hence, wrap all occurences of poll() to pa_poll and
emulate that call with select() on OSX. This is totally embarassing.
|
| |
| |
| |
| |
| | |
Move the code for OS_IS_DARWIN to the top as on Darwin,
HAVE_CLOCK_GETTIME is also defined.
|
| |
| |
| |
| |
| | |
most of them were due to missing #ifdefs or wrong printf format type for
[s]size_t.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Note also the willneed/will_need inconsistency. I guess it could be nice to ASAP
choose one of them and introduce a backward compatibility hack for the other.
The issues was mostly found with:
for a in $(grep -r '^[ /]\*.*()' $(
find -name '*.[ch]') |
sed 's,^.* \([^ ]*\)().*$,\1,g' |
sort |
uniq |
grep ^pa_)
do
grep -rq "^.[^*].*\<$a(" $(find * -name '*.h') || echo $a
done
|