New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 2883 link

Starred by 10 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
NextAction: ----
OS: Linux
Pri: 3
Type: Bug

Blocking:
issue 9780



Sign in to add a comment

AudioDevicePulseLinux should handle PA_STREAM_FAILED

Project Member Reported by pbos@webrtc.org, Feb 4 2014

Issue description

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 (was: Assigned)
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 (was: Available)
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.
Project Member

Comment 9 by solenberg@webrtc.org, Apr 11 2018

Owner: henrika@webrtc.org
Reassigning to Henrik as data point when considering refactoring work for the desktop audio integrations.
Project Member

Comment 10 by henrika@webrtc.org, Sep 25

Blocking: 9780
I have been using the Windows 7 64 bit release candidate since it came out and have not had really any big problems until today. It seems as though I can't open the window that lets me set the default playback device. For more information visit - https://macsupportnumber.com/blog/how-to-connect-ps4-controller-to-mac/
Project Member

Comment 12 by henrika@webrtc.org, Nov 19

Please avoid adding information to this bug which are unrelated to the actual issue. The problem is for Linux and not Windows and the link mentions Mac. 

Sign in to add a comment