Mercurial > mplayer.hg
comparison libmpdemux/demux_mkv.cpp @ 11482:a6b69309a791
Support for FLAC in Matroska written in the MS compatibility mode.
author | mosu |
---|---|
date | Sun, 16 Nov 2003 19:24:43 +0000 |
parents | 27e5c86c968a |
children | 3abf5b7cb308 |
comparison
equal
deleted
inserted
replaced
11481:64298443e494 | 11482:a6b69309a791 |
---|---|
2353 ((short *)(sh_a->wf + 1))[4] = codecdata_length; | 2353 ((short *)(sh_a->wf + 1))[4] = codecdata_length; |
2354 memcpy(((char *)(sh_a->wf + 1)) + 10, src, codecdata_length); | 2354 memcpy(((char *)(sh_a->wf + 1)) + 10, src, codecdata_length); |
2355 | 2355 |
2356 track->realmedia = true; | 2356 track->realmedia = true; |
2357 | 2357 |
2358 } else if (!strcmp(track->codec_id, MKV_A_FLAC)) { | 2358 } else if (!strcmp(track->codec_id, MKV_A_FLAC) || |
2359 (track->a_formattag == 0xf1ac)) { | |
2359 free(sh_a->wf); | 2360 free(sh_a->wf); |
2360 sh_a->wf = NULL; | 2361 sh_a->wf = NULL; |
2361 | 2362 |
2362 dp = new_demux_packet(4); | 2363 dp = new_demux_packet(4); |
2363 memcpy(dp->buffer, "fLaC", 4); | 2364 memcpy(dp->buffer, "fLaC", 4); |
2364 dp->pts = 0; | 2365 dp->pts = 0; |
2365 dp->flags = 0; | 2366 dp->flags = 0; |
2366 ds_add_packet(demuxer->audio, dp); | 2367 ds_add_packet(demuxer->audio, dp); |
2367 dp = new_demux_packet(track->private_size); | 2368 if (track->a_formattag == mmioFOURCC('f', 'L', 'a', 'C')) { |
2368 memcpy(dp->buffer, track->private_data, track->private_size); | 2369 dp = new_demux_packet(track->private_size); |
2370 memcpy(dp->buffer, track->private_data, track->private_size); | |
2371 } else { | |
2372 sh_a->format = mmioFOURCC('f', 'L', 'a', 'C'); | |
2373 dp = new_demux_packet(track->private_size - sizeof(WAVEFORMATEX)); | |
2374 memcpy(dp->buffer, (unsigned char *)track->private_data + | |
2375 sizeof(WAVEFORMATEX), track->private_size - | |
2376 sizeof(WAVEFORMATEX)); | |
2377 } | |
2369 dp->pts = 0; | 2378 dp->pts = 0; |
2370 dp->flags = 0; | 2379 dp->flags = 0; |
2371 ds_add_packet(demuxer->audio, dp); | 2380 ds_add_packet(demuxer->audio, dp); |
2372 } | 2381 } |
2373 | 2382 |