Commit a6b81181 authored by Gildas Bazin's avatar Gildas Bazin

* modules/demux/ogg.c: fixed skipped pictures problem when starting a stream.

parent 381e1674
......@@ -479,7 +479,7 @@ static void Ogg_DecodePacket( demux_t *p_demux,
block_t *p_block;
vlc_bool_t b_selected;
int i_header_len = 0;
mtime_t i_pts = 0;
mtime_t i_pts = -1, i_interpolated_pts;
/* Sanity check */
if( !p_oggpacket->bytes )
......@@ -588,6 +588,7 @@ static void Ogg_DecodePacket( demux_t *p_demux,
}
/* Convert the granulepos into the next pcr */
i_interpolated_pts = p_stream->i_interpolated_pcr;
Ogg_UpdatePCR( p_stream, p_oggpacket );
if( p_stream->i_pcr >= 0 )
......@@ -624,6 +625,11 @@ static void Ogg_DecodePacket( demux_t *p_demux,
if( !( p_block = block_New( p_demux, p_oggpacket->bytes ) ) ) return;
/* Normalize PTS */
if( i_pts == 0 ) i_pts = 1;
else if( i_pts == -1 && i_interpolated_pts == 0 ) i_pts = 1;
else if( i_pts == -1 ) i_pts = 0;
if( p_stream->fmt.i_cat == AUDIO_ES )
p_block->i_dts = p_block->i_pts = i_pts;
else if( p_stream->fmt.i_cat == SPU_ES )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment