Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/modules/demux/mkv/mkv.cpp b/modules/demux/mkv/mkv.cpp
- index eedeba1..f1d9dc7 100644
- --- a/modules/demux/mkv/mkv.cpp
- +++ b/modules/demux/mkv/mkv.cpp
- @@ -650,6 +650,7 @@ msg_Dbg( p_demux, "block i_dts: %"PRId64" / i_pts: %"PRId64, p_block->i_dts, p_b
- *****************************************************************************/
- static int Demux( demux_t *p_demux)
- {
- + static mtime_t next_pcr = 0;
- demux_sys_t *p_sys = p_demux->p_sys;
- vlc_mutex_lock( &p_sys->lock_demuxer );
- @@ -714,9 +715,10 @@ static int Demux( demux_t *p_demux)
- p_sys->i_pts = p_sys->i_chapter_time + ( block->GlobalTimecode() / (mtime_t) 1000 );
- /* The blocks are in coding order so we can safely consider that only references are in chronological order */
- +/*
- if( simpleblock == NULL || b_key_picture )
- es_out_Control( p_demux->out, ES_OUT_SET_PCR, VLC_TS_0 + p_sys->i_pts );
- -
- +*/
- if( p_sys->i_pts >= p_sys->i_start_pts )
- {
- if ( p_vsegment->UpdateCurrentToChapter( *p_demux ) )
- @@ -738,6 +740,11 @@ static int Demux( demux_t *p_demux)
- BlockDecode( p_demux, block, simpleblock, p_sys->i_pts, i_block_duration, b_key_picture || b_discardable_picture );
- + if( p_sys->i_pts > next_pcr + 200000 )
- + {
- + es_out_Control( p_demux->out, ES_OUT_SET_PCR, VLC_TS_0 + next_pcr );
- + next_pcr = p_sys->i_pts;
- + }
- delete block;
- i_block_count++;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement