]> git.sesse.net Git - vlc/commitdiff
demux: mp4: add Opus codec extra data
authorFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 14 Jan 2015 19:23:42 +0000 (20:23 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 14 Jan 2015 19:24:41 +0000 (20:24 +0100)
modules/demux/mp4/essetup.c

index 3bf5c618ea68b6be4fbaff90da85808d4cbe54e4..ff9835323902e365fd9ffec00f77b4327de3edf7 100644 (file)
@@ -738,7 +738,21 @@ int SetupAudioES( demux_t *p_demux, mp4_track_t *p_track, MP4_Box_t *p_sample )
             }
             break;
         }
-
+        case ATOM_Opus:
+        {
+            MP4_Box_t *p_binary = MP4_BoxGet( p_sample, "dOps" );
+            if( p_binary && BOXDATA(p_binary) && BOXDATA(p_binary)->i_blob )
+            {
+                p_track->fmt.p_extra = malloc( BOXDATA(p_binary)->i_blob );
+                if( p_track->fmt.p_extra )
+                {
+                    p_track->fmt.i_extra = BOXDATA(p_binary)->i_blob;
+                    memcpy( p_track->fmt.p_extra, BOXDATA(p_binary)->p_blob,
+                            p_track->fmt.i_extra );
+                }
+            }
+            break;
+        }
         default:
             msg_Dbg( p_demux, "Unrecognized FourCC %4.4s", (char *)&p_sample->i_type );
             break;