diff options
author | 2003-11-15 20:00:31 +0000 | |
---|---|---|
committer | 2003-11-15 20:00:31 +0000 | |
commit | 8856a7594cfc83d4ae0b8ba9a5ed741e285aaccf (patch) | |
tree | 511d5aba8dbceb2e9563ed4aad90ddbb4d1c4740 /libmpdemux/demux_ogg.c | |
parent | 234c095a98a6fb49e5389e93e37cd3401eda37da (diff) |
For FLAC-in-Ogg the packets are NEVER skipped, and there's no such thing as a "packet header byte" like in Ogm streams. Basically the handling for Vorbis != Theora != FLAC != Ogm.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11465 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_ogg.c')
-rw-r--r-- | libmpdemux/demux_ogg.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c index 29d417b307..e10d1a024e 100644 --- a/libmpdemux/demux_ogg.c +++ b/libmpdemux/demux_ogg.c @@ -408,9 +408,11 @@ static int demux_ogg_add_packet(demux_stream_t* ds,ogg_stream_t* os,ogg_packet* } // If packet is an header we jump it except for vorbis and theora // (PACKET_TYPE_HEADER bit doesn't even exist for theora ?!) - if((*pack->packet & PACKET_TYPE_HEADER) && + // We jump nothing for FLAC. Ain't this great? Packet contents have to be + // handled differently for each and every stream type. The joy! The joy! + if(!os->flac && ((*pack->packet & PACKET_TYPE_HEADER) && (ds != d->audio || ( ((sh_audio_t*)ds->sh)->format != 0xFFFE || os->hdr_packets >= NUM_VORBIS_HDR_PACKETS ) ) && - (ds != d->video || (((sh_video_t*)ds->sh)->format != 0xFFFC))) + (ds != d->video || (((sh_video_t*)ds->sh)->format != 0xFFFC)))) return 0; // For vorbis packet the packet is the data, for other codec we must jump |