summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/curl/gstcurlbasesink.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/curl/gstcurlbasesink.c b/ext/curl/gstcurlbasesink.c
index b47f2467d..b13c182eb 100644
--- a/ext/curl/gstcurlbasesink.c
+++ b/ext/curl/gstcurlbasesink.c
@@ -349,12 +349,17 @@ gst_curl_base_sink_render (GstBaseSink * bsink, GstBuffer * buf)
sink = GST_CURL_BASE_SINK (bsink);
- GST_OBJECT_LOCK (sink);
-
gst_buffer_map (buf, &map, GST_MAP_READ);
data = map.data;
size = map.size;
+ if (size == 0) {
+ gst_buffer_unmap (buf, &map);
+ return GST_FLOW_OK;
+ }
+
+ GST_OBJECT_LOCK (sink);
+
/* check if the transfer thread has encountered problems while the
* pipeline thread was working elsewhere */
if (sink->flow_ret != GST_FLOW_OK) {