Bug 124351 - [GStreamer] Not possible to play more than 32 simultaneous audio stream due to a limitation in PulseAudio
Summary: [GStreamer] Not possible to play more than 32 simultaneous audio stream due t...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 124353
  Show dependency treegraph
 
Reported: 2013-11-14 07:17 PST by Andres Gomez Garcia
Modified: 2020-10-29 10:03 PDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andres Gomez Garcia 2013-11-14 07:17:02 PST
As it is explained in bug 85994 comment 33 , autoaudiosink will often use pulsesink. When opening a web in which more than 32 simultaneous audio streams are created, we will hit a limit in PulseAudio.

It is expected that PA 5.0 will increase the limit to 256. This will not solve the issue completely, but the situation would be better.

This bug has been opened to track this problem and should block bug 85994.
Comment 1 Andres Gomez Garcia 2013-11-14 07:28:25 PST
Changing, to block 124353 , as it is a meta bug.
Comment 2 Philippe Normand 2014-03-05 00:20:59 PST
Increasing this limit is just a workaround though :( 

I keep wondering if we should investigate building our own audio-sink that would maintain a single connection with PA, whatever the number of media elements present in the page...
Comment 3 Philippe Normand 2014-12-09 00:54:35 PST
Sebastian suggested to have one pipeline for audio playback maintaining a single connection to PA and then for each playbin pipeline set the audio-sink to connect to the audio playback pipeline using the "inter" elements.
Comment 4 Philippe Normand 2014-12-09 00:55:25 PST
The playback pipeline would also have an audiomixer to combine all incoming audio streams to one, IIUC.
Comment 5 Philippe Normand 2020-10-29 05:55:06 PDT
(In reply to Philippe Normand from comment #3)
> Sebastian suggested to have one pipeline for audio playback maintaining a
> single connection to PA and then for each playbin pipeline set the
> audio-sink to connect to the audio playback pipeline using the "inter"
> elements.

This was done in https://bugs.webkit.org/show_bug.cgi?id=207634 BTW.

(In reply to Philippe Normand from comment #4)
> The playback pipeline would also have an audiomixer to combine all incoming
> audio streams to one, IIUC.

Same. To enable the mixer, set WEBKIT_GST_ENABLE_AUDIO_MIXER=1 at runtime.