Bug 124351
Summary: | [GStreamer] Not possible to play more than 32 simultaneous audio stream due to a limitation in PulseAudio | ||
---|---|---|---|
Product: | WebKit | Reporter: | Andres Gomez Garcia <agomez> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | agomez, andrunko, bugs-noreply, calvaris, pnormand, slomo |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 124353 |
Andres Gomez Garcia
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.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Andres Gomez Garcia
Changing, to block 124353 , as it is a meta bug.
Philippe Normand
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...
Philippe Normand
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.
Philippe Normand
The playback pipeline would also have an audiomixer to combine all incoming audio streams to one, IIUC.
Philippe Normand
(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.