X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fdemux%2Fflac.c;h=f402e272a5b3c635e2ab9efc73b8f04367a573e5;hb=f42b56bb857128e3551baafb8f8acc34da18c40b;hp=91a2cccb40d76ad24c53ea6f27841ffa5f08137e;hpb=152b1687c0ec112f3ab1360006d048d6b9cf7258;p=vlc diff --git a/modules/demux/flac.c b/modules/demux/flac.c index 91a2cccb40..f402e272a5 100644 --- a/modules/demux/flac.c +++ b/modules/demux/flac.c @@ -204,7 +204,7 @@ static int Demux( demux_t *p_demux ) if( !( p_block_in = stream_Block( p_demux->s, FLAC_PACKET_SIZE ) ) ) return 0; - p_block_in->i_pts = p_block_in->i_dts = p_sys->b_start ? 1 : 0; + p_block_in->i_pts = p_block_in->i_dts = p_sys->b_start ? VLC_TS_0 : VLC_TS_INVALID; p_sys->b_start = false; while( (p_block_out = p_sys->p_packetizer->pf_packetize( @@ -223,7 +223,7 @@ static int Demux( demux_t *p_demux ) p_sys->p_es = es_out_Add( p_demux->out, &p_sys->p_packetizer->fmt_out); } - p_sys->i_pts = p_block_out->i_dts; + p_sys->i_pts = p_block_out->i_dts - VLC_TS_0; /* Correct timestamp */ p_block_out->i_pts += p_sys->i_time_offset; @@ -382,7 +382,10 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) double *pf = (double*)va_arg( args, double * ); const int64_t i_length = ControlGetLength(p_demux); if( i_length > 0 ) - *pf = (double)ControlGetTime(p_demux) / (double)i_length; + { + double current = ControlGetTime(p_demux); + *pf = current / (double)i_length; + } else *pf= 0.0; return VLC_SUCCESS;