From 52d8cd0a4351ed9d531a962e41f0090bf3a0a94f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Tue, 22 Nov 2016 16:42:26 +0200
Subject: [PATCH] qtmux: Error out much earlier if we don't have a valid PTS

https://bugzilla.gnome.org/show_bug.cgi?id=774840
---
 gst/isomp4/gstqtmux.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c
index 5f1d35a..a7ca375 100644
--- a/gst/isomp4/gstqtmux.c
+++ b/gst/isomp4/gstqtmux.c
@@ -3204,6 +3204,9 @@ gst_qt_mux_add_buffer (GstQTMux * qtmux, GstQTPad * pad, GstBuffer * buf)
     gst_buffer_ref (last_buf);
   }
 
+  if (!GST_BUFFER_PTS_IS_VALID (last_buf))
+    goto no_pts;
+
   /* if this is the first buffer, store the timestamp */
   if (G_UNLIKELY (pad->first_ts == GST_CLOCK_TIME_NONE) && last_buf) {
     if (GST_BUFFER_PTS_IS_VALID (last_buf)) {
@@ -3358,9 +3361,6 @@ gst_qt_mux_add_buffer (GstQTMux * qtmux, GstQTPad * pad, GstBuffer * buf)
     sync = TRUE;
   }
 
-  if (!GST_BUFFER_PTS_IS_VALID (last_buf))
-    goto no_pts;
-
   if (GST_BUFFER_DTS_IS_VALID (last_buf)) {
     last_dts = gst_util_uint64_scale_round (GST_BUFFER_DTS (last_buf),
         atom_trak_get_timescale (pad->trak), GST_SECOND);
-- 
2.10.2