diff options
author | Jan Schmidt <thaytan@noraisin.net> | 2012-09-12 22:58:04 -0700 |
---|---|---|
committer | Jan Schmidt <thaytan@noraisin.net> | 2012-09-12 23:05:47 -0700 |
commit | b7d63d3fb1f71d8ebf822df50c516dda5967af7b (patch) | |
tree | 6fc9b7befb4b4e4dfff9e553fa3dc46b4bca9ff6 | |
parent | 8d5c1be31200c8f6380ee0116a9b2b31fb253b9f (diff) | |
download | gstreamer-plugins-bad-b7d63d3fb1f71d8ebf822df50c516dda5967af7b.tar.gz |
videoparsers: Disable PTS interpolation in the base parse class
All these formats have re-ordered PTS which the base class gets
wrong. It's better to leave them blank and let the decoder sort it
out. Better yet would be to track and interpolate the timestamps
in the subclasses (FIXME)
-rw-r--r-- | gst/videoparsers/gstdiracparse.c | 1 | ||||
-rw-r--r-- | gst/videoparsers/gsth264parse.c | 1 | ||||
-rw-r--r-- | gst/videoparsers/gstmpeg4videoparse.c | 2 | ||||
-rw-r--r-- | gst/videoparsers/gstmpegvideoparse.c | 2 |
4 files changed, 6 insertions, 0 deletions
diff --git a/gst/videoparsers/gstdiracparse.c b/gst/videoparsers/gstdiracparse.c index 72402cbb1..8699381c8 100644 --- a/gst/videoparsers/gstdiracparse.c +++ b/gst/videoparsers/gstdiracparse.c @@ -135,6 +135,7 @@ static void gst_dirac_parse_init (GstDiracParse * diracparse) { gst_base_parse_set_min_frame_size (GST_BASE_PARSE (diracparse), 13); + gst_base_parse_set_pts_interpolation (GST_BASE_PARSE (diracparse), FALSE); } void diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c index bae0c94df..4dca51c91 100644 --- a/gst/videoparsers/gsth264parse.c +++ b/gst/videoparsers/gsth264parse.c @@ -145,6 +145,7 @@ static void gst_h264_parse_init (GstH264Parse * h264parse) { h264parse->frame_out = gst_adapter_new (); + gst_base_parse_set_pts_interpolation (GST_BASE_PARSE (h264parse), FALSE); } diff --git a/gst/videoparsers/gstmpeg4videoparse.c b/gst/videoparsers/gstmpeg4videoparse.c index 526edc7cb..fdbe628a5 100644 --- a/gst/videoparsers/gstmpeg4videoparse.c +++ b/gst/videoparsers/gstmpeg4videoparse.c @@ -180,6 +180,8 @@ gst_mpeg4vparse_init (GstMpeg4VParse * parse) { parse->interval = DEFAULT_CONFIG_INTERVAL; parse->last_report = GST_CLOCK_TIME_NONE; + + gst_base_parse_set_pts_interpolation (GST_BASE_PARSE (parse), FALSE); } static void diff --git a/gst/videoparsers/gstmpegvideoparse.c b/gst/videoparsers/gstmpegvideoparse.c index a6be18ef1..7eee6a5e7 100644 --- a/gst/videoparsers/gstmpegvideoparse.c +++ b/gst/videoparsers/gstmpegvideoparse.c @@ -170,6 +170,8 @@ static void gst_mpegv_parse_init (GstMpegvParse * parse) { parse->config_flags = FLAG_NONE; + + gst_base_parse_set_pts_interpolation (GST_BASE_PARSE (parse), FALSE); } static void |