Title: [239826] trunk/Source/WebCore
- Revision
- 239826
- Author
- ab...@igalia.com
- Date
- 2019-01-10 04:46:18 -0800 (Thu, 10 Jan 2019)
Log Message
[MSE][GStreamer] Use GRefPtr in AppendPipeline::pushNewBuffer()
https://bugs.webkit.org/show_bug.cgi?id=192934
Reviewed by Xabier Rodriguez-Calvar.
* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::pushNewBuffer):
* platform/graphics/gstreamer/mse/AppendPipeline.h:
* platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:
(WebCore::MediaSourceClientGStreamerMSE::append):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (239825 => 239826)
--- trunk/Source/WebCore/ChangeLog 2019-01-10 11:55:51 UTC (rev 239825)
+++ trunk/Source/WebCore/ChangeLog 2019-01-10 12:46:18 UTC (rev 239826)
@@ -1,3 +1,16 @@
+2019-01-10 Alicia Boya GarcĂa <ab...@igalia.com>
+
+ [MSE][GStreamer] Use GRefPtr in AppendPipeline::pushNewBuffer()
+ https://bugs.webkit.org/show_bug.cgi?id=192934
+
+ Reviewed by Xabier Rodriguez-Calvar.
+
+ * platform/graphics/gstreamer/mse/AppendPipeline.cpp:
+ (WebCore::AppendPipeline::pushNewBuffer):
+ * platform/graphics/gstreamer/mse/AppendPipeline.h:
+ * platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:
+ (WebCore::MediaSourceClientGStreamerMSE::append):
+
2019-01-10 Carlos Garcia Campos <cgar...@igalia.com>
[FreeType] Color emoji not properly supported
Modified: trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp (239825 => 239826)
--- trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp 2019-01-10 11:55:51 UTC (rev 239825)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp 2019-01-10 12:46:18 UTC (rev 239826)
@@ -552,10 +552,10 @@
#endif
}
-GstFlowReturn AppendPipeline::pushNewBuffer(GstBuffer* buffer)
+GstFlowReturn AppendPipeline::pushNewBuffer(GRefPtr<GstBuffer>&& buffer)
{
- GST_TRACE_OBJECT(m_pipeline.get(), "pushing data buffer %" GST_PTR_FORMAT, buffer);
- GstFlowReturn pushDataBufferRet = gst_app_src_push_buffer(GST_APP_SRC(m_appsrc.get()), buffer);
+ GST_TRACE_OBJECT(m_pipeline.get(), "pushing data buffer %" GST_PTR_FORMAT, buffer.get());
+ GstFlowReturn pushDataBufferRet = gst_app_src_push_buffer(GST_APP_SRC(m_appsrc.get()), buffer.leakRef());
// Pushing buffers to appsrc can only fail if the appsrc is flushing, in EOS or stopped. Neither of these should
// be true at this point.
g_return_val_if_fail(pushDataBufferRet == GST_FLOW_OK, GST_FLOW_ERROR);
Modified: trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.h (239825 => 239826)
--- trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.h 2019-01-10 11:55:51 UTC (rev 239825)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.h 2019-01-10 12:46:18 UTC (rev 239826)
@@ -49,7 +49,7 @@
AppendPipeline(Ref<MediaSourceClientGStreamerMSE>, Ref<SourceBufferPrivateGStreamer>, MediaPlayerPrivateGStreamerMSE&);
virtual ~AppendPipeline();
- GstFlowReturn pushNewBuffer(GstBuffer*);
+ GstFlowReturn pushNewBuffer(GRefPtr<GstBuffer>&&);
void resetParserState();
Ref<SourceBufferPrivateGStreamer> sourceBufferPrivate() { return m_sourceBufferPrivate.get(); }
GstCaps* appsinkCaps() { return m_appsinkCaps.get(); }
Modified: trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp (239825 => 239826)
--- trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp 2019-01-10 11:55:51 UTC (rev 239825)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp 2019-01-10 12:46:18 UTC (rev 239826)
@@ -141,13 +141,13 @@
// Wrap the whole Vector object in case the data is stored in the inlined buffer.
auto* bufferData = data.data();
auto bufferLength = data.size();
- GstBuffer* buffer = gst_buffer_new_wrapped_full(static_cast<GstMemoryFlags>(0), bufferData, bufferLength, 0, bufferLength, new Vector<unsigned char>(WTFMove(data)),
+ GRefPtr<GstBuffer> buffer = adoptGRef(gst_buffer_new_wrapped_full(static_cast<GstMemoryFlags>(0), bufferData, bufferLength, 0, bufferLength, new Vector<unsigned char>(WTFMove(data)),
[](gpointer data)
{
delete static_cast<Vector<unsigned char>*>(data);
- });
+ }));
- return appendPipeline->pushNewBuffer(buffer) == GST_FLOW_OK;
+ return appendPipeline->pushNewBuffer(WTFMove(buffer)) == GST_FLOW_OK;
}
void MediaSourceClientGStreamerMSE::markEndOfStream(MediaSourcePrivate::EndOfStreamStatus status)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes