diff options
author | David Schleef <ds@schleef.org> | 2013-02-11 16:35:48 -0800 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2013-02-12 12:23:03 -0800 |
commit | 168c8406b545037cc54c1c9346935e0057138a36 (patch) | |
tree | a227654dfda6c8330bb161e32c4a90d18d4682f8 | |
parent | e614bd037e829cd10bed516516e7810cd373fb91 (diff) |
Unrevert: mpegvideoparse: set timestamp based on pic offset
API is now in baseparse in gstreamer.
Timestamps in MPEG-TS streams are based on the last timestamp
before the start code of the picture. GstBaseParse sets the
timestamp based on the beginning of the sequence header, if
one exists before the picture. This fixes the case where the
timestamp occurs in the MPEG-TS stream between the seq header
and picture start code.
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | gst/videoparsers/gstmpegvideoparse.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 1e8da9cb3..5b64eab70 100644 --- a/configure.ac +++ b/configure.ac @@ -51,7 +51,7 @@ dnl sets GST_LT_LDFLAGS AS_LIBTOOL(GST, 2, 0, 2) dnl *** required versions of GStreamer stuff *** -GST_REQ=1.1.0 +GST_REQ=1.1.0.1 GSTPB_REQ=1.1.0 dnl *** autotools stuff **** diff --git a/gst/videoparsers/gstmpegvideoparse.c b/gst/videoparsers/gstmpegvideoparse.c index a12e72dd0..2c2cfb29b 100644 --- a/gst/videoparsers/gstmpegvideoparse.c +++ b/gst/videoparsers/gstmpegvideoparse.c @@ -783,6 +783,10 @@ gst_mpegv_parse_parse_frame (GstBaseParse * parse, GstBaseParseFrame * frame) GST_BUFFER_DURATION (buffer) = 0; } + if (mpvparse->pic_offset > 4) { + gst_base_parse_set_ts_at_offset (parse, mpvparse->pic_offset - 4); + } + if (mpvparse->frame_repeat_count && GST_CLOCK_TIME_IS_VALID (GST_BUFFER_DURATION (buffer))) { GST_BUFFER_DURATION (buffer) = |