WebKit Bugzilla
Attachment 339534 Details for
Bug 185242
: [MSE][GStreamer] Delete properly the stream from the WebKitMediaSource
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-185242-20180504121744.patch (text/plain), 2.73 KB, created by
Yacine Bandou
on 2018-05-04 03:17:45 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Yacine Bandou
Created:
2018-05-04 03:17:45 PDT
Size:
2.73 KB
patch
obsolete
>Subversion Revision: 231044 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index e182b0a8cb8d7a86ed5f59a819f45fc55e10fd7e..771ba46c52fbf635347ec11a383b205143c41583 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,19 @@ >+2018-05-03 Yacine Bandou <yacine.bandou_ext@softathome.com> >+ >+ [MSE][GStreamer] Delete properly the stream from the WebKitMediaSource >+ https://bugs.webkit.org/show_bug.cgi?id=185242 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ When the sourceBuffer is removed from mediasource, the appropriate stream is not >+ properly deleted from WebKitMediaSource, because the appsrc and parser elements >+ of the stream are not removed from the WebKitMediaSource bin. >+ >+ This patch avoids the regression of r231089, see https://bugs.webkit.org/show_bug.cgi?id=185071 >+ >+ * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp: >+ (webKitMediaSrcFreeStream): >+ > 2018-01-24 Yacine Bandou <yacine.bandou_ext@softathome.com> > > [EME][GStreamer] Move the decryptor from AppendPipeline to PlaybackPipeline. >diff --git a/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp >index d32fba3ecde0eb19c76acd9fed5e5cdd4fdd926a..bb14f2bce8cdedf6be86726d23209ace0b99cf05 100644 >--- a/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp >+++ b/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp >@@ -513,8 +513,33 @@ void webKitMediaSrcFreeStream(WebKitMediaSrc* source, Stream* stream) > // Don't trigger callbacks from this appsrc to avoid using the stream anymore. > gst_app_src_set_callbacks(GST_APP_SRC(stream->appsrc), &disabledAppsrcCallbacks, nullptr, nullptr); > gst_app_src_end_of_stream(GST_APP_SRC(stream->appsrc)); >+ gst_element_set_state(stream->appsrc, GST_STATE_NULL); >+ gst_bin_remove(GST_BIN(source), stream->appsrc); >+ stream->appsrc = nullptr; > } > >+ if (stream->parser) { >+ gst_element_set_state(stream->parser, GST_STATE_NULL); >+ gst_bin_remove(GST_BIN(source), stream->parser); >+ stream->parser = nullptr; >+ } >+ >+ GST_OBJECT_LOCK(source); >+ switch (stream->type) { >+ case WebCore::Audio: >+ source->priv->numberOfAudioStreams--; >+ break; >+ case WebCore::Video: >+ source->priv->numberOfVideoStreams--; >+ break; >+ case WebCore::Text: >+ source->priv->numberOfTextStreams--; >+ break; >+ default: >+ break; >+ } >+ GST_OBJECT_UNLOCK(source); >+ > if (stream->type != WebCore::Invalid) { > GST_DEBUG("Freeing track-related info on stream %p", stream); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185242
:
339498
| 339534