vlc | branch: master | Ilkka Ollakka <[email protected]> | Mon Dec 2 15:01:04 2013 +0200| [47f4dd31354ba8a0cf097a0c288232600647fa1f] | committer: Ilkka Ollakka
avcodec: just set timestamp at beginning of block It's used only to calculate timestamps if block needs to be divided into multiple frames and not in overall timestamp keeping. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=47f4dd31354ba8a0cf097a0c288232600647fa1f --- modules/codec/avcodec/encoder.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c index bae4d3f..5bc9d15 100644 --- a/modules/codec/avcodec/encoder.c +++ b/modules/codec/avcodec/encoder.c @@ -1176,6 +1176,7 @@ static block_t *handle_delay_buffer( encoder_t *p_enc, encoder_sys_t *p_sys, int p_sys->frame->pts = date_Get( &p_sys->buffer_date ); + if( likely( p_sys->frame->pts != AV_NOPTS_VALUE) ) date_Increment( &p_sys->buffer_date, p_sys->frame->nb_samples ); @@ -1242,10 +1243,9 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf ) //Calculate how many bytes we would need from current buffer to fill frame size_t leftover_samples = __MAX(0,__MIN((ssize_t)i_samples_left, (ssize_t)(p_sys->i_frame_size - p_sys->i_samples_delay))); - if( ( p_aout_buf && ( p_aout_buf->i_pts > VLC_TS_INVALID ) && - ((p_aout_buf->i_pts - p_sys->i_samples_delay) != date_Get( &p_sys->buffer_date ) ) ) ) + if( p_aout_buf && ( p_aout_buf->i_pts > VLC_TS_INVALID ) ) { - date_Set( &p_sys->buffer_date, p_aout_buf->i_dts ); + date_Set( &p_sys->buffer_date, p_aout_buf->i_pts ); /* take back amount we have leftover from previous buffer*/ if( p_sys->i_samples_delay > 0 ) date_Decrement( &p_sys->buffer_date, p_sys->i_samples_delay ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
