X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fdemux%2Faiff.c;h=afc8ee95ab88e3d84aac0a174e1b538090f78a24;hb=4bf5e817d35569492c6c3ca068f277d0ae49702f;hp=8a5e80ebaeab51c26173d3c14321ed121d2e522e;hpb=a14c0186d6d7e58d274a46b10c36ff8ce641c8b6;p=vlc diff --git a/modules/demux/aiff.c b/modules/demux/aiff.c index 8a5e80ebae..afc8ee95ab 100644 --- a/modules/demux/aiff.c +++ b/modules/demux/aiff.c @@ -1,7 +1,7 @@ /***************************************************************************** * aiff.c: Audio Interchange File Format demuxer ***************************************************************************** - * Copyright (C) 2004 the VideoLAN team + * Copyright (C) 2004-2007 the VideoLAN team * $Id$ * * Authors: Laurent Aimar @@ -24,9 +24,13 @@ /***************************************************************************** * Preamble *****************************************************************************/ -#include /* malloc(), free() */ -#include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include #include /* TODO: @@ -42,8 +46,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_category( CAT_INPUT ); set_subcategory( SUBCAT_INPUT_DEMUX ); - set_description( _("AIFF demuxer" ) ); - set_capability( "demux2", 10 ); + set_description( N_("AIFF demuxer" ) ); + set_capability( "demux", 10 ); set_callbacks( Open, Close ); add_shortcut( "aiff" ); vlc_module_end(); @@ -75,7 +79,7 @@ static int Demux ( demux_t *p_demux ); static int Control( demux_t *p_demux, int i_query, va_list args ); /* GetF80BE: read a 80 bits float in big endian */ -static unsigned int GetF80BE( uint8_t p[10] ) +static unsigned int GetF80BE( const uint8_t p[10] ) { unsigned int i_mantissa = GetDWBE( &p[2] ); int i_exp = 30 - p[1]; @@ -101,18 +105,19 @@ static int Open( vlc_object_t *p_this ) demux_t *p_demux = (demux_t*)p_this; demux_sys_t *p_sys; - uint8_t *p_peek; + const uint8_t *p_peek; if( stream_Peek( p_demux->s, &p_peek, 12 ) < 12 ) return VLC_EGENERIC; - if( strncmp( (char *)&p_peek[0], "FORM", 4 ) || strncmp( (char *)&p_peek[8], "AIFF", 4 ) ) + if( memcmp( p_peek, "FORM", 4 ) + || memcmp( &p_peek[8], "AIFF", 4 ) ) return VLC_EGENERIC; /* skip aiff header */ stream_Read( p_demux->s, NULL, 12 ); /* Fill p_demux field */ - STANDARD_DEMUX_INIT; p_sys = p_demux->p_sys; + DEMUX_INIT_COMMON(); p_sys = p_demux->p_sys; es_format_Init( &p_sys->fmt, UNKNOWN_ES, 0 ); p_sys->i_time = 1; p_sys->i_ssnd_pos = -1; @@ -126,7 +131,7 @@ static int Open( vlc_object_t *p_this ) msg_Dbg( p_demux, "chunk fcc=%4.4s size=%d", p_peek, i_size ); - if( !strncmp( (char *)&p_peek[0], "COMM", 4 ) ) + if( !memcmp( p_peek, "COMM", 4 ) ) { CHECK_PEEK_GOTO( p_peek, 18+8 ); es_format_Init( &p_sys->fmt, AUDIO_ES, VLC_FOURCC( 't', 'w', 'o', 's' ) ); @@ -137,7 +142,7 @@ static int Open( vlc_object_t *p_this ) msg_Dbg( p_demux, "COMM: channels=%d samples_frames=%d bits=%d rate=%d", GetWBE( &p_peek[8] ), GetDWBE( &p_peek[10] ), GetWBE( &p_peek[14] ), GetF80BE( &p_peek[16] ) ); } - else if( !strncmp( (char *)&p_peek[0], "SSND", 4 ) ) + else if( !memcmp( p_peek, "SSND", 4 ) ) { CHECK_PEEK_GOTO( p_peek, 8+8 ); p_sys->i_ssnd_pos = stream_Tell( p_demux->s );