vlc | branch: master | Francois Cartegnie <[email protected]> | Fri May 12 11:21:03 2017 +0200| [b45a95e15c2aabeaff203c55241bc9080fd4d40a] | committer: Francois Cartegnie
packetizer: hevc: fix timestamp propagation next sync nal timestamp was not used > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b45a95e15c2aabeaff203c55241bc9080fd4d40a --- modules/packetizer/hevc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/packetizer/hevc.c b/modules/packetizer/hevc.c index 06f5a43fa2..e983fb8454 100644 --- a/modules/packetizer/hevc.c +++ b/modules/packetizer/hevc.c @@ -748,13 +748,11 @@ static block_t *ParseNALBlock(decoder_t *p_dec, bool *pb_ts_used, block_t *p_fra if(p_sys->b_need_ts) { if(p_frag->i_dts > VLC_TS_INVALID) - { date_Set(&p_sys->dts, p_frag->i_dts); - *pb_ts_used = true; - } p_sys->pts = p_frag->i_pts; if(date_Get( &p_sys->dts ) != VLC_TS_INVALID) p_sys->b_need_ts = false; + *pb_ts_used = true; } if(unlikely(p_frag->i_buffer < 5)) @@ -789,8 +787,11 @@ static block_t *ParseNALBlock(decoder_t *p_dec, bool *pb_ts_used, block_t *p_fra p_output = GatherAndValidateChain(p_output); if(p_output) { - p_sys->b_need_ts = true; SetOutputBlockProperties( p_dec, p_output ); + if(p_frag->i_dts > VLC_TS_INVALID) + date_Set(&p_sys->dts, p_frag->i_dts); + p_sys->pts = p_frag->i_pts; + *pb_ts_used = true; } return p_output; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
