Commit Graph

24 Commits

Author SHA1 Message Date
Uoti Urpala a0de4bc500 ao_pulse, core: make pulse thread wake up core for more data
For ao_pulse, the current latency is not a good indicator of how soon
the AO requires new data to avoid underflow. Add an internal pipe that
can be used to wake up the input loop from select(), and make the
pulseaudio main loop (which runs in a separate thread) use this
mechanism when pulse requests more data. The wakeup signal currently
contains no information about the reason for the wakup, but audio
buffers are always filled when the event loop wakes up.

Also, request a latency of 1 second from the Pulseaudio server. The
default is normally significantly higher. We don't need low latency,
while higher latency helps prevent underflows reduces need for
wakeups.
2012-03-26 03:55:31 +03:00
Uoti Urpala 4fed8ad197 ao_pulse: convert to new AO API 2012-03-26 03:55:31 +03:00
reimar cb7a098c81 Add a missing const, fixes a compiler warning.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30062 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-18 20:27:35 +00:00
reimar b7fa147ee8 Allow pulseaudio to restore the previous volume on init instead of forcing to
full volume.
The old behaviour can be restored by using -volume 100.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30061 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-18 20:26:28 +00:00
reimar e858d98f4f Get rid of global volume variable, it is only used for temporary values.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30060 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-12-18 20:22:39 +00:00
reimar fe9c8d60b4 Disable pause-hack from PulseAudio 0.9.15 on, it should be fixed.
Patch Lennart Poettering [lennart poettering net] with documentation
update by me.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29160 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-09 20:20:00 +00:00
reimar 33645075f1 Split oversized of "argument" onto a separate line.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29159 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-09 20:10:35 +00:00
reimar d1c4d6c7ef Also lock the mainloop when doing adjusting the volume for PulseAudio.
Patch by Lennart Poettering [lennart poettering net]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29158 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-09 20:07:26 +00:00
reimar a7e4ab04d7 Make sure waitop always unlocks the mainloop even if the operation could not
be created.
Patch by Lennart Poettering [lennart poettering net]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29157 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-09 20:04:24 +00:00
reimar d6bf2e318e Make ao_info_t structs const.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28858 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-06 19:43:12 +00:00
reimar 0927ebeef7 Work around a PulseAudio bug that causes MPlayer to hang after unpausing.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28668 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-19 14:00:33 +00:00
diego b10c35e0ed Use standard license headers with standard formatting.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26775 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-14 18:02:27 +00:00
reimar c8b5921d06 Avoid dependency on newer pulseaudio version.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26681 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-07 22:46:50 +00:00
reimar 71247a97b3 Add support for 32 bit format to ao_pulse.
Based on patch by James Warden [warjamy yahoo com]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26635 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-01 16:51:25 +00:00
reimar e1e2527cd4 Make ao_pulse fall back to s16le format instead of just failing.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26634 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-05-01 16:47:54 +00:00
reimar 8f186a3535 pa_stream_write reportedly needs locking of the main loop
(could not find official documentation on this subject...)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25414 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-12-15 17:10:06 +00:00
reimar 65792a201f Fix indentation
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25413 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-12-15 17:07:40 +00:00
reimar 8778005565 Remove pointless pa_stream_trigger call
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25412 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-12-15 17:06:59 +00:00
reimar fd77e65860 Documentation for waitop function
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25411 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-12-15 16:58:25 +00:00
reimar 11e44a3936 Remove idiotic check that would always be false
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24951 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-03 10:46:15 +00:00
reimar 2de070ff95 Change parsing to allow host == NULL and sink != NULL
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24949 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-03 10:42:23 +00:00
reimar f4f7560a1e Simplify argument "parsing"
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24948 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-03 10:37:22 +00:00
reimar a44c9616a8 Make sink variable local, it is only used in one place
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24947 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-03 10:35:03 +00:00
reimar 4d8266c739 Add missing ao_pulse.c
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24810 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-10-18 13:36:59 +00:00