qtmux: In prefill mode, handle the case when only the first chunk was ever used
authorSebastian Dröge <sebastian@centricular.com>
Tue, 9 May 2017 14:02:43 +0000 (16:02 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 9 May 2017 14:02:43 +0000 (16:02 +0200)
gst/isomp4/gstqtmux.c

index 2cea5a7..889cf65 100644 (file)
@@ -3344,9 +3344,9 @@ gst_qt_mux_stop_file (GstQTMux * qtmux)
                   i - 1).samples_per_chunk;
             }
           }
-          g_assert (i > 0 && i <= n);
+          g_assert (i <= n);
 
-          {
+          if (i > 0) {
             STSCEntry *prev_entry =
                 &atom_array_index (&stbl->stsc.entries, i - 1);
             nsamples +=
@@ -3360,6 +3360,11 @@ gst_qt_mux_stop_file (GstQTMux * qtmux)
               stbl->stsc.entries.len = i;
               stbl->stco64.entries.len--;
             }
+          } else {
+            /* Everything in a single chunk */
+            stbl->stsc.entries.len = 0;
+            atom_stsc_add_new_entry (&stbl->stsc, chunk_index,
+                qpad->sample_offset);
           }
         }