]> git.sesse.net Git - vlc/commitdiff
mux: mp4: don't create stss for subs
authorFrancois Cartegnie <fcvlcdev@free.fr>
Sun, 22 Jun 2014 09:31:42 +0000 (11:31 +0200)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Thu, 26 Jun 2014 19:53:17 +0000 (21:53 +0200)
modules/mux/mp4.c

index 151e195780572c1e810d293b2026dbb0a401beb5..f066bc7cd4ce420f2c47345e427684b21ee4470d 100644 (file)
@@ -1497,15 +1497,20 @@ static bo_t *GetStblBox(sout_mux_t *p_mux, mp4_stream_t *p_stream)
     /* create stss table */
     bo_t *stss = NULL;
     i_index = 0;
-    for (unsigned i = 0; i < p_stream->i_entry_count; i++)
-        if (p_stream->entry[i].i_flags & BLOCK_FLAG_TYPE_I) {
-            if (stss == NULL) {
-                stss = box_full_new("stss", 0, 0);
-                bo_add_32be(stss, 0); /* fixed later */
+    if ( p_stream->fmt.i_cat == VIDEO_ES || p_stream->fmt.i_cat == AUDIO_ES )
+    {
+        for (unsigned i = 0; i < p_stream->i_entry_count; i++)
+        {
+            if (p_stream->entry[i].i_flags & BLOCK_FLAG_TYPE_I) {
+                if (stss == NULL) {
+                    stss = box_full_new("stss", 0, 0);
+                    bo_add_32be(stss, 0); /* fixed later */
+                }
+                bo_add_32be(stss, 1 + i);
+                i_index++;
             }
-            bo_add_32be(stss, 1 + i);
-            i_index++;
         }
+    }
 
     if (stss)
         bo_fix_32be(stss, 12, i_index);