[Webkit-unassigned] [Bug 78883] [GStreamer] AudioSourceProvider support in the MediaPlayer

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Dec 9 03:39:13 PST 2014


https://bugs.webkit.org/show_bug.cgi?id=78883

--- Comment #50 from Philippe Normand <pnormand at igalia.com> ---
(In reply to comment #49)
> Comment on attachment 242818 [details]
> patch
> 
> 
> > Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:63
> > +    if (gst_adapter_available(adapter) >= bytes) {
> 
> What if there are >= bytes available after you took bytes out of the
> adapter? Should there be a "while (avail >= bytes)" here?
> 

Well I need only a specific amount of audio frames. So processing all the available data from the adapter would be undesired. In the end we use the adapter as a queue, pulling a specific amount of data on-demand.

Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:249
> > +
> 
> Maybe check if you get more than 2 pads here, just in case
> 

Right, for now I'll emit a warning and plug a fakesink to keep the pipeline rolling.

Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:322
> > +    gst_iterator_foreach(iter, cleanUpElementsAfterDeinterleaveSourcePadCallback, this);
> 
> You could cause not-linked errors if the pipeline is still running after all
> deinterleave srcpads are unlinked. I guess in practice not because of the
> tee before this, but it's not clear to me to which state reset() should
> reset.
> 

::reset() is called by the player before setting the pipeline to READY. So hum perhaps I should make sure errors are not emitted.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20141209/35b30c53/attachment-0002.html>


More information about the webkit-unassigned mailing list