Project: webrtc Issues People Development process History Sign in
New issue
Advanced search Search tips
Starred by 5 users
Status: Assigned
Owner:
Cc:
Components:
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment
AudioDevicePulseLinux should handle PA_STREAM_FAILED
Project Member Reported by pbos@webrtc.org, Feb 4 2014 Back to list
AudioDeviceLinuxPulse::PlayThreadProcess() locks indefinitely when pa_stream_get_state(_playStream) returns PA_STREAM_FAILED. The code expects PA_STREAM_READY to come sooner or later, which it doesn't when a stream fails.

Lines making this assumption: modules/audio_device/linux/audio_device_pulse_linux.cc, in AudioDeviceLinuxPulse::PlayThreadProcess():

// Wait for state change                                         
while (LATE(pa_stream_get_state)(_playStream) != PA_STREAM_READY)
{                                                                
    LATE(pa_threaded_mainloop_wait)(_paMainloop);                
}                                                                

 
Comment 1 by vrk@webrtc.org, Oct 14 2014
Labels: Area-Mic
Project Member Comment 2 by juberti@webrtc.org, Jan 7 2015
Labels: -Area-Mic Area-GetUserMedia-Mic
Project Member Comment 3 by juberti@webrtc.org, Jan 7 2015
Labels: -Area-GetUserMedia-Mic Mic
Project Member Comment 4 by kjellander@webrtc.org, Dec 1 2016
Components: Audio
Owner: ----
Status: Available
Still a valid bug? Removing xians...
Project Member Comment 5 by henrika@webrtc.org, Dec 1 2016
Cc: henrikg@webrtc.org
Labels: -Mic -Pri-2 OS-Linux Pri-3
Don't know the details of this code. The given design still exists (these files are very rarely modified) and AFAIK it does not cause any issues today. There are also several similar patterns in the same file for recording.

IMHO, we should only make modifications in this (test) code if we have a clear
case of a real existing issue.

Long term, I would like to rewrite (and simplify) all native audio implementations in WebRTC.


Project Member Comment 6 by henrika@webrtc.org, Dec 1 2016
Owner: henrika@webrtc.org
Assigning to myself as a reminder of that these implementations might need some more work.
Project Member Comment 7 by anatolid@webrtc.org, Dec 14 2016
Status: Assigned
Project Member Comment 8 by henrika@webrtc.org, Mar 29 2017
Owner: solenberg@webrtc.org
I am unable to prioritize the Pulse implementation and therefore reassign to Fredrik for final decision on most suitable action.

To my knowledge, we have never been hit by the described issue and I don't know the details well enough to perform "blind" changes.
Sign in to add a comment