]> git.sesse.net Git - vlc/blobdiff - modules/demux/ogg.c
use the sync_instance library for tests too
[vlc] / modules / demux / ogg.c
index 4ede1a91292d4325ba9d91151b13af3de240f2fb..ab3c081bd8e6e0099fd9a46b92e704c866910674 100644 (file)
 /*****************************************************************************
  * Preamble
  *****************************************************************************/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
 #include <vlc/vlc.h>
 #include <vlc_demux.h>
 #include <vlc_meta.h>
@@ -279,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;
@@ -778,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 );
@@ -828,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 );
 
@@ -1187,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 );
 
@@ -1197,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;
 }