mpegtsmux: avoid using clipped out buffers
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Thu, 25 Jul 2013 14:06:12 +0000 (15:06 +0100)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Thu, 25 Jul 2013 14:06:12 +0000 (15:06 +0100)
If a buffer was entirely clipped out (ie, it's out of the segment
entirely), we'll end up with a NULL buffer, which we don't want
to process/dereference.

gst/mpegtsmux/mpegtsmux.c

index 5723559..70d704b 100644 (file)
@@ -977,6 +977,7 @@ mpegtsmux_clip_inc_running_time (GstCollectPads * pads,
       GST_DEBUG_OBJECT (cdata->pad, "clipping buffer on pad outside segment");
       gst_buffer_unref (buf);
       *outbuf = NULL;
+      goto beach;
     } else {
       GST_LOG_OBJECT (cdata->pad, "buffer pts %" GST_TIME_FORMAT " -> %"
           GST_TIME_FORMAT " running time",
@@ -1023,6 +1024,7 @@ mpegtsmux_clip_inc_running_time (GstCollectPads * pads,
     gst_buffer_unref (buf);
   }
 
+beach:
   return GST_FLOW_OK;
 }