[Webkit-unassigned] [Bug 195855] New: [MSE][GStreamer] Fix handling of resolution changes in AppendPipeline
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat Mar 16 13:01:59 PDT 2019
https://bugs.webkit.org/show_bug.cgi?id=195855
Bug ID: 195855
Summary: [MSE][GStreamer] Fix handling of resolution changes in
AppendPipeline
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WebKitGTK
Assignee: webkit-unassigned at lists.webkit.org
Reporter: aboya at igalia.com
CC: bugs-noreply at webkitgtk.org
MediaSample instances produced by the AppendPipeline were not accounting for resolution changes. The causes of this are twofold:
1) m_presentationSize is set by connectDemuxerSrcPadToAppsink() (by calling parseDemuxerSrcPadCaps()), but not by appsinkCapsChanged().
2) appsinkCapsChanged() was being called in the main thread as an asynchronous task. In consequence, even if m_presentationSize is set there, many samples with the new resolution would still be wrapped in a MediaSampleGStreamer using the old resolution by the main thread running consumeAppsinkAvailableSamples() before appsinkCapsChanged() is dispatched.
This patch fixes these problems by updating m_presentationSize in appsinkCapsChanged() and making the streaming thread block until the main thread has dispatched appsinkCapsChanged(). This way the handling of caps changes is serialized with the handling of frames.
--
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/20190316/a2c147a8/attachment.html>
More information about the webkit-unassigned
mailing list