github.com/bluenviron/mediacommon@v1.9.3/pkg/formats/fmp4/init_test.go (about)

     1  package fmp4
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  
     9  	"github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio"
    10  	"github.com/bluenviron/mediacommon/pkg/formats/fmp4/seekablebuffer"
    11  )
    12  
    13  var testSPS = []byte{
    14  	0x67, 0x42, 0xc0, 0x28, 0xd9, 0x00, 0x78, 0x02,
    15  	0x27, 0xe5, 0x84, 0x00, 0x00, 0x03, 0x00, 0x04,
    16  	0x00, 0x00, 0x03, 0x00, 0xf0, 0x3c, 0x60, 0xc9,
    17  	0x20,
    18  }
    19  
    20  var testVideoTrack = &CodecH264{
    21  	SPS: testSPS,
    22  	PPS: []byte{0x08},
    23  }
    24  
    25  var testAudioTrack = &CodecMPEG4Audio{
    26  	Config: mpeg4audio.Config{
    27  		Type:         2,
    28  		SampleRate:   44100,
    29  		ChannelCount: 2,
    30  	},
    31  }
    32  
    33  var casesInit = []struct {
    34  	name string
    35  	enc  []byte
    36  	dec  Init
    37  }{
    38  	{
    39  		"av1",
    40  		[]byte{
    41  			0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70,
    42  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
    43  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
    44  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
    45  			0x00, 0x00, 0x02, 0x74, 0x6d, 0x6f, 0x6f, 0x76,
    46  			0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64,
    47  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    48  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
    49  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
    50  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    51  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
    52  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    53  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
    54  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    55  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
    56  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    57  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    58  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    59  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xd8,
    60  			0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
    61  			0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03,
    62  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    63  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
    64  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    65  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    66  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
    67  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    68  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
    69  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    70  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
    71  			0x07, 0x80, 0x00, 0x00, 0x03, 0x24, 0x00, 0x00,
    72  			0x00, 0x00, 0x01, 0x74, 0x6d, 0x64, 0x69, 0x61,
    73  			0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
    74  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    75  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90,
    76  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
    77  			0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72,
    78  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    79  			0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00,
    80  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    81  			0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e,
    82  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01,
    83  			0x1f, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
    84  			0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00,
    85  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    86  			0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e,
    87  			0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65,
    88  			0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    89  			0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c,
    90  			0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
    91  			0xdf, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00,
    92  			0x93, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00,
    93  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
    94  			0x83, 0x61, 0x76, 0x30, 0x31, 0x00, 0x00, 0x00,
    95  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
    96  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    97  			0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x03,
    98  			0x24, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00,
    99  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
   100  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   101  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   102  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   103  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   104  			0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x19, 0x61,
   105  			0x76, 0x31, 0x43, 0x81, 0x08, 0x0c, 0x00, 0x0a,
   106  			0x0b, 0x00, 0x00, 0x00, 0x42, 0xa7, 0xbf, 0xe4,
   107  			0x60, 0x0d, 0x00, 0x40, 0x00, 0x00, 0x00, 0x14,
   108  			0x62, 0x74, 0x72, 0x74, 0x00, 0x00, 0x00, 0x00,
   109  			0x00, 0x0f, 0x42, 0x40, 0x00, 0x0f, 0x42, 0x40,
   110  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73,
   111  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   112  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63,
   113  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   114  			0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a,
   115  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   116  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
   117  			0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00,
   118  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
   119  			0x6d, 0x76, 0x65, 0x78, 0x00, 0x00, 0x00, 0x20,
   120  			0x74, 0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00,
   121  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
   122  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   123  			0x00, 0x00, 0x00, 0x00,
   124  		},
   125  		Init{
   126  			Tracks: []*InitTrack{{
   127  				ID:        1,
   128  				TimeScale: 90000,
   129  				Codec: &CodecAV1{
   130  					SequenceHeader: []byte{
   131  						8, 0, 0, 0, 66, 167, 191, 228, 96, 13, 0, 64,
   132  					},
   133  				},
   134  			}},
   135  		},
   136  	},
   137  	{
   138  		"vp9",
   139  		[]byte{
   140  			0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70,
   141  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
   142  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
   143  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
   144  			0x00, 0x00, 0x02, 0x6f, 0x6d, 0x6f, 0x6f, 0x76,
   145  			0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64,
   146  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   147  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
   148  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   149  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   150  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   151  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   152  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   153  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   154  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   155  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   156  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   157  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   158  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xd3,
   159  			0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
   160  			0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03,
   161  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   162  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   163  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   164  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   165  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   166  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   167  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   168  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   169  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   170  			0x07, 0x80, 0x00, 0x00, 0x04, 0x38, 0x00, 0x00,
   171  			0x00, 0x00, 0x01, 0x6f, 0x6d, 0x64, 0x69, 0x61,
   172  			0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
   173  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   174  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90,
   175  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
   176  			0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72,
   177  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   178  			0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00,
   179  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   180  			0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e,
   181  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01,
   182  			0x1a, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
   183  			0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00,
   184  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   185  			0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e,
   186  			0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65,
   187  			0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   188  			0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c,
   189  			0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   190  			0xda, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00,
   191  			0x8e, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00,
   192  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   193  			0x7e, 0x76, 0x70, 0x30, 0x39, 0x00, 0x00, 0x00,
   194  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   195  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   196  			0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x04,
   197  			0x38, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00,
   198  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
   199  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   200  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   201  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   202  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   203  			0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x14, 0x76,
   204  			0x70, 0x63, 0x43, 0x01, 0x00, 0x00, 0x00, 0x01,
   205  			0x0a, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   206  			0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74, 0x00,
   207  			0x00, 0x00, 0x00, 0x00, 0x0f, 0x42, 0x40, 0x00,
   208  			0x0f, 0x42, 0x40, 0x00, 0x00, 0x00, 0x10, 0x73,
   209  			0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00,
   210  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73,
   211  			0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
   212  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x73,
   213  			0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00,
   214  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   215  			0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 0x00,
   216  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   217  			0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78, 0x00,
   218  			0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00,
   219  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
   220  			0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
   221  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   222  		},
   223  		Init{
   224  			Tracks: []*InitTrack{{
   225  				ID:        1,
   226  				TimeScale: 90000,
   227  				Codec: &CodecVP9{
   228  					Width:             1920,
   229  					Height:            1080,
   230  					Profile:           1,
   231  					BitDepth:          8,
   232  					ChromaSubsampling: 1,
   233  					ColorRange:        false,
   234  				},
   235  			}},
   236  		},
   237  	},
   238  	{
   239  		"h265",
   240  		[]byte{
   241  			0x00, 0x00, 0x00, 0x20,
   242  			'f', 't', 'y', 'p',
   243  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
   244  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
   245  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
   246  			0x00, 0x00, 0x02, 0xb8,
   247  			'm', 'o', 'o', 'v',
   248  			0x00, 0x00, 0x00, 0x6c,
   249  			'm', 'v', 'h', 'd',
   250  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   251  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
   252  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   253  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   254  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   255  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   256  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   257  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   258  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   259  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   260  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   261  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   262  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0x1c,
   263  			0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
   264  			0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03,
   265  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   266  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   267  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   268  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   269  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   270  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   271  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   272  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   273  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   274  			0x07, 0x80, 0x00, 0x00, 0x04, 0x38, 0x00, 0x00,
   275  			0x00, 0x00, 0x01, 0xb8, 0x6d, 0x64, 0x69, 0x61,
   276  			0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
   277  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   278  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90,
   279  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
   280  			0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72,
   281  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   282  			0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00,
   283  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   284  			0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e,
   285  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01,
   286  			0x63, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
   287  			0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00,
   288  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   289  			0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e,
   290  			0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65,
   291  			0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   292  			0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c,
   293  			0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01,
   294  			0x23, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00,
   295  			0xd7, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00,
   296  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   297  			0xc7, 0x68, 0x65, 0x76, 0x31, 0x00, 0x00, 0x00,
   298  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   299  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   300  			0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x04,
   301  			0x38, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00,
   302  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
   303  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   304  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   305  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   306  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   307  			0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x5d, 0x68,
   308  			0x76, 0x63, 0x43, 0x01, 0x01, 0x60, 0x00, 0x00,
   309  			0x00, 0x03, 0x00, 0x90, 0x00, 0x00, 0x03, 0x78,
   310  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   311  			0x13, 0x03, 0x20, 0x00, 0x01, 0x00, 0x04, 0x01,
   312  			0x02, 0x03, 0x04, 0x21, 0x00, 0x01, 0x00, 0x2a,
   313  			0x42, 0x01, 0x01, 0x01, 0x60, 0x00, 0x00, 0x03,
   314  			0x00, 0x90, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
   315  			0x00, 0x78, 0xa0, 0x03, 0xc0, 0x80, 0x10, 0xe5,
   316  			0x96, 0x66, 0x69, 0x24, 0xca, 0xe0, 0x10, 0x00,
   317  			0x00, 0x03, 0x00, 0x10, 0x00, 0x00, 0x03, 0x01,
   318  			0xe0, 0x80, 0x22, 0x00, 0x01, 0x00, 0x01, 0x08,
   319  			0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74,
   320  			0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x42, 0x40,
   321  			0x00, 0x0f, 0x42, 0x40, 0x00, 0x00, 0x00, 0x10,
   322  			0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00,
   323  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
   324  			0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00,
   325  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
   326  			0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00,
   327  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   328  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f,
   329  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   330  			0x00, 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78,
   331  			0x00, 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78,
   332  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
   333  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   334  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   335  		},
   336  		Init{
   337  			Tracks: []*InitTrack{
   338  				{
   339  					ID:        1,
   340  					TimeScale: 90000,
   341  					Codec: &CodecH265{
   342  						VPS: []byte{0x01, 0x02, 0x03, 0x04},
   343  						SPS: []byte{
   344  							0x42, 0x01, 0x01, 0x01, 0x60, 0x00, 0x00, 0x03,
   345  							0x00, 0x90, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
   346  							0x00, 0x78, 0xa0, 0x03, 0xc0, 0x80, 0x10, 0xe5,
   347  							0x96, 0x66, 0x69, 0x24, 0xca, 0xe0, 0x10, 0x00,
   348  							0x00, 0x03, 0x00, 0x10, 0x00, 0x00, 0x03, 0x01,
   349  							0xe0, 0x80,
   350  						},
   351  						PPS: []byte{0x08},
   352  					},
   353  				},
   354  			},
   355  		},
   356  	},
   357  	{
   358  		"h264",
   359  		[]byte{
   360  			0x00, 0x00, 0x00, 0x20,
   361  			'f', 't', 'y', 'p',
   362  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
   363  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
   364  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
   365  			0x00, 0x00, 0x02, 0x88,
   366  			'm', 'o', 'o', 'v',
   367  			0x00, 0x00, 0x00, 0x6c,
   368  			'm', 'v', 'h', 'd',
   369  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   370  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
   371  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   372  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   373  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   374  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   375  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   376  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   377  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   378  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   379  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   380  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   381  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xec,
   382  			't', 'r', 'a', 'k',
   383  			0x00, 0x00, 0x00, 0x5c,
   384  			't', 'k', 'h', 'd',
   385  			0x00, 0x00, 0x00, 0x03,
   386  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   387  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   388  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   389  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   390  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   391  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   392  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   393  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   394  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   395  			0x07, 0x80, 0x00, 0x00, 0x04, 0x38, 0x00, 0x00,
   396  			0x00, 0x00, 0x01, 0x88,
   397  			'm', 'd', 'i', 'a',
   398  			0x00, 0x00, 0x00, 0x20,
   399  			'm', 'd', 'h', 'd',
   400  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   401  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90,
   402  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
   403  			0x00, 0x00, 0x00, 0x2d,
   404  			'h', 'd', 'l', 'r',
   405  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   406  			0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00,
   407  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   408  			0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e,
   409  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01,
   410  			0x33,
   411  			'm', 'i', 'n', 'f',
   412  			0x00, 0x00, 0x00,
   413  			0x14,
   414  			'v', 'm', 'h', 'd',
   415  			0x00, 0x00, 0x00,
   416  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   417  			0x00, 0x00, 0x00, 0x00, 0x24,
   418  			'd', 'i', 'n', 'f',
   419  			0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65,
   420  			0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   421  			0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c,
   422  			0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   423  			0xf3, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00,
   424  			0xa7, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00,
   425  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   426  			0x97, 0x61, 0x76, 0x63, 0x31, 0x00, 0x00, 0x00,
   427  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   428  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   429  			0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x04,
   430  			0x38, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00,
   431  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
   432  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   433  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   434  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   435  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   436  			0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x61,
   437  			0x76, 0x63, 0x43, 0x01, 0x42, 0xc0, 0x28, 0x03,
   438  			0x01, 0x00, 0x19, 0x67, 0x42, 0xc0, 0x28, 0xd9,
   439  			0x00, 0x78, 0x02, 0x27, 0xe5, 0x84, 0x00, 0x00,
   440  			0x03, 0x00, 0x04, 0x00, 0x00, 0x03, 0x00, 0xf0,
   441  			0x3c, 0x60, 0xc9, 0x20, 0x01, 0x00, 0x01, 0x08,
   442  			0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74,
   443  			0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x42, 0x40,
   444  			0x00, 0x0f, 0x42, 0x40, 0x00, 0x00, 0x00, 0x10,
   445  			0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00,
   446  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
   447  			0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00,
   448  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
   449  			0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00,
   450  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   451  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f,
   452  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   453  			0x00, 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78,
   454  			0x00, 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78,
   455  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
   456  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   457  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   458  		},
   459  		Init{
   460  			Tracks: []*InitTrack{
   461  				{
   462  					ID:        1,
   463  					TimeScale: 90000,
   464  					Codec:     testVideoTrack,
   465  				},
   466  			},
   467  		},
   468  	},
   469  	{
   470  		"mpeg-4 video",
   471  		[]byte{
   472  			0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70,
   473  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
   474  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
   475  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
   476  			0x00, 0x00, 0x02, 0xbc, 0x6d, 0x6f, 0x6f, 0x76,
   477  			0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64,
   478  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   479  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
   480  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   481  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   482  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   483  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   484  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   485  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   486  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   487  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   488  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   489  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   490  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0x20,
   491  			0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
   492  			0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03,
   493  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   494  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   495  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   496  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   497  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   498  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   499  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   500  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   501  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   502  			0x03, 0x20, 0x00, 0x00, 0x02, 0x58, 0x00, 0x00,
   503  			0x00, 0x00, 0x01, 0xbc, 0x6d, 0x64, 0x69, 0x61,
   504  			0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
   505  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   506  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90,
   507  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
   508  			0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72,
   509  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   510  			0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00,
   511  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   512  			0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e,
   513  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01,
   514  			0x67, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
   515  			0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00,
   516  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   517  			0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e,
   518  			0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65,
   519  			0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   520  			0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c,
   521  			0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01,
   522  			0x27, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00,
   523  			0xdb, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00,
   524  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   525  			0xcb, 0x6d, 0x70, 0x34, 0x76, 0x00, 0x00, 0x00,
   526  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   527  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   528  			0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x02,
   529  			0x58, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00,
   530  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
   531  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   532  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   533  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   534  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   535  			0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x61, 0x65,
   536  			0x73, 0x64, 0x73, 0x00, 0x00, 0x00, 0x00, 0x03,
   537  			0x80, 0x80, 0x80, 0x50, 0x00, 0x01, 0x00, 0x04,
   538  			0x80, 0x80, 0x80, 0x42, 0x20, 0x11, 0x00, 0x00,
   539  			0x00, 0x00, 0x0f, 0x42, 0x40, 0x00, 0x0f, 0x42,
   540  			0x40, 0x05, 0x80, 0x80, 0x80, 0x30, 0x00, 0x00,
   541  			0x01, 0xb0, 0x01, 0x00, 0x00, 0x01, 0xb5, 0x89,
   542  			0x13, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
   543  			0x20, 0x00, 0xc4, 0x8d, 0x88, 0x00, 0xf5, 0x3c,
   544  			0x04, 0x87, 0x14, 0x63, 0x00, 0x00, 0x01, 0xb2,
   545  			0x4c, 0x61, 0x76, 0x63, 0x35, 0x38, 0x2e, 0x31,
   546  			0x33, 0x34, 0x2e, 0x31, 0x30, 0x30, 0x06, 0x80,
   547  			0x80, 0x80, 0x01, 0x02, 0x00, 0x00, 0x00, 0x14,
   548  			0x62, 0x74, 0x72, 0x74, 0x00, 0x00, 0x00, 0x00,
   549  			0x00, 0x0f, 0x42, 0x40, 0x00, 0x0f, 0x42, 0x40,
   550  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73,
   551  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   552  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63,
   553  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   554  			0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a,
   555  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   556  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
   557  			0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00,
   558  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
   559  			0x6d, 0x76, 0x65, 0x78, 0x00, 0x00, 0x00, 0x20,
   560  			0x74, 0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00,
   561  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
   562  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   563  			0x00, 0x00, 0x00, 0x00,
   564  		},
   565  		Init{
   566  			Tracks: []*InitTrack{
   567  				{
   568  					ID:        1,
   569  					TimeScale: 90000,
   570  					Codec: &CodecMPEG4Video{
   571  						Config: []byte{
   572  							0x00, 0x00, 0x01, 0xb0, 0x01, 0x00, 0x00, 0x01,
   573  							0xb5, 0x89, 0x13, 0x00, 0x00, 0x01, 0x00, 0x00,
   574  							0x00, 0x01, 0x20, 0x00, 0xc4, 0x8d, 0x88, 0x00,
   575  							0xf5, 0x3c, 0x04, 0x87, 0x14, 0x63, 0x00, 0x00,
   576  							0x01, 0xb2, 0x4c, 0x61, 0x76, 0x63, 0x35, 0x38,
   577  							0x2e, 0x31, 0x33, 0x34, 0x2e, 0x31, 0x30, 0x30,
   578  						},
   579  					},
   580  				},
   581  			},
   582  		},
   583  	},
   584  	{
   585  		"mpeg-1 video",
   586  		[]byte{
   587  			0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70,
   588  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
   589  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
   590  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
   591  			0x00, 0x00, 0x02, 0xa2, 0x6d, 0x6f, 0x6f, 0x76,
   592  			0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64,
   593  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   594  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
   595  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   596  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   597  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   598  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   599  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   600  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   601  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   602  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   603  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   604  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   605  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0x06,
   606  			0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
   607  			0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03,
   608  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   609  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   610  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   611  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   612  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   613  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   614  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   615  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   616  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   617  			0x03, 0x20, 0x00, 0x00, 0x02, 0x58, 0x00, 0x00,
   618  			0x00, 0x00, 0x01, 0xa2, 0x6d, 0x64, 0x69, 0x61,
   619  			0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
   620  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   621  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90,
   622  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
   623  			0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72,
   624  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   625  			0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00,
   626  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   627  			0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e,
   628  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01,
   629  			0x4d, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
   630  			0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00,
   631  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   632  			0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e,
   633  			0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65,
   634  			0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   635  			0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c,
   636  			0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01,
   637  			0x0d, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00,
   638  			0xc1, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00,
   639  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   640  			0xb1, 0x6d, 0x70, 0x34, 0x76, 0x00, 0x00, 0x00,
   641  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   642  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   643  			0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x02,
   644  			0x58, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00,
   645  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
   646  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   647  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   648  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   649  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   650  			0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x47, 0x65,
   651  			0x73, 0x64, 0x73, 0x00, 0x00, 0x00, 0x00, 0x03,
   652  			0x80, 0x80, 0x80, 0x36, 0x00, 0x01, 0x00, 0x04,
   653  			0x80, 0x80, 0x80, 0x28, 0x61, 0x11, 0x00, 0x00,
   654  			0x00, 0x00, 0x0f, 0x42, 0x40, 0x00, 0x0f, 0x42,
   655  			0x40, 0x05, 0x80, 0x80, 0x80, 0x16, 0x00, 0x00,
   656  			0x01, 0xb3, 0x78, 0x04, 0x38, 0x35, 0xff, 0xff,
   657  			0xe0, 0x18, 0x00, 0x00, 0x01, 0xb5, 0x14, 0x4a,
   658  			0x00, 0x01, 0x00, 0x00, 0x06, 0x80, 0x80, 0x80,
   659  			0x01, 0x02, 0x00, 0x00, 0x00, 0x14, 0x62, 0x74,
   660  			0x72, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
   661  			0x42, 0x40, 0x00, 0x0f, 0x42, 0x40, 0x00, 0x00,
   662  			0x00, 0x10, 0x73, 0x74, 0x74, 0x73, 0x00, 0x00,
   663  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   664  			0x00, 0x10, 0x73, 0x74, 0x73, 0x63, 0x00, 0x00,
   665  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   666  			0x00, 0x14, 0x73, 0x74, 0x73, 0x7a, 0x00, 0x00,
   667  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   668  			0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74,
   669  			0x63, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   670  			0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6d, 0x76,
   671  			0x65, 0x78, 0x00, 0x00, 0x00, 0x20, 0x74, 0x72,
   672  			0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   673  			0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   674  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   675  			0x00, 0x00,
   676  		},
   677  		Init{
   678  			Tracks: []*InitTrack{
   679  				{
   680  					ID:        1,
   681  					TimeScale: 90000,
   682  					Codec: &CodecMPEG1Video{
   683  						Config: []byte{
   684  							0x00, 0x00, 0x01, 0xb3, 0x78, 0x04, 0x38, 0x35,
   685  							0xff, 0xff, 0xe0, 0x18, 0x00, 0x00, 0x01, 0xb5,
   686  							0x14, 0x4a, 0x00, 0x01, 0x00, 0x00,
   687  						},
   688  					},
   689  				},
   690  			},
   691  		},
   692  	},
   693  	{
   694  		"mjpeg video",
   695  		[]byte{
   696  			0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70,
   697  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
   698  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
   699  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
   700  			0x00, 0x00, 0x02, 0x87, 0x6d, 0x6f, 0x6f, 0x76,
   701  			0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64,
   702  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   703  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
   704  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   705  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   706  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   707  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   708  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   709  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   710  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   711  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   712  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   713  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   714  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xeb,
   715  			0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
   716  			0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03,
   717  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   718  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   719  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   720  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   721  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   722  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   723  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   724  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   725  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   726  			0x02, 0x80, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00,
   727  			0x00, 0x00, 0x01, 0x87, 0x6d, 0x64, 0x69, 0x61,
   728  			0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
   729  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   730  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90,
   731  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
   732  			0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72,
   733  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   734  			0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00,
   735  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   736  			0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e,
   737  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01,
   738  			0x32, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
   739  			0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00,
   740  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   741  			0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e,
   742  			0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65,
   743  			0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   744  			0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c,
   745  			0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   746  			0xf2, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00,
   747  			0xa6, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00,
   748  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   749  			0x96, 0x6d, 0x70, 0x34, 0x76, 0x00, 0x00, 0x00,
   750  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   751  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   752  			0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x01,
   753  			0xe0, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00,
   754  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
   755  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   756  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   757  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   758  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   759  			0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x2c, 0x65,
   760  			0x73, 0x64, 0x73, 0x00, 0x00, 0x00, 0x00, 0x03,
   761  			0x80, 0x80, 0x80, 0x1b, 0x00, 0x01, 0x00, 0x04,
   762  			0x80, 0x80, 0x80, 0x0d, 0x6c, 0x11, 0x00, 0x00,
   763  			0x00, 0x00, 0x0f, 0x42, 0x40, 0x00, 0x0f, 0x42,
   764  			0x40, 0x06, 0x80, 0x80, 0x80, 0x01, 0x02, 0x00,
   765  			0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74, 0x00,
   766  			0x00, 0x00, 0x00, 0x00, 0x0f, 0x42, 0x40, 0x00,
   767  			0x0f, 0x42, 0x40, 0x00, 0x00, 0x00, 0x10, 0x73,
   768  			0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00,
   769  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73,
   770  			0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
   771  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x73,
   772  			0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00,
   773  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   774  			0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 0x00,
   775  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   776  			0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78, 0x00,
   777  			0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00,
   778  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
   779  			0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
   780  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   781  		},
   782  		Init{
   783  			Tracks: []*InitTrack{
   784  				{
   785  					ID:        1,
   786  					TimeScale: 90000,
   787  					Codec: &CodecMJPEG{
   788  						Width:  640,
   789  						Height: 480,
   790  					},
   791  				},
   792  			},
   793  		},
   794  	},
   795  	{
   796  		"opus",
   797  		[]byte{
   798  			0x00, 0x00, 0x00, 0x20,
   799  			'f', 't', 'y', 'p',
   800  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
   801  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
   802  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
   803  			0x00, 0x00, 0x02, 0x38,
   804  			'm', 'o', 'o', 'v',
   805  			0x00, 0x00, 0x00, 0x6c,
   806  			'm', 'v', 'h', 'd',
   807  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   808  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
   809  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   810  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   811  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   812  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   813  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   814  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   815  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   816  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   817  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   818  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   819  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x9c,
   820  			0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
   821  			0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03,
   822  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   823  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   824  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   825  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
   826  			0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   827  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   828  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   829  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   830  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   831  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   832  			0x00, 0x00, 0x01, 0x38, 0x6d, 0x64, 0x69, 0x61,
   833  			0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
   834  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   835  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbb, 0x80,
   836  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
   837  			0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72,
   838  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   839  			0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00,
   840  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   841  			0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e,
   842  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00,
   843  			0xe3, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
   844  			0x10, 0x73, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00,
   845  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   846  			0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
   847  			0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00,
   848  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   849  			0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00,
   850  			0x01, 0x00, 0x00, 0x00, 0xa7, 0x73, 0x74, 0x62,
   851  			0x6c, 0x00, 0x00, 0x00, 0x5b, 0x73, 0x74, 0x73,
   852  			0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   853  			0x01, 0x00, 0x00, 0x00, 0x4b, 0x4f, 0x70, 0x75,
   854  			0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   855  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   856  			0x00, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00,
   857  			0x00, 0xbb, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
   858  			0x13, 0x64, 0x4f, 0x70, 0x73, 0x00, 0x02, 0x01,
   859  			0x38, 0x00, 0x00, 0xbb, 0x80, 0x00, 0x00, 0x00,
   860  			0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74,
   861  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf7, 0x39,
   862  			0x00, 0x01, 0xf7, 0x39, 0x00, 0x00, 0x00, 0x10,
   863  			0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00,
   864  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
   865  			0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00,
   866  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
   867  			0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00,
   868  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   869  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f,
   870  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   871  			0x00, 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78,
   872  			0x00, 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78,
   873  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
   874  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   875  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   876  		},
   877  		Init{
   878  			Tracks: []*InitTrack{
   879  				{
   880  					ID:        1,
   881  					TimeScale: 48000,
   882  					Codec: &CodecOpus{
   883  						ChannelCount: 2,
   884  					},
   885  				},
   886  			},
   887  		},
   888  	},
   889  	{
   890  		"mpeg-4 audio",
   891  		[]byte{
   892  			0x00, 0x00, 0x00, 0x20,
   893  			'f', 't', 'y', 'p',
   894  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
   895  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
   896  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
   897  			0x00, 0x00, 0x02, 0x58,
   898  			'm', 'o', 'o', 'v',
   899  			0x00, 0x00, 0x00, 0x6c,
   900  			'm', 'v', 'h', 'd',
   901  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   902  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
   903  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   904  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   905  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   906  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   907  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   908  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   909  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   910  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   911  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   912  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   913  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xbc,
   914  			't', 'r', 'a', 'k',
   915  			0x00, 0x00, 0x00, 0x5c,
   916  			't', 'k', 'h', 'd',
   917  			0x00, 0x00, 0x00, 0x03,
   918  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   919  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   920  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   921  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
   922  			0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   923  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   924  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
   925  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   926  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   927  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   928  			0x00, 0x00, 0x01, 0x58,
   929  			'm', 'd', 'i', 'a',
   930  			0x00, 0x00, 0x00, 0x20,
   931  			'm', 'd', 'h', 'd',
   932  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   933  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0x44,
   934  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
   935  			0x00, 0x00, 0x00, 0x2d,
   936  			'h', 'd', 'l', 'r',
   937  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   938  			0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00,
   939  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   940  			0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e,
   941  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01,
   942  			0x03,
   943  			'm', 'i', 'n', 'f',
   944  			0x00, 0x00, 0x00, 0x10,
   945  			's', 'm', 'h', 'd',
   946  			0x00, 0x00, 0x00,
   947  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   948  			0x24,
   949  			'd', 'i', 'n', 'f',
   950  			0x00, 0x00, 0x00,
   951  			0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00,
   952  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   953  			0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00,
   954  			0x01, 0x00, 0x00, 0x00, 0xc7, 0x73, 0x74, 0x62,
   955  			0x6c, 0x00, 0x00, 0x00, 0x7b, 0x73, 0x74, 0x73,
   956  			0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   957  			0x01, 0x00, 0x00, 0x00, 0x6b,
   958  			'm', 'p', '4', 'a',
   959  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   960  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   961  			0x00, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00,
   962  			0x00, 0xac, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00,
   963  			0x33,
   964  			'e', 's', 'd', 's',
   965  			0x00, 0x00, 0x00,
   966  			0x00, 0x03, 0x80, 0x80, 0x80, 0x22, 0x00, 0x01,
   967  			0x00, 0x04, 0x80, 0x80, 0x80, 0x14, 0x40, 0x15,
   968  			0x00, 0x00, 0x00, 0x00, 0x01, 0xf7, 0x39, 0x00,
   969  			0x01, 0xf7, 0x39, 0x05, 0x80, 0x80, 0x80, 0x02,
   970  			0x12, 0x10, 0x06, 0x80, 0x80, 0x80, 0x01, 0x02,
   971  			0x00, 0x00, 0x00, 0x14,
   972  			'b', 't', 'r', 't',
   973  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf7, 0x39,
   974  			0x00, 0x01, 0xf7, 0x39, 0x00, 0x00, 0x00, 0x10,
   975  			0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00,
   976  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
   977  			0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00,
   978  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
   979  			0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00,
   980  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   981  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f,
   982  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   983  			0x00, 0x00, 0x00, 0x28,
   984  			'm', 'v', 'e', 'x',
   985  			0x00, 0x00, 0x00, 0x20,
   986  			't', 'r', 'e', 'x',
   987  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
   988  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   989  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   990  		},
   991  		Init{
   992  			Tracks: []*InitTrack{
   993  				{
   994  					ID:        1,
   995  					TimeScale: uint32(testAudioTrack.SampleRate),
   996  					Codec:     testAudioTrack,
   997  				},
   998  			},
   999  		},
  1000  	},
  1001  	{
  1002  		"mpeg-1 audio",
  1003  		[]byte{
  1004  			0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70,
  1005  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
  1006  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
  1007  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
  1008  			0x00, 0x00, 0x02, 0x51, 0x6d, 0x6f, 0x6f, 0x76,
  1009  			0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64,
  1010  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1011  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
  1012  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1013  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1014  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1015  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1016  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1017  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1018  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1019  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1020  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1021  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1022  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xb5,
  1023  			0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
  1024  			0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03,
  1025  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1026  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  1027  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1028  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  1029  			0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1030  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1031  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1032  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1033  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1034  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1035  			0x00, 0x00, 0x01, 0x51, 0x6d, 0x64, 0x69, 0x61,
  1036  			0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
  1037  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1038  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90,
  1039  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
  1040  			0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72,
  1041  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1042  			0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00,
  1043  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1044  			0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e,
  1045  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00,
  1046  			0xfc, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
  1047  			0x10, 0x73, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00,
  1048  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1049  			0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
  1050  			0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00,
  1051  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1052  			0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00,
  1053  			0x01, 0x00, 0x00, 0x00, 0xc0, 0x73, 0x74, 0x62,
  1054  			0x6c, 0x00, 0x00, 0x00, 0x74, 0x73, 0x74, 0x73,
  1055  			0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1056  			0x01, 0x00, 0x00, 0x00, 0x64, 0x6d, 0x70, 0x34,
  1057  			0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1058  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1059  			0x00, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00,
  1060  			0x00, 0xbb, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  1061  			0x2c, 0x65, 0x73, 0x64, 0x73, 0x00, 0x00, 0x00,
  1062  			0x00, 0x03, 0x80, 0x80, 0x80, 0x1b, 0x00, 0x01,
  1063  			0x00, 0x04, 0x80, 0x80, 0x80, 0x0d, 0x6b, 0x15,
  1064  			0x00, 0x00, 0x00, 0x00, 0x01, 0xf7, 0x39, 0x00,
  1065  			0x01, 0xf7, 0x39, 0x06, 0x80, 0x80, 0x80, 0x01,
  1066  			0x02, 0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72,
  1067  			0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf7,
  1068  			0x39, 0x00, 0x01, 0xf7, 0x39, 0x00, 0x00, 0x00,
  1069  			0x10, 0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00,
  1070  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1071  			0x10, 0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00,
  1072  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1073  			0x14, 0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00,
  1074  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1075  			0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63,
  1076  			0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1077  			0x00, 0x00, 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65,
  1078  			0x78, 0x00, 0x00, 0x00, 0x20, 0x74, 0x72, 0x65,
  1079  			0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1080  			0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1081  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1082  			0x00,
  1083  		},
  1084  		Init{
  1085  			Tracks: []*InitTrack{
  1086  				{
  1087  					ID:        1,
  1088  					TimeScale: 90000,
  1089  					Codec: &CodecMPEG1Audio{
  1090  						SampleRate:   48000,
  1091  						ChannelCount: 2,
  1092  					},
  1093  				},
  1094  			},
  1095  		},
  1096  	},
  1097  	{
  1098  		"ac-3",
  1099  		[]byte{
  1100  			0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70,
  1101  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
  1102  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
  1103  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
  1104  			0x00, 0x00, 0x02, 0x30, 0x6d, 0x6f, 0x6f, 0x76,
  1105  			0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64,
  1106  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1107  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
  1108  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1109  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1110  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1111  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1112  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1113  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1114  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1115  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1116  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1117  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1118  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x94,
  1119  			0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
  1120  			0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03,
  1121  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1122  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  1123  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1124  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  1125  			0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1126  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1127  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1128  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1129  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1130  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1131  			0x00, 0x00, 0x01, 0x30, 0x6d, 0x64, 0x69, 0x61,
  1132  			0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
  1133  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1134  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90,
  1135  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
  1136  			0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72,
  1137  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1138  			0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00,
  1139  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1140  			0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e,
  1141  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00,
  1142  			0xdb, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
  1143  			0x10, 0x73, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00,
  1144  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1145  			0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
  1146  			0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00,
  1147  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1148  			0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00,
  1149  			0x01, 0x00, 0x00, 0x00, 0x9f, 0x73, 0x74, 0x62,
  1150  			0x6c, 0x00, 0x00, 0x00, 0x53, 0x73, 0x74, 0x73,
  1151  			0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1152  			0x01, 0x00, 0x00, 0x00, 0x43, 0x61, 0x63, 0x2d,
  1153  			0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1154  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1155  			0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00,
  1156  			0x00, 0xbb, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  1157  			0x0b, 0x64, 0x61, 0x63, 0x33, 0x10, 0x3d, 0xe0,
  1158  			0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74,
  1159  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf7, 0x39,
  1160  			0x00, 0x01, 0xf7, 0x39, 0x00, 0x00, 0x00, 0x10,
  1161  			0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00,
  1162  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
  1163  			0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00,
  1164  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
  1165  			0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00,
  1166  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1167  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f,
  1168  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1169  			0x00, 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78,
  1170  			0x00, 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78,
  1171  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  1172  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  1173  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1174  		},
  1175  		Init{
  1176  			Tracks: []*InitTrack{
  1177  				{
  1178  					ID:        1,
  1179  					TimeScale: 90000,
  1180  					Codec: &CodecAC3{
  1181  						SampleRate:   48000,
  1182  						ChannelCount: 6,
  1183  						Fscod:        0x0,
  1184  						Bsid:         0x8,
  1185  						Bsmod:        0x0,
  1186  						Acmod:        0x7,
  1187  						LfeOn:        true,
  1188  						BitRateCode:  0xf,
  1189  					},
  1190  				},
  1191  			},
  1192  		},
  1193  	},
  1194  	{
  1195  		"lpcm",
  1196  		[]byte{
  1197  			0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70,
  1198  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
  1199  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
  1200  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
  1201  			0x00, 0x00, 0x02, 0x33, 0x6d, 0x6f, 0x6f, 0x76,
  1202  			0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64,
  1203  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1204  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
  1205  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1206  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1207  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1208  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1209  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1210  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1211  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1212  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1213  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1214  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1215  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x97,
  1216  			0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
  1217  			0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03,
  1218  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1219  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  1220  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1221  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  1222  			0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1223  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1224  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1225  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1226  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1227  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1228  			0x00, 0x00, 0x01, 0x33, 0x6d, 0x64, 0x69, 0x61,
  1229  			0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
  1230  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1231  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90,
  1232  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
  1233  			0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72,
  1234  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1235  			0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00,
  1236  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1237  			0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e,
  1238  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00,
  1239  			0xde, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
  1240  			0x10, 0x73, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00,
  1241  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1242  			0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
  1243  			0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00,
  1244  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1245  			0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00,
  1246  			0x01, 0x00, 0x00, 0x00, 0xa2, 0x73, 0x74, 0x62,
  1247  			0x6c, 0x00, 0x00, 0x00, 0x56, 0x73, 0x74, 0x73,
  1248  			0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1249  			0x01, 0x00, 0x00, 0x00, 0x46, 0x69, 0x70, 0x63,
  1250  			0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1251  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1252  			0x00, 0x00, 0x02, 0x00, 0x18, 0x00, 0x00, 0x00,
  1253  			0x00, 0xbb, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  1254  			0x0e, 0x70, 0x63, 0x6d, 0x43, 0x00, 0x00, 0x00,
  1255  			0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x14, 0x62,
  1256  			0x74, 0x72, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00,
  1257  			0x01, 0xf7, 0x39, 0x00, 0x01, 0xf7, 0x39, 0x00,
  1258  			0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73, 0x00,
  1259  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1260  			0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63, 0x00,
  1261  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1262  			0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a, 0x00,
  1263  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1264  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73,
  1265  			0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00,
  1266  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6d,
  1267  			0x76, 0x65, 0x78, 0x00, 0x00, 0x00, 0x20, 0x74,
  1268  			0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00,
  1269  			0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
  1270  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1271  			0x00, 0x00, 0x00,
  1272  		},
  1273  		Init{
  1274  			Tracks: []*InitTrack{
  1275  				{
  1276  					ID:        1,
  1277  					TimeScale: 90000,
  1278  					Codec: &CodecLPCM{
  1279  						BitDepth:     24,
  1280  						SampleRate:   48000,
  1281  						ChannelCount: 2,
  1282  					},
  1283  				},
  1284  			},
  1285  		},
  1286  	},
  1287  	{
  1288  		"h264 + mpeg-4 audio",
  1289  		[]byte{
  1290  			0x00, 0x00, 0x00, 0x20,
  1291  			'f', 't', 'y', 'p',
  1292  			0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
  1293  			0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
  1294  			0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
  1295  			0x00, 0x00, 0x04, 0x64,
  1296  			'm', 'o', 'o', 'v',
  1297  			0x00, 0x00, 0x00, 0x6c,
  1298  			'm', 'v', 'h', 'd',
  1299  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1300  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8,
  1301  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1302  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1303  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1304  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1305  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1306  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1307  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1308  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1309  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1310  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1311  			0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xec,
  1312  			't', 'r', 'a', 'k',
  1313  			0x00, 0x00, 0x00, 0x5c,
  1314  			't', 'k', 'h', 'd',
  1315  			0x00, 0x00, 0x00, 0x03,
  1316  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1317  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  1318  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1319  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1320  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1321  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1322  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1323  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1324  			0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1325  			0x07, 0x80, 0x00, 0x00, 0x04, 0x38, 0x00, 0x00,
  1326  			0x00, 0x00, 0x01, 0x88,
  1327  			'm', 'd', 'i', 'a',
  1328  			0x00, 0x00, 0x00, 0x20,
  1329  			'm', 'd', 'h', 'd',
  1330  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1331  			0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90,
  1332  			0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
  1333  			0x00, 0x00, 0x00, 0x2d,
  1334  			'h', 'd', 'l', 'r',
  1335  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1336  			0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00,
  1337  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1338  			0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e,
  1339  			0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01,
  1340  			0x33,
  1341  			'm', 'i', 'n', 'f',
  1342  			0x00, 0x00, 0x00, 0x14,
  1343  			'v', 'm', 'h', 'd',
  1344  			0x00, 0x00, 0x00,
  1345  			0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1346  			0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e,
  1347  			0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65,
  1348  			0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1349  			0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c,
  1350  			0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1351  			0xf3, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00,
  1352  			0xa7, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00,
  1353  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1354  			0x97, 0x61, 0x76, 0x63, 0x31, 0x00, 0x00, 0x00,
  1355  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1356  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1357  			0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x04,
  1358  			0x38, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00,
  1359  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
  1360  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1361  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1362  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1363  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1364  			0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x61,
  1365  			0x76, 0x63, 0x43, 0x01, 0x42, 0xc0, 0x28, 0x03,
  1366  			0x01, 0x00, 0x19, 0x67, 0x42, 0xc0, 0x28, 0xd9,
  1367  			0x00, 0x78, 0x02, 0x27, 0xe5, 0x84, 0x00, 0x00,
  1368  			0x03, 0x00, 0x04, 0x00, 0x00, 0x03, 0x00, 0xf0,
  1369  			0x3c, 0x60, 0xc9, 0x20, 0x01, 0x00, 0x01, 0x08,
  1370  			0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74,
  1371  			0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x42, 0x40,
  1372  			0x00, 0x0f, 0x42, 0x40, 0x00, 0x00, 0x00, 0x10,
  1373  			0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00,
  1374  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
  1375  			0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00,
  1376  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
  1377  			0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00,
  1378  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1379  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f,
  1380  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1381  			0x00, 0x00, 0x01, 0xbc,
  1382  			't', 'r', 'a', 'k',
  1383  			0x00, 0x00, 0x00, 0x5c,
  1384  			't', 'k', 'h', 'd',
  1385  			0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
  1386  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
  1387  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1388  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1389  			0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
  1390  			0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1391  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1392  			0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1393  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1394  			0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1395  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x58,
  1396  			'm', 'd', 'i', 'a',
  1397  			0x00, 0x00, 0x00, 0x20,
  1398  			'm', 'd', 'h', 'd',
  1399  			0x00, 0x00, 0x00, 0x00,
  1400  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1401  			0x00, 0x00, 0xac, 0x44, 0x00, 0x00, 0x00, 0x00,
  1402  			0x55, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d,
  1403  			'h', 'd', 'l', 'r',
  1404  			0x00, 0x00, 0x00, 0x00,
  1405  			0x00, 0x00, 0x00, 0x00, 0x73, 0x6f, 0x75, 0x6e,
  1406  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1407  			0x00, 0x00, 0x00, 0x00, 0x53, 0x6f, 0x75, 0x6e,
  1408  			0x64, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72,
  1409  			0x00, 0x00, 0x00, 0x01, 0x03, 0x6d, 0x69, 0x6e,
  1410  			0x66, 0x00, 0x00, 0x00, 0x10,
  1411  			's', 'm', 'h', 'd',
  1412  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1413  			0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e,
  1414  			0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65,
  1415  			0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1416  			0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c,
  1417  			0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1418  			0xc7, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00,
  1419  			0x7b, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00,
  1420  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1421  			0x6b, 0x6d, 0x70, 0x34, 0x61, 0x00, 0x00, 0x00,
  1422  			0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1423  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
  1424  			0x10, 0x00, 0x00, 0x00, 0x00, 0xac, 0x44, 0x00,
  1425  			0x00, 0x00, 0x00, 0x00, 0x33, 0x65, 0x73, 0x64,
  1426  			0x73, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x80,
  1427  			0x80, 0x22, 0x00, 0x02, 0x00, 0x04, 0x80, 0x80,
  1428  			0x80, 0x14, 0x40, 0x15, 0x00, 0x00, 0x00, 0x00,
  1429  			0x01, 0xf7, 0x39, 0x00, 0x01, 0xf7, 0x39, 0x05,
  1430  			0x80, 0x80, 0x80, 0x02, 0x12, 0x10, 0x06, 0x80,
  1431  			0x80, 0x80, 0x01, 0x02, 0x00, 0x00, 0x00, 0x14,
  1432  			0x62, 0x74, 0x72, 0x74, 0x00, 0x00, 0x00, 0x00,
  1433  			0x00, 0x01, 0xf7, 0x39, 0x00, 0x01, 0xf7, 0x39,
  1434  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73,
  1435  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1436  			0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63,
  1437  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1438  			0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a,
  1439  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1440  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
  1441  			0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00,
  1442  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48,
  1443  			0x6d, 0x76, 0x65, 0x78, 0x00, 0x00, 0x00, 0x20,
  1444  			0x74, 0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00,
  1445  			0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
  1446  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1447  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
  1448  			0x74, 0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00,
  1449  			0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
  1450  			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1451  			0x00, 0x00, 0x00, 0x00,
  1452  		},
  1453  		Init{
  1454  			Tracks: []*InitTrack{
  1455  				{
  1456  					ID:        1,
  1457  					TimeScale: 90000,
  1458  					Codec:     testVideoTrack,
  1459  				},
  1460  				{
  1461  					ID:        2,
  1462  					TimeScale: uint32(testAudioTrack.SampleRate),
  1463  					Codec:     testAudioTrack,
  1464  				},
  1465  			},
  1466  		},
  1467  	},
  1468  }
  1469  
  1470  func TestInitUnmarshal(t *testing.T) {
  1471  	for _, ca := range casesInit {
  1472  		t.Run(ca.name, func(t *testing.T) {
  1473  			var init Init
  1474  			err := init.Unmarshal(bytes.NewReader(ca.enc))
  1475  			require.NoError(t, err)
  1476  			require.Equal(t, ca.dec, init)
  1477  		})
  1478  	}
  1479  }
  1480  
  1481  func TestInitUnmarshalExternal(t *testing.T) {
  1482  	for _, ca := range []struct {
  1483  		name string
  1484  		byts []byte
  1485  		init Init
  1486  	}{
  1487  		{
  1488  			"h264",
  1489  			[]byte{
  1490  				0x00, 0x00, 0x00, 0x1c,
  1491  				'f', 't', 'y', 'p',
  1492  				0x64, 0x61, 0x73, 0x68, 0x00, 0x00, 0x00, 0x01,
  1493  				0x69, 0x73, 0x6f, 0x6d, 0x61, 0x76, 0x63, 0x31,
  1494  				0x64, 0x61, 0x73, 0x68, 0x00, 0x00, 0x02, 0x92,
  1495  				'm', 'o', 'o', 'v',
  1496  				0x00, 0x00, 0x00, 0x6c,
  1497  				'm', 'v', 'h', 'd',
  1498  				0x00, 0x00, 0x00, 0x00,
  1499  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1500  				0x00, 0x98, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00,
  1501  				0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1502  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1503  				0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1504  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1505  				0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1506  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1507  				0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1508  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1509  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1510  				0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
  1511  				0x00, 0x00, 0x01, 0xf6,
  1512  				't', 'r', 'a', 'k',
  1513  				0x00, 0x00, 0x00, 0x5c,
  1514  				't', 'k', 'h', 'd',
  1515  				0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
  1516  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
  1517  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1518  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1519  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1520  				0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1521  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1522  				0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1523  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1524  				0x40, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00,
  1525  				0x02, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x92,
  1526  				'm', 'd', 'i', 'a',
  1527  				0x00, 0x00, 0x00, 0x20,
  1528  				'm', 'd', 'h', 'd',
  1529  				0x00, 0x00, 0x00, 0x00,
  1530  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1531  				0x00, 0x98, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00,
  1532  				0x55, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
  1533  				'h', 'd', 'l', 'r',
  1534  				0x00, 0x00, 0x00, 0x00,
  1535  				0x00, 0x00, 0x00, 0x00, 0x76, 0x69, 0x64, 0x65,
  1536  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1537  				0x00, 0x00, 0x00, 0x00, 0x42, 0x72, 0x6f, 0x61,
  1538  				0x64, 0x70, 0x65, 0x61, 0x6b, 0x20, 0x56, 0x69,
  1539  				0x64, 0x65, 0x6f, 0x20, 0x48, 0x61, 0x6e, 0x64,
  1540  				0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 0x32,
  1541  				'm', 'i', 'n', 'f',
  1542  				0x00, 0x00, 0x00, 0x14,
  1543  				'v', 'm', 'h', 'd',
  1544  				0x00, 0x00, 0x00, 0x01,
  1545  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1546  				0x00, 0x00, 0x00, 0x24,
  1547  				'd', 'i', 'n', 'f',
  1548  				0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 0x66,
  1549  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  1550  				0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 0x20,
  1551  				0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xf2,
  1552  				0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 0xa6,
  1553  				0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 0x00,
  1554  				0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x96,
  1555  				0x61, 0x76, 0x63, 0x31, 0x00, 0x00, 0x00, 0x00,
  1556  				0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  1557  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1558  				0x00, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x02, 0x1c,
  1559  				0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00,
  1560  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x68,
  1561  				0x32, 0x36, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00,
  1562  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1563  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1564  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
  1565  				0xff, 0xff, 0x00, 0x00, 0x00, 0x30, 0x61, 0x76,
  1566  				0x63, 0x43, 0x01, 0x42, 0xc0, 0x1f, 0xff, 0xe1,
  1567  				0x00, 0x19, 0x67, 0x42, 0xc0, 0x1f, 0xd9, 0x00,
  1568  				0xf0, 0x11, 0x7e, 0xf0, 0x11, 0x00, 0x00, 0x03,
  1569  				0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x30, 0x8f,
  1570  				0x18, 0x32, 0x48, 0x01, 0x00, 0x04, 0x68, 0xcb,
  1571  				0x8c, 0xb2, 0x00, 0x00, 0x00, 0x10, 0x70, 0x61,
  1572  				0x73, 0x70, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1573  				0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74,
  1574  				0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1575  				0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74,
  1576  				0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1577  				0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x73, 0x74,
  1578  				0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1579  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1580  				0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 0x00, 0x00,
  1581  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1582  				0x00, 0x28, 0x6d, 0x76, 0x65, 0x78, 0x00, 0x00,
  1583  				0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00, 0x00,
  1584  				0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1585  				0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1586  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1587  			},
  1588  			Init{
  1589  				Tracks: []*InitTrack{
  1590  					{
  1591  						ID:        256,
  1592  						TimeScale: 10000000,
  1593  						Codec: &CodecH264{
  1594  							SPS: []byte{
  1595  								0x67, 0x42, 0xc0, 0x1f, 0xd9, 0x00, 0xf0, 0x11,
  1596  								0x7e, 0xf0, 0x11, 0x00, 0x00, 0x03, 0x00, 0x01,
  1597  								0x00, 0x00, 0x03, 0x00, 0x30, 0x8f, 0x18, 0x32,
  1598  								0x48,
  1599  							},
  1600  							PPS: []byte{
  1601  								0x68, 0xcb, 0x8c, 0xb2,
  1602  							},
  1603  						},
  1604  					},
  1605  				},
  1606  			},
  1607  		},
  1608  		{
  1609  			"h265 apple",
  1610  			[]byte{
  1611  				0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70,
  1612  				0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
  1613  				0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
  1614  				0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
  1615  				0x00, 0x00, 0x04, 0x96, 0x6d, 0x6f, 0x6f, 0x76,
  1616  				0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64,
  1617  				0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6, 0x84,
  1618  				0xd5, 0x5b, 0xc6, 0x84, 0x00, 0x00, 0x02, 0x58,
  1619  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1620  				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1621  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1622  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1623  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1624  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1625  				0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1626  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1627  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1628  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1629  				0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x02, 0x70,
  1630  				0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
  1631  				0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x01,
  1632  				0xd5, 0x5b, 0xc6, 0x84, 0xd5, 0x5b, 0xc6, 0x84,
  1633  				0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  1634  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1635  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1636  				0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1637  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1638  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1639  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1640  				0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1641  				0x03, 0xc0, 0x00, 0x00, 0x02, 0x1c, 0x00, 0x00,
  1642  				0x00, 0x00, 0x02, 0x0c, 0x6d, 0x64, 0x69, 0x61,
  1643  				0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
  1644  				0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6, 0x84,
  1645  				0xd5, 0x5b, 0xc6, 0x84, 0x00, 0x00, 0x17, 0x70,
  1646  				0x00, 0x00, 0x00, 0x00, 0x15, 0xc7, 0x00, 0x00,
  1647  				0x00, 0x00, 0x00, 0x31, 0x68, 0x64, 0x6c, 0x72,
  1648  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1649  				0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00,
  1650  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1651  				0x43, 0x6f, 0x72, 0x65, 0x20, 0x4d, 0x65, 0x64,
  1652  				0x69, 0x61, 0x20, 0x56, 0x69, 0x64, 0x65, 0x6f,
  1653  				0x00, 0x00, 0x00, 0x01, 0xb3, 0x6d, 0x69, 0x6e,
  1654  				0x66, 0x00, 0x00, 0x00, 0x14, 0x76, 0x6d, 0x68,
  1655  				0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1656  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1657  				0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
  1658  				0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00,
  1659  				0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1660  				0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00,
  1661  				0x01, 0x00, 0x00, 0x01, 0x73, 0x73, 0x74, 0x62,
  1662  				0x6c, 0x00, 0x00, 0x01, 0x27, 0x73, 0x74, 0x73,
  1663  				0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1664  				0x01, 0x00, 0x00, 0x01, 0x17, 0x68, 0x76, 0x63,
  1665  				0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1666  				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1667  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1668  				0x00, 0x03, 0xc0, 0x02, 0x1c, 0x00, 0x48, 0x00,
  1669  				0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00,
  1670  				0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  1671  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1672  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1673  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1674  				0x00, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0x00,
  1675  				0x00, 0x00, 0x8a, 0x68, 0x76, 0x63, 0x43, 0x01,
  1676  				0x02, 0x00, 0x00, 0x00, 0x04, 0xb0, 0x00, 0x00,
  1677  				0x00, 0x00, 0x00, 0x7b, 0xf0, 0x00, 0xfc, 0xfd,
  1678  				0xfa, 0xfa, 0x00, 0x00, 0x0f, 0x03, 0xa0, 0x00,
  1679  				0x01, 0x00, 0x18, 0x40, 0x01, 0x0c, 0x01, 0xff,
  1680  				0xff, 0x02, 0x20, 0x00, 0x00, 0x03, 0x00, 0xb0,
  1681  				0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x7b,
  1682  				0x18, 0xb0, 0x24, 0xa1, 0x00, 0x01, 0x00, 0x3c,
  1683  				0x42, 0x01, 0x01, 0x02, 0x20, 0x00, 0x00, 0x03,
  1684  				0x00, 0xb0, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
  1685  				0x00, 0x7b, 0xa0, 0x07, 0x82, 0x00, 0x88, 0x7d,
  1686  				0xb6, 0x71, 0x8b, 0x92, 0x44, 0x80, 0x53, 0x88,
  1687  				0x88, 0x92, 0xcf, 0x24, 0xa6, 0x92, 0x72, 0xc9,
  1688  				0x12, 0x49, 0x22, 0xdc, 0x91, 0xaa, 0x48, 0xfc,
  1689  				0xa2, 0x23, 0xff, 0x00, 0x01, 0x00, 0x01, 0x6a,
  1690  				0x02, 0x02, 0x02, 0x01, 0xa2, 0x00, 0x01, 0x00,
  1691  				0x08, 0x44, 0x01, 0xc0, 0x25, 0x2f, 0x05, 0x32,
  1692  				0x40, 0x00, 0x00, 0x00, 0x13, 0x63, 0x6f, 0x6c,
  1693  				0x72, 0x6e, 0x63, 0x6c, 0x78, 0x00, 0x01, 0x00,
  1694  				0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0a,
  1695  				0x66, 0x69, 0x65, 0x6c, 0x01, 0x00, 0x00, 0x00,
  1696  				0x00, 0x0a, 0x63, 0x68, 0x72, 0x6d, 0x00, 0x00,
  1697  				0x00, 0x00, 0x00, 0x10, 0x70, 0x61, 0x73, 0x70,
  1698  				0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
  1699  				0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73,
  1700  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1701  				0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63,
  1702  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1703  				0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a,
  1704  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1705  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
  1706  				0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00,
  1707  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6a,
  1708  				0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
  1709  				0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x01,
  1710  				0xd5, 0x5b, 0xc6, 0x84, 0xd5, 0x5b, 0xc6, 0x84,
  1711  				0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
  1712  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1713  				0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
  1714  				0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1715  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1716  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1717  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1718  				0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1719  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1720  				0x00, 0x00, 0x01, 0x06, 0x6d, 0x64, 0x69, 0x61,
  1721  				0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
  1722  				0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6, 0x84,
  1723  				0xd5, 0x5b, 0xc6, 0x84, 0x00, 0x00, 0x75, 0x30,
  1724  				0x00, 0x00, 0x00, 0x00, 0x15, 0xc7, 0x00, 0x00,
  1725  				0x00, 0x00, 0x00, 0x3a, 0x68, 0x64, 0x6c, 0x72,
  1726  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1727  				0x63, 0x6c, 0x63, 0x70, 0x00, 0x00, 0x00, 0x00,
  1728  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1729  				0x43, 0x6f, 0x72, 0x65, 0x20, 0x4d, 0x65, 0x64,
  1730  				0x69, 0x61, 0x20, 0x43, 0x6c, 0x6f, 0x73, 0x65,
  1731  				0x64, 0x20, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f,
  1732  				0x6e, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x6d, 0x69,
  1733  				0x6e, 0x66, 0x00, 0x00, 0x00, 0x0c, 0x6e, 0x6d,
  1734  				0x68, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1735  				0x00, 0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00,
  1736  				0x00, 0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00,
  1737  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1738  				0x00, 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00,
  1739  				0x00, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x73, 0x74,
  1740  				0x62, 0x6c, 0x00, 0x00, 0x00, 0x20, 0x73, 0x74,
  1741  				0x73, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1742  				0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x63, 0x36,
  1743  				0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1744  				0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74,
  1745  				0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1746  				0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74,
  1747  				0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1748  				0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x73, 0x74,
  1749  				0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1750  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1751  				0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 0x00, 0x00,
  1752  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1753  				0x00, 0x48, 0x6d, 0x76, 0x65, 0x78, 0x00, 0x00,
  1754  				0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00, 0x00,
  1755  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1756  				0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1757  				0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
  1758  				0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00, 0x00,
  1759  				0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
  1760  				0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1761  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1762  			},
  1763  			Init{
  1764  				Tracks: []*InitTrack{{
  1765  					ID:        1,
  1766  					TimeScale: 6000,
  1767  					Codec: &CodecH265{
  1768  						VPS: []byte{
  1769  							0x40, 0x01, 0x0c, 0x01, 0xff, 0xff, 0x02, 0x20,
  1770  							0x00, 0x00, 0x03, 0x00, 0xb0, 0x00, 0x00, 0x03,
  1771  							0x00, 0x00, 0x03, 0x00, 0x7b, 0x18, 0xb0, 0x24,
  1772  						},
  1773  						SPS: []byte{
  1774  							0x42, 0x01, 0x01, 0x02, 0x20, 0x00, 0x00, 0x03,
  1775  							0x00, 0xb0, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
  1776  							0x00, 0x7b, 0xa0, 0x07, 0x82, 0x00, 0x88, 0x7d,
  1777  							0xb6, 0x71, 0x8b, 0x92, 0x44, 0x80, 0x53, 0x88,
  1778  							0x88, 0x92, 0xcf, 0x24, 0xa6, 0x92, 0x72, 0xc9,
  1779  							0x12, 0x49, 0x22, 0xdc, 0x91, 0xaa, 0x48, 0xfc,
  1780  							0xa2, 0x23, 0xff, 0x00, 0x01, 0x00, 0x01, 0x6a,
  1781  							0x02, 0x02, 0x02, 0x01,
  1782  						},
  1783  						PPS: []byte{
  1784  							0x44, 0x01, 0xc0, 0x25, 0x2f, 0x05, 0x32, 0x40,
  1785  						},
  1786  					},
  1787  				}},
  1788  			},
  1789  		},
  1790  		{
  1791  			"mpeg-4 audio",
  1792  			[]byte{
  1793  				0x00, 0x00, 0x00, 0x18,
  1794  				'f', 't', 'y', 'p',
  1795  				0x69, 0x73, 0x6f, 0x35, 0x00, 0x00, 0x00, 0x01,
  1796  				0x69, 0x73, 0x6f, 0x35, 0x64, 0x61, 0x73, 0x68,
  1797  				0x00, 0x00, 0x02, 0x43,
  1798  				'm', 'o', 'o', 'v',
  1799  				0x00, 0x00, 0x00, 0x6c,
  1800  				'm', 'v', 'h', 'd',
  1801  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1802  				0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x96, 0x80,
  1803  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1804  				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1805  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1806  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1807  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1808  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1809  				0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1810  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1811  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1812  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1813  				0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xa7,
  1814  				't', 'r', 'a', 'k',
  1815  				0x00, 0x00, 0x00, 0x5c,
  1816  				't', 'k', 'h', 'd',
  1817  				0x00, 0x00, 0x00, 0x07,
  1818  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1819  				0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
  1820  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1821  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1822  				0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1823  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1824  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1825  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1826  				0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1827  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1828  				0x00, 0x00, 0x01, 0x43,
  1829  				'm', 'd', 'i', 'a',
  1830  				0x00, 0x00, 0x00, 0x20,
  1831  				'm', 'd', 'h', 'd',
  1832  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1833  				0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x96, 0x80,
  1834  				0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00,
  1835  				0x00, 0x00, 0x00, 0x38,
  1836  				'h', 'd', 'l', 'r',
  1837  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1838  				0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00,
  1839  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1840  				0x42, 0x72, 0x6f, 0x61, 0x64, 0x70, 0x65, 0x61,
  1841  				0x6b, 0x20, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x20,
  1842  				0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x00,
  1843  				0x00, 0x00, 0x00, 0xe3,
  1844  				'm', 'i', 'n', 'f',
  1845  				0x00, 0x00, 0x00, 0x10,
  1846  				's', 'm', 'h', 'd',
  1847  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1848  				0x00, 0x00, 0x00, 0x24,
  1849  				'd', 'i', 'n', 'f',
  1850  				0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 0x66,
  1851  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  1852  				0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 0x20,
  1853  				0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa7,
  1854  				0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 0x5b,
  1855  				0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 0x00,
  1856  				0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4b,
  1857  				0x6d, 0x70, 0x34, 0x61, 0x00, 0x00, 0x00, 0x00,
  1858  				0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  1859  				0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10,
  1860  				0x00, 0x00, 0x00, 0x00, 0xbb, 0x80, 0x00, 0x00,
  1861  				0x00, 0x00, 0x00, 0x27, 0x65, 0x73, 0x64, 0x73,
  1862  				0x00, 0x00, 0x00, 0x00, 0x03, 0x19, 0x00, 0x00,
  1863  				0x00, 0x04, 0x11, 0x40, 0x15, 0x00, 0x30, 0x00,
  1864  				0x00, 0x11, 0x94, 0x00, 0x00, 0x11, 0x94, 0x00,
  1865  				0x05, 0x02, 0x11, 0x90, 0x06, 0x01, 0x02, 0x00,
  1866  				0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73, 0x00,
  1867  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1868  				0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63, 0x00,
  1869  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1870  				0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a, 0x00,
  1871  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1872  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73,
  1873  				0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00,
  1874  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6d,
  1875  				0x76, 0x65, 0x78, 0x00, 0x00, 0x00, 0x20, 0x74,
  1876  				0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00,
  1877  				0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
  1878  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1879  				0x00, 0x00, 0x00,
  1880  			},
  1881  			Init{
  1882  				Tracks: []*InitTrack{
  1883  					{
  1884  						ID:        257,
  1885  						TimeScale: 10000000,
  1886  						Codec: &CodecMPEG4Audio{
  1887  							Config: mpeg4audio.Config{
  1888  								Type:         mpeg4audio.ObjectTypeAACLC,
  1889  								SampleRate:   48000,
  1890  								ChannelCount: 2,
  1891  							},
  1892  						},
  1893  					},
  1894  				},
  1895  			},
  1896  		},
  1897  		{
  1898  			"ignored closed captions",
  1899  			[]byte{
  1900  				0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70,
  1901  				0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01,
  1902  				0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32,
  1903  				0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66,
  1904  				0x00, 0x00, 0x04, 0x3f, 0x6d, 0x6f, 0x6f, 0x76,
  1905  				0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64,
  1906  				0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6, 0x62,
  1907  				0xd5, 0x5b, 0xc6, 0x62, 0x00, 0x00, 0x02, 0x58,
  1908  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1909  				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1910  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1911  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1912  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1913  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1914  				0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1915  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1916  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1917  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1918  				0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x02, 0x19,
  1919  				0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c,
  1920  				0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x01,
  1921  				0xd5, 0x5b, 0xc6, 0x62, 0xd5, 0x5b, 0xc6, 0x62,
  1922  				0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  1923  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1924  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1925  				0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1926  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1927  				0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
  1928  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1929  				0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
  1930  				0x07, 0x80, 0x00, 0x00, 0x04, 0x38, 0x00, 0x00,
  1931  				0x00, 0x00, 0x01, 0xb5, 0x6d, 0x64, 0x69, 0x61,
  1932  				0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64,
  1933  				0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6, 0x62,
  1934  				0xd5, 0x5b, 0xc6, 0x62, 0x00, 0x00, 0x17, 0x70,
  1935  				0x00, 0x00, 0x00, 0x00, 0x15, 0xc7, 0x00, 0x00,
  1936  				0x00, 0x00, 0x00, 0x31, 0x68, 0x64, 0x6c, 0x72,
  1937  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1938  				0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00,
  1939  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1940  				0x43, 0x6f, 0x72, 0x65, 0x20, 0x4d, 0x65, 0x64,
  1941  				0x69, 0x61, 0x20, 0x56, 0x69, 0x64, 0x65, 0x6f,
  1942  				0x00, 0x00, 0x00, 0x01, 0x5c, 0x6d, 0x69, 0x6e,
  1943  				0x66, 0x00, 0x00, 0x00, 0x14, 0x76, 0x6d, 0x68,
  1944  				0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1945  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1946  				0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00,
  1947  				0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00,
  1948  				0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1949  				0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00,
  1950  				0x01, 0x00, 0x00, 0x01, 0x1c, 0x73, 0x74, 0x62,
  1951  				0x6c, 0x00, 0x00, 0x00, 0xd0, 0x73, 0x74, 0x73,
  1952  				0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1953  				0x01, 0x00, 0x00, 0x00, 0xc0, 0x61, 0x76, 0x63,
  1954  				0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1955  				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1956  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1957  				0x00, 0x07, 0x80, 0x04, 0x38, 0x00, 0x48, 0x00,
  1958  				0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00,
  1959  				0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  1960  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1961  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1962  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1963  				0x00, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0x00,
  1964  				0x00, 0x00, 0x33, 0x61, 0x76, 0x63, 0x43, 0x01,
  1965  				0x64, 0x00, 0x2a, 0xff, 0xe1, 0x00, 0x1b, 0x27,
  1966  				0x64, 0x00, 0x2a, 0xac, 0x52, 0x14, 0x07, 0x80,
  1967  				0x22, 0x7e, 0x5f, 0xfc, 0x00, 0x04, 0x00, 0x05,
  1968  				0xa8, 0x08, 0x08, 0x0d, 0xb6, 0x15, 0xaf, 0x7b,
  1969  				0xe0, 0x20, 0x01, 0x00, 0x05, 0x28, 0xf9, 0x09,
  1970  				0x09, 0xcb, 0x00, 0x00, 0x00, 0x13, 0x63, 0x6f,
  1971  				0x6c, 0x72, 0x6e, 0x63, 0x6c, 0x78, 0x00, 0x01,
  1972  				0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  1973  				0x0a, 0x66, 0x69, 0x65, 0x6c, 0x01, 0x00, 0x00,
  1974  				0x00, 0x00, 0x0a, 0x63, 0x68, 0x72, 0x6d, 0x01,
  1975  				0x01, 0x00, 0x00, 0x00, 0x10, 0x70, 0x61, 0x73,
  1976  				0x70, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  1977  				0x01, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x74,
  1978  				0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1979  				0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x73,
  1980  				0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1981  				0x00, 0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 0x73,
  1982  				0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1983  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1984  				0x10, 0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00,
  1985  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  1986  				0x6a, 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00,
  1987  				0x5c, 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00,
  1988  				0x01, 0xd5, 0x5b, 0xc6, 0x62, 0xd5, 0x5b, 0xc6,
  1989  				0x62, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
  1990  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1991  				0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
  1992  				0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
  1993  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1994  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
  1995  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1996  				0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
  1997  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1998  				0x00, 0x00, 0x00, 0x01, 0x06, 0x6d, 0x64, 0x69,
  1999  				0x61, 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68,
  2000  				0x64, 0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6,
  2001  				0x62, 0xd5, 0x5b, 0xc6, 0x62, 0x00, 0x00, 0x75,
  2002  				0x30, 0x00, 0x00, 0x00, 0x00, 0x15, 0xc7, 0x00,
  2003  				0x00, 0x00, 0x00, 0x00, 0x3a, 0x68, 0x64, 0x6c,
  2004  				0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  2005  				0x00, 0x63, 0x6c, 0x63, 0x70, 0x00, 0x00, 0x00,
  2006  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  2007  				0x00, 0x43, 0x6f, 0x72, 0x65, 0x20, 0x4d, 0x65,
  2008  				0x64, 0x69, 0x61, 0x20, 0x43, 0x6c, 0x6f, 0x73,
  2009  				0x65, 0x64, 0x20, 0x43, 0x61, 0x70, 0x74, 0x69,
  2010  				0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x6d,
  2011  				0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 0x0c, 0x6e,
  2012  				0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00,
  2013  				0x00, 0x00, 0x24, 0x64, 0x69, 0x6e, 0x66, 0x00,
  2014  				0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 0x66, 0x00,
  2015  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
  2016  				0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00,
  2017  				0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x73,
  2018  				0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 0x20, 0x73,
  2019  				0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00,
  2020  				0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x63,
  2021  				0x36, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00,
  2022  				0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x73,
  2023  				0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00,
  2024  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73,
  2025  				0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
  2026  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x73,
  2027  				0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00,
  2028  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  2029  				0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 0x00,
  2030  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  2031  				0x00, 0x00, 0x48, 0x6d, 0x76, 0x65, 0x78, 0x00,
  2032  				0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00,
  2033  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
  2034  				0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  2035  				0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
  2036  				0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00,
  2037  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
  2038  				0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  2039  				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  2040  			},
  2041  			Init{
  2042  				Tracks: []*InitTrack{{
  2043  					ID:        1,
  2044  					TimeScale: 6000,
  2045  					Codec: &CodecH264{
  2046  						SPS: []byte{
  2047  							0x27, 0x64, 0x00, 0x2a, 0xac, 0x52, 0x14, 0x07,
  2048  							0x80, 0x22, 0x7e, 0x5f, 0xfc, 0x00, 0x04, 0x00,
  2049  							0x05, 0xa8, 0x08, 0x08, 0x0d, 0xb6, 0x15, 0xaf,
  2050  							0x7b, 0xe0, 0x20,
  2051  						},
  2052  						PPS: []byte{
  2053  							0x28, 0xf9, 0x09, 0x09, 0xcb,
  2054  						},
  2055  					},
  2056  				}},
  2057  			},
  2058  		},
  2059  	} {
  2060  		t.Run(ca.name, func(t *testing.T) {
  2061  			var init Init
  2062  			err := init.Unmarshal(bytes.NewReader(ca.byts))
  2063  			require.NoError(t, err)
  2064  			require.Equal(t, ca.init, init)
  2065  		})
  2066  	}
  2067  }
  2068  
  2069  func TestInitMarshal(t *testing.T) {
  2070  	for _, ca := range casesInit {
  2071  		t.Run(ca.name, func(t *testing.T) {
  2072  			var buf seekablebuffer.Buffer
  2073  			err := ca.dec.Marshal(&buf)
  2074  			require.NoError(t, err)
  2075  			require.Equal(t, ca.enc, buf.Bytes())
  2076  		})
  2077  	}
  2078  }
  2079  
  2080  func TestInitMarshalEmptyParameters(t *testing.T) {
  2081  	for _, ca := range []struct {
  2082  		name  string
  2083  		codec Codec
  2084  	}{
  2085  		{
  2086  			"av1",
  2087  			&CodecAV1{},
  2088  		},
  2089  		{
  2090  			"vp9",
  2091  			&CodecVP9{},
  2092  		},
  2093  		{
  2094  			"h265",
  2095  			&CodecH265{},
  2096  		},
  2097  		{
  2098  			"h264",
  2099  			&CodecH264{},
  2100  		},
  2101  		{
  2102  			"mpeg-4 video",
  2103  			&CodecMPEG4Video{},
  2104  		},
  2105  		{
  2106  			"mpeg-1 video",
  2107  			&CodecMPEG1Video{},
  2108  		},
  2109  		{
  2110  			"mjpeg",
  2111  			&CodecMJPEG{},
  2112  		},
  2113  	} {
  2114  		t.Run(ca.name, func(t *testing.T) {
  2115  			i := Init{
  2116  				Tracks: []*InitTrack{{
  2117  					ID:        1,
  2118  					TimeScale: 90000,
  2119  					Codec:     ca.codec,
  2120  				}},
  2121  			}
  2122  
  2123  			var buf seekablebuffer.Buffer
  2124  			err := i.Marshal(&buf)
  2125  			require.Error(t, err)
  2126  		})
  2127  	}
  2128  }
  2129  
  2130  func FuzzInitUnmarshal(f *testing.F) {
  2131  	for _, ca := range casesInit {
  2132  		f.Add(ca.enc)
  2133  	}
  2134  
  2135  	f.Fuzz(func(_ *testing.T, b []byte) {
  2136  		var init Init
  2137  		init.Unmarshal(bytes.NewReader(b)) //nolint:errcheck
  2138  	})
  2139  }
  2140  
  2141  func BenchmarkInitUnmarshal(b *testing.B) {
  2142  	for i := 0; i < b.N; i++ {
  2143  		for _, ca := range casesInit {
  2144  			var init Init
  2145  			init.Unmarshal(bytes.NewReader(ca.enc)) //nolint:errcheck
  2146  		}
  2147  	}
  2148  }