From: Michael R. <mr...@us...> - 2003-05-15 20:16:47
|
Update of /cvsroot/xine/xine-lib/src/demuxers In directory sc8-pr-cvs1:/tmp/cvs-serv21467/src/demuxers Modified Files: demux_mpeg_block.c Log Message: That comment suits better here. It is about discontiuity detection, so it should be close to the funtion doing this. Index: demux_mpeg_block.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_mpeg_block.c,v retrieving revision 1.185 retrieving revision 1.186 diff -u -r1.185 -r1.186 --- demux_mpeg_block.c 12 May 2003 23:30:49 -0000 1.185 +++ demux_mpeg_block.c 15 May 2003 20:16:42 -0000 1.186 @@ -105,26 +105,6 @@ config_values_t *config; } demux_mpeg_block_class_t; -/* OK, i think demux_mpeg_block discontinuity handling demands some - explanation: - - - The preferred discontinuity handling/detection for DVD is based on - NAV packets information. Most of the time it will provide us very - accurate and reliable information. - - - Has been shown that sometimes a DVD discontinuity may happen before - a new NAV packet arrives (seeking?). To avoid sending wrong PTS to - decoders we _used_ to check for SCR discontinuities. Unfortunately - some VCDs have very broken SCR values causing false triggering. - - - To fix the above problem (also note that VCDs don't have NAV - packets) we fallback to the same PTS-based wrap detection as used - in demux_mpeg. The only trick is to not send discontinuity information - if NAV packets have already done the job. - - [Miguel 02-05-2002] -*/ - static int32_t parse_video_stream(demux_mpeg_block_t *this, uint8_t *p, buf_element_t *buf); static int32_t parse_audio_stream(demux_mpeg_block_t *this, uint8_t *p, buf_element_t *buf); static int32_t parse_ancillary_stream(demux_mpeg_block_t *this, uint8_t *p, buf_element_t *buf); @@ -149,8 +129,25 @@ static int32_t parse_program_stream_pack_header(demux_mpeg_block_t *this, uint8_t *p, buf_element_t *buf); - - +/* OK, i think demux_mpeg_block discontinuity handling demands some + explanation: + + - The preferred discontinuity handling/detection for DVD is based on + NAV packets information. Most of the time it will provide us very + accurate and reliable information. + + - Has been shown that sometimes a DVD discontinuity may happen before + a new NAV packet arrives (seeking?). To avoid sending wrong PTS to + decoders we _used_ to check for SCR discontinuities. Unfortunately + some VCDs have very broken SCR values causing false triggering. + + - To fix the above problem (also note that VCDs don't have NAV + packets) we fallback to the same PTS-based wrap detection as used + in demux_mpeg. The only trick is to not send discontinuity information + if NAV packets have already done the job. + + [Miguel 02-05-2002] +*/ static void check_newpts( demux_mpeg_block_t *this, int64_t pts, int video ) { |