X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fdemux%2Fogg.c;h=ab3c081bd8e6e0099fd9a46b92e704c866910674;hb=9c24ad3ef121fbda9d6f50fdcbbe1a2193c838a5;hp=69e20112b48b7542f800795477953d11fdc865d0;hpb=99fab9089e9e1709d9c3a4bc5ced0c137ac59134;p=vlc diff --git a/modules/demux/ogg.c b/modules/demux/ogg.c index 69e20112b4..ab3c081bd8 100644 --- a/modules/demux/ogg.c +++ b/modules/demux/ogg.c @@ -283,14 +283,14 @@ static int Demux( demux_t * p_demux ) { if( p_stream->fmt.i_codec == VLC_FOURCC('t','h','e','o') && oggpacket.bytes >= 7 && - ! memcmp( oggpacket.packet, "\x80theora", 6 ) ) + ! memcmp( oggpacket.packet, "\x80theora", 7 ) ) { Ogg_ReadTheoraHeader( p_stream, &oggpacket ); p_stream->secondary_header_packets = 0; } else if( p_stream->fmt.i_codec == VLC_FOURCC('v','o','r','b') && oggpacket.bytes >= 7 && - ! memcmp( oggpacket.packet, "\x01vorbis", 6 ) ) + ! memcmp( oggpacket.packet, "\x01vorbis", 7 ) ) { Ogg_ReadVorbisHeader( p_stream, &oggpacket ); p_stream->secondary_header_packets = 0; @@ -782,13 +782,13 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux ) /* Check for Vorbis header */ if( oggpacket.bytes >= 7 && - ! memcmp( oggpacket.packet, "\x01vorbis", 6 ) ) + ! memcmp( oggpacket.packet, "\x01vorbis", 7 ) ) { Ogg_ReadVorbisHeader( p_stream, &oggpacket ); msg_Dbg( p_demux, "found vorbis header" ); } /* Check for Speex header */ - else if( oggpacket.bytes >= 7 && + else if( oggpacket.bytes >= 5 && ! memcmp( oggpacket.packet, "Speex", 5 ) ) { Ogg_ReadSpeexHeader( p_stream, &oggpacket ); @@ -832,7 +832,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux ) } /* Check for Theora header */ else if( oggpacket.bytes >= 7 && - ! memcmp( oggpacket.packet, "\x80theora", 6 ) ) + ! memcmp( oggpacket.packet, "\x80theora", 7 ) ) { Ogg_ReadTheoraHeader( p_stream, &oggpacket ); @@ -1191,8 +1191,7 @@ static void Ogg_EndOfStream( demux_t *p_demux ) p_ogg->i_bitrate -= p_stream->fmt.i_bitrate; ogg_stream_clear( &p_ogg->pp_stream[i_stream]->os ); - if( p_ogg->pp_stream[i_stream]->p_headers) - free( p_ogg->pp_stream[i_stream]->p_headers ); + free( p_ogg->pp_stream[i_stream]->p_headers ); es_format_Clean( &p_stream->fmt ); @@ -1201,7 +1200,7 @@ static void Ogg_EndOfStream( demux_t *p_demux ) #undef p_stream /* Reinit p_ogg */ - if( p_ogg->pp_stream ) free( p_ogg->pp_stream ); + free( p_ogg->pp_stream ); p_ogg->pp_stream = NULL; p_ogg->i_streams = 0; }