baseparse: pass DTS and PTS to handle_buffer
authorWim Taymans <wim.taymans@collabora.co.uk>
Tue, 11 Dec 2012 15:46:18 +0000 (16:46 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Tue, 11 Dec 2012 15:46:18 +0000 (16:46 +0100)
This makes it handle the timestamps correctly and avoids using a wrong timestamp
for the output.

libs/gst/base/gstbaseparse.c

index 6158c391fe3c6c7076735cecb19275e93dbaa004..f75b148746113b83736810ce9e18851a6ec571ad 100644 (file)
@@ -2675,6 +2675,8 @@ gst_base_parse_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
      * since what is passed is tied to the adapter */
     tmpbuf = gst_buffer_new_wrapped_full (GST_MEMORY_FLAG_READONLY |
         GST_MEMORY_FLAG_NO_SHARE, (gpointer) data, av, 0, av, NULL, NULL);
+    GST_BUFFER_DTS (tmpbuf) = dts;
+    GST_BUFFER_PTS (tmpbuf) = pts;
 
     /* keep the adapter mapped, so keep track of what has to be flushed */
     ret = gst_base_parse_handle_buffer (parse, tmpbuf, &skip, &flush);