Avoid writing a negative number as a large positive
integer in an edit list when the first_ts is smaller
than the first_dts - which can happen when the first
packet received has a PTS but no DTS.
https://bugzilla.gnome.org/show_bug.cgi?id=759615
/* has shift */
if (has_gap || (qtpad->dts_adjustment > 0)) {
- GstClockTime ctts;
+ GstClockTime ctts = 0;
guint32 media_start;
- ctts = qtpad->first_ts - qtpad->first_dts;
+ if (qtpad->first_ts > qtpad->first_dts)
+ ctts = qtpad->first_ts - qtpad->first_dts;
+
media_start = gst_util_uint64_scale_round (ctts,
atom_trak_get_timescale (qtpad->trak), GST_SECOND);