[vlc-commits] avcodec: just set timestamp at beginning of block
Ilkka Ollakka
git at videolan.org
Wed Dec 4 09:01:46 CET 2013
vlc | branch: master | Ilkka Ollakka <ileoo at videolan.org> | 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 );
More information about the vlc-commits
mailing list