From: Andreas H. <hei...@us...> - 2003-04-27 17:41:07
|
Update of /cvsroot/xine/xine-lib/src/demuxers In directory sc8-pr-cvs1:/tmp/cvs-serv28282/xine-lib/src/demuxers Modified Files: demux_ogg.c Log Message: fix for missing syncpoints at beginnig of a stream Index: demux_ogg.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_ogg.c,v retrieving revision 1.84 retrieving revision 1.85 diff -u -r1.84 -r1.85 --- demux_ogg.c 27 Apr 2003 15:56:45 -0000 1.84 +++ demux_ogg.c 27 Apr 2003 17:40:59 -0000 1.85 @@ -497,7 +497,7 @@ if( !this->buf_types[stream_num] ) this->buf_types[stream_num] = BUF_VIDEO_UNKNOWN; this->buf_types[stream_num] |= channel; - this->preview_buffers[stream_num] = 5; /* FIXME: don't know */ + this->preview_buffers[stream_num] = 1; /* FIXME: don't know */ #ifdef LOG printf ("demux_ogg: subtype %.4s\n", &locsubtype); @@ -623,7 +623,7 @@ buf->decoder_info[3] = locchannels; this->audio_fifo->put (this->audio_fifo, buf); - this->preview_buffers[stream_num] = 5; /* FIXME: don't know */ + this->preview_buffers[stream_num] = 1; /* FIXME: don't know */ this->factor[stream_num] = 90000; this->quotient[stream_num] = locsamples_per_unit; @@ -654,7 +654,7 @@ printf ("demux_ogg: older direct show filter-generated stream header detected.\n"); hex_dump (op.packet, op.bytes); #endif - this->preview_buffers[stream_num] = 5; /* FIXME: don't know */ + this->preview_buffers[stream_num] = 1; /* FIXME: don't know */ if ( (*(int32_t*)(op.packet+96)==0x05589f80) && (op.bytes>=184)) { @@ -1031,6 +1031,11 @@ } ogg_sync_reset(&this->oy); + + /*some strange streams have no syncpoint flag set at the beginning*/ + if (start_pos == 0) + this->keyframe_needed = 0; + this->input->seek (this->input, start_pos, SEEK_SET); } |