From: Vivia Nikolaidou Date: Fri, 11 Oct 2019 13:19:26 +0000 (+0300) Subject: videoparsers: Disable gst_base_parse_set_infer_ts X-Git-Tag: 1.19.3~507^2~2656 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=851682629ee543a0058dd2fde6297271d05fc876;p=platform%2Fupstream%2Fgstreamer.git videoparsers: Disable gst_base_parse_set_infer_ts From the documentation of gst_base_parse_set_infer_ts, it should be disabled for non-audio data. Currently just disabling for all video parsers that have reordered data: h264, h265, mpeg, mpeg4, vc1. Was already disabled in h263. --- diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c index 37facaf..895da68 100644 --- a/gst/videoparsers/gsth264parse.c +++ b/gst/videoparsers/gsth264parse.c @@ -162,6 +162,7 @@ gst_h264_parse_init (GstH264Parse * h264parse) { h264parse->frame_out = gst_adapter_new (); gst_base_parse_set_pts_interpolation (GST_BASE_PARSE (h264parse), FALSE); + gst_base_parse_set_infer_ts (GST_BASE_PARSE (h264parse), FALSE); GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (h264parse)); GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (h264parse)); diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c index 6277fee..cafeaee 100644 --- a/gst/videoparsers/gsth265parse.c +++ b/gst/videoparsers/gsth265parse.c @@ -164,6 +164,7 @@ gst_h265_parse_init (GstH265Parse * h265parse) { h265parse->frame_out = gst_adapter_new (); gst_base_parse_set_pts_interpolation (GST_BASE_PARSE (h265parse), FALSE); + gst_base_parse_set_infer_ts (GST_BASE_PARSE (h265parse), FALSE); GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (h265parse)); GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (h265parse)); } diff --git a/gst/videoparsers/gstmpeg4videoparse.c b/gst/videoparsers/gstmpeg4videoparse.c index e6628e4..53dddd4 100644 --- a/gst/videoparsers/gstmpeg4videoparse.c +++ b/gst/videoparsers/gstmpeg4videoparse.c @@ -185,6 +185,7 @@ gst_mpeg4vparse_init (GstMpeg4VParse * parse) parse->last_report = GST_CLOCK_TIME_NONE; gst_base_parse_set_pts_interpolation (GST_BASE_PARSE (parse), FALSE); + gst_base_parse_set_infer_ts (GST_BASE_PARSE (parse), FALSE); GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (parse)); GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (parse)); } diff --git a/gst/videoparsers/gstmpegvideoparse.c b/gst/videoparsers/gstmpegvideoparse.c index ed085ce..3a5c3f9 100644 --- a/gst/videoparsers/gstmpegvideoparse.c +++ b/gst/videoparsers/gstmpegvideoparse.c @@ -174,6 +174,7 @@ gst_mpegv_parse_init (GstMpegvParse * parse) parse->config_flags = FLAG_NONE; gst_base_parse_set_pts_interpolation (GST_BASE_PARSE (parse), FALSE); + gst_base_parse_set_infer_ts (GST_BASE_PARSE (parse), FALSE); GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (parse)); GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (parse)); } diff --git a/gst/videoparsers/gstvc1parse.c b/gst/videoparsers/gstvc1parse.c index a207dda..68033df 100644 --- a/gst/videoparsers/gstvc1parse.c +++ b/gst/videoparsers/gstvc1parse.c @@ -251,6 +251,10 @@ gst_vc1_parse_init (GstVC1Parse * vc1parse) gst_vc1_parse_reset (vc1parse); GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (vc1parse)); GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (vc1parse)); + + /* We have reordered frames - don't interpolate PTS */ + gst_base_parse_set_pts_interpolation (GST_BASE_PARSE (vc1parse), FALSE); + gst_base_parse_set_infer_ts (GST_BASE_PARSE (vc1parse), FALSE); } static void