X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fcodec%2Fadpcm.c;h=62fab84804b85f2c24c76935fc930beb24542380;hb=818e9afa5d316a43d7dd75531670ec47d76f9d8c;hp=61f749fd107757f2707d549a3aef976092332d46;hpb=174f75debc6ff4b0b3a7037bc21e7b77bfe2a9d8;p=vlc diff --git a/modules/codec/adpcm.c b/modules/codec/adpcm.c index 61f749fd10..62fab84804 100644 --- a/modules/codec/adpcm.c +++ b/modules/codec/adpcm.c @@ -72,7 +72,7 @@ struct decoder_sys_t size_t i_block; size_t i_samplesperblock; - audio_date_t end_date; + date_t end_date; }; static void DecodeAdpcmMs ( decoder_t *, int16_t *, uint8_t * ); @@ -174,10 +174,10 @@ static int OpenDecoder( vlc_object_t *p_this ) case VLC_FOURCC('i','m','a', '4'): /* IMA ADPCM */ p_sys->codec = ADPCM_IMA_QT; break; - case VLC_FOURCC('m','s',0x00,0x11): /* IMA ADPCM */ + case VLC_CODEC_ADPCM_IMA_WAV: /* IMA ADPCM */ p_sys->codec = ADPCM_IMA_WAV; break; - case VLC_FOURCC('m','s',0x00,0x02): /* MS ADPCM */ + case VLC_CODEC_ADPCM_MS: /* MS ADPCM */ p_sys->codec = ADPCM_MS; break; case VLC_FOURCC('m','s',0x00,0x61): /* Duck DK4 ADPCM */ @@ -254,8 +254,8 @@ static int OpenDecoder( vlc_object_t *p_this ) p_dec->fmt_out.audio.i_original_channels = pi_channels_maps[p_dec->fmt_in.audio.i_channels]; - aout_DateInit( &p_sys->end_date, p_dec->fmt_out.audio.i_rate ); - aout_DateSet( &p_sys->end_date, 0 ); + date_Init( &p_sys->end_date, p_dec->fmt_out.audio.i_rate, 1 ); + date_Set( &p_sys->end_date, 0 ); p_dec->pf_decode_audio = DecodeBlock; @@ -274,12 +274,12 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block ) p_block = *pp_block; - if( p_block->i_pts != 0 && - p_block->i_pts != aout_DateGet( &p_sys->end_date ) ) + if( p_block->i_pts > VLC_TS_INVALID && + p_block->i_pts != date_Get( &p_sys->end_date ) ) { - aout_DateSet( &p_sys->end_date, p_block->i_pts ); + date_Set( &p_sys->end_date, p_block->i_pts ); } - else if( !aout_DateGet( &p_sys->end_date ) ) + else if( !date_Get( &p_sys->end_date ) ) { /* We've just started the stream, wait for the first PTS. */ block_Release( p_block ); @@ -287,7 +287,7 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block ) } /* Don't re-use the same pts twice */ - p_block->i_pts = 0; + p_block->i_pts = VLC_TS_INVALID; if( p_block->i_buffer >= p_sys->i_block ) { @@ -300,9 +300,9 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block ) return NULL; } - p_out->start_date = aout_DateGet( &p_sys->end_date ); - p_out->end_date = - aout_DateIncrement( &p_sys->end_date, p_sys->i_samplesperblock ); + p_out->i_pts = date_Get( &p_sys->end_date ); + p_out->i_length = date_Increment( &p_sys->end_date, + p_sys->i_samplesperblock ) - p_out->i_pts; switch( p_sys->codec ) {