mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 12:10:37 +00:00
baseparse: Only infer TS if PTS interpolation is enabled
Otherwise this is breaking timestamps of formats that need reordering. https://bugzilla.gnome.org/show_bug.cgi?id=597662
This commit is contained in:
parent
43620e1642
commit
f27a3e12f6
1 changed files with 3 additions and 1 deletions
|
@ -1989,7 +1989,8 @@ gst_base_parse_handle_and_push_frame (GstBaseParse * parse,
|
||||||
|
|
||||||
/* interpolating and no valid pts yet,
|
/* interpolating and no valid pts yet,
|
||||||
* start with dts and carry on from there */
|
* start with dts and carry on from there */
|
||||||
if (parse->priv->infer_ts && !GST_CLOCK_TIME_IS_VALID (parse->priv->next_pts))
|
if (parse->priv->infer_ts && parse->priv->pts_interpolate
|
||||||
|
&& !GST_CLOCK_TIME_IS_VALID (parse->priv->next_pts))
|
||||||
parse->priv->next_pts = parse->priv->next_dts;
|
parse->priv->next_pts = parse->priv->next_dts;
|
||||||
|
|
||||||
/* again use default handler to add missing metadata;
|
/* again use default handler to add missing metadata;
|
||||||
|
@ -2737,6 +2738,7 @@ gst_base_parse_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
|
||||||
* and incoming stuff has PTS but no DTS seen so far,
|
* and incoming stuff has PTS but no DTS seen so far,
|
||||||
* then pick up DTS from PTS and hope for the best ... */
|
* then pick up DTS from PTS and hope for the best ... */
|
||||||
if (parse->priv->infer_ts &&
|
if (parse->priv->infer_ts &&
|
||||||
|
parse->priv->pts_interpolate &&
|
||||||
!GST_CLOCK_TIME_IS_VALID (dts) &&
|
!GST_CLOCK_TIME_IS_VALID (dts) &&
|
||||||
!GST_CLOCK_TIME_IS_VALID (parse->priv->prev_dts) &&
|
!GST_CLOCK_TIME_IS_VALID (parse->priv->prev_dts) &&
|
||||||
GST_CLOCK_TIME_IS_VALID (pts))
|
GST_CLOCK_TIME_IS_VALID (pts))
|
||||||
|
|
Loading…
Reference in a new issue