X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fdemux%2Fmpeg%2Fm4a.c;h=a54f793b82c5b4a4c185eee340c051562733a59f;hb=fa0e963f7ff1ad54afefeaf8c09aa6250efd84c9;hp=66a7e4d813efc9d4c3f6f96932e384a9ac7517aa;hpb=13ae40b0efc4f1b1ce205d9a057537047fcab3f4;p=vlc diff --git a/modules/demux/mpeg/m4a.c b/modules/demux/mpeg/m4a.c index 66a7e4d813..a54f793b82 100644 --- a/modules/demux/mpeg/m4a.c +++ b/modules/demux/mpeg/m4a.c @@ -29,7 +29,7 @@ # include "config.h" #endif -#include +#include #include #include #include @@ -160,16 +160,20 @@ static int Demux( demux_t *p_demux) &p_sys->p_packetizer->fmt_out); } - es_out_Control( p_demux->out, ES_OUT_SET_PCR, p_block_out->i_dts ); - - p_block_out->p_next = NULL; - p_sys->i_pts = p_block_out->i_pts; if( p_sys->i_pts > M4A_PTS_START + INT64_C(500000) ) p_sys->i_bitrate_avg = 8*INT64_C(1000000)*p_sys->i_bytes/(p_sys->i_pts-M4A_PTS_START); p_sys->i_bytes += p_block_out->i_buffer; + + /* Correct timestamp */ + p_block_out->i_pts += p_sys->i_time_offset; + p_block_out->i_dts += p_sys->i_time_offset; + + /* */ + es_out_Control( p_demux->out, ES_OUT_SET_PCR, p_block_out->i_dts ); + es_out_Send( p_demux->out, p_sys->p_es, p_block_out ); p_block_out = p_next;