From: Guenter B. <gu...@us...> - 2002-02-09 07:13:26
|
Update of /cvsroot/xine/xine-lib/src/demuxers In directory usw-pr-cvs1:/tmp/cvs-serv11091/src/demuxers Modified Files: demux_asf.c demux_avi.c demux_cda.c demux_elem.c demux_mpeg.c demux_mpeg_block.c demux_mpgaudio.c demux_ogg.c demux_pes.c demux_qt.c demux_ts.c Log Message: the long-awaited video_out changes, not completely debuged (races) - pts are 64 bit now - scr and video_out-loop run all the time - video_out cleanups - metronom cleanups - buffer type BUF_CONTROL_DISCONTINUITY is used internally now, input plugins should no longer send this one - support for individual frame durations - using nano-/usleep instead of itimer (simpler code, maybe this will help freebsd) Index: demux_asf.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_asf.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- demux_asf.c 3 Feb 2002 23:26:08 -0000 1.21 +++ demux_asf.c 9 Feb 2002 07:13:22 -0000 1.22 @@ -701,8 +701,8 @@ buf->input_pos = 0 ; buf->input_time = 0 ; } - buf->PTS = timestamp * 90; - buf->SCR = timestamp * 90; + buf->pts = timestamp * 90; + buf->scr = timestamp * 90; buf->type = stream->buf_type; buf->size = bufsize; timestamp = 0; @@ -774,9 +774,9 @@ buf->input_time = 0 ; } - buf->PTS = stream->timestamp * 90 + stream->ts_per_kbyte * + buf->pts = stream->timestamp * 90 + stream->ts_per_kbyte * (p-stream->buffer) / 1024; - buf->SCR = buf->PTS; + buf->scr = buf->pts; buf->type = stream->buf_type; buf->size = bufsize; Index: demux_avi.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_avi.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -r1.62 -r1.63 --- demux_avi.c 24 Jan 2002 22:55:51 -0000 1.62 +++ demux_avi.c 9 Feb 2002 07:13:22 -0000 1.63 @@ -751,8 +751,8 @@ /* read audio */ - buf->PTS = audio_pts; - buf->SCR = audio_pts; + buf->pts = audio_pts; + buf->scr = audio_pts; buf->size = AVI_read_audio (this, this->avi, buf->mem, 2048, &buf->decoder_info[0]); if (buf->size<0) { @@ -778,8 +778,8 @@ /* read video */ - buf->PTS = video_pts; - buf->SCR = video_pts; + buf->pts = video_pts; + buf->scr = video_pts; buf->size = AVI_read_video (this, this->avi, buf->mem, 2048, &buf->decoder_info[0]); buf->type = this->avi->video_type; @@ -807,7 +807,7 @@ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); buf->type = BUF_SPU_TEXT; - buf->PTS = video_pts; + buf->pts = video_pts; buf->decoder_info[0] = 1; buf->decoder_info[1] = this->avi->video_posf; @@ -923,7 +923,7 @@ LOG_MSG(this->xine, _("demux_avi: video format = %s, audio format = 0x%lx\n"), this->avi->compressor, this->avi->a_fmt); - LOG_MSG(this->xine, _("demux_avi: video frame size %d x %d\n"), + LOG_MSG(this->xine, _("demux_avi: video frame size %ld x %ld\n"), this->avi->width, this->avi->height); this->no_audio = 0; Index: demux_cda.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_cda.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- demux_cda.c 14 Jan 2002 21:42:59 -0000 1.6 +++ demux_cda.c 9 Feb 2002 07:13:22 -0000 1.7 @@ -93,11 +93,11 @@ pos = this->input->get_current_pos(this->input); len = this->input->get_length(this->input); - buf->PTS = 0; - buf->SCR = 0; + buf->pts = 0; + buf->scr = 0; buf->input_pos = pos; buf->input_time = buf->input_pos / this->blocksize; - buf->type = BUF_VIDEO_FILL; /* Fake */ + buf->type = BUF_CONTROL_NOP; /* Fake */ this->video_fifo->put(this->video_fifo, buf); Index: demux_elem.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_elem.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- demux_elem.c 2 Jan 2002 18:16:07 -0000 1.32 +++ demux_elem.c 9 Feb 2002 07:13:22 -0000 1.33 @@ -108,8 +108,8 @@ else buf->decoder_info[0] = 1; - buf->PTS = 0; - buf->SCR = 0; + buf->pts = 0; + buf->scr = 0; buf->input_pos = this->input->get_current_pos(this->input); buf->type = BUF_VIDEO_MPEG; Index: demux_mpeg.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_mpeg.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -r1.48 -r1.49 --- demux_mpeg.c 2 Jan 2002 18:16:07 -0000 1.48 +++ demux_mpeg.c 9 Feb 2002 07:13:22 -0000 1.49 @@ -185,8 +185,8 @@ return ; } buf->type = BUF_AUDIO_A52 + track; - buf->PTS = pts; - buf->SCR = scr; + buf->pts = pts; + buf->scr = scr; if (this->preview_mode) buf->decoder_info[0] = 0; else @@ -235,8 +235,8 @@ return ; } buf->type = BUF_AUDIO_MPEG + track; - buf->PTS = pts; - buf->SCR = scr; + buf->pts = pts; + buf->scr = scr; if (this->preview_mode) buf->decoder_info[0] = 0; else @@ -280,8 +280,8 @@ return ; } buf->type = BUF_VIDEO_MPEG; - buf->PTS = pts; - buf->SCR = scr; + buf->pts = pts; + buf->scr = scr; if (this->preview_mode) buf->decoder_info[0] = 0; else @@ -392,8 +392,8 @@ return ; } buf->type = BUF_AUDIO_MPEG + track ; - buf->PTS = pts; - buf->SCR = scr; + buf->pts = pts; + buf->scr = scr; if (this->preview_mode) buf->decoder_info[0] = 0; else @@ -415,8 +415,8 @@ return ; } buf->type = BUF_VIDEO_MPEG; - buf->PTS = pts; - buf->SCR = scr; + buf->pts = pts; + buf->scr = scr; if (this->preview_mode) buf->decoder_info[0] = 0; else @@ -516,14 +516,14 @@ buf_element_t *buf; buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->type = BUF_CONTROL_AVSYNC_RESET; - buf->SCR = scr; + buf->type = BUF_CONTROL_DISCONTINUITY; + buf->scr = scr; this->video_fifo->put (this->video_fifo, buf); if (this->audio_fifo) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); - buf->type = BUF_CONTROL_AVSYNC_RESET; - buf->SCR = scr; + buf->type = BUF_CONTROL_DISCONTINUITY; + buf->scr = scr; this->audio_fifo->put (this->audio_fifo, buf); } } Index: demux_mpeg_block.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_mpeg_block.c,v retrieving revision 1.75 retrieving revision 1.76 diff -u -r1.75 -r1.76 --- demux_mpeg_block.c 1 Feb 2002 13:01:57 -0000 1.75 +++ demux_mpeg_block.c 9 Feb 2002 07:13:23 -0000 1.76 @@ -202,7 +202,7 @@ scr |= (p[6] & 0xFF) << 7; scr |= (p[7] & 0xFE) >> 1; - buf->SCR = scr; + buf->scr = scr; /* mux_rate */ @@ -234,7 +234,7 @@ scr += ( (p[8] & 0x03 << 7) | (p[9] & 0xFE >> 1) ); */ - buf->SCR = scr; + buf->scr = scr; /* mux_rate */ @@ -294,14 +294,14 @@ #endif buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->type = BUF_CONTROL_AVSYNC_RESET; - buf->SCR = scr; + buf->type = BUF_CONTROL_DISCONTINUITY; + buf->scr = scr; this->video_fifo->put (this->video_fifo, buf); if (this->audio_fifo) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); - buf->type = BUF_CONTROL_AVSYNC_RESET; - buf->SCR = scr; + buf->type = BUF_CONTROL_DISCONTINUITY; + buf->scr = scr; this->audio_fifo->put (this->audio_fifo, buf); } } @@ -315,7 +315,7 @@ buf->content = p; buf->size = packet_len; buf->type = BUF_SPU_NAV; - buf->PTS = 0; /* NAV packets do not have PES values */ + buf->pts = 0; /* NAV packets do not have PES values */ buf->input_pos = this->input->get_current_pos(this->input); this->video_fifo->put (this->video_fifo, buf); return ; @@ -424,7 +424,7 @@ buf->content = p+1; buf->size = packet_len-1; buf->type = BUF_SPU_PACKAGE + spu_id; - buf->PTS = PTS; + buf->pts = PTS; buf->input_pos = this->input->get_current_pos(this->input); this->video_fifo->put (this->video_fifo, buf); @@ -445,7 +445,7 @@ } else { buf->type = BUF_AUDIO_A52 + track; } - buf->PTS = PTS; + buf->pts = PTS; buf->input_pos = this->input->get_current_pos(this->input); @@ -505,7 +505,7 @@ buf->content = p+pcm_offset; buf->size = packet_len-pcm_offset; buf->type = BUF_AUDIO_LPCM_BE + track; - buf->PTS = PTS; + buf->pts = PTS; buf->input_pos = this->input->get_current_pos(this->input); @@ -522,7 +522,7 @@ buf->content = p; buf->size = packet_len; buf->type = BUF_VIDEO_MPEG; - buf->PTS = PTS; + buf->pts = PTS; buf->input_pos = this->input->get_current_pos(this->input); @@ -538,7 +538,7 @@ buf->content = p; buf->size = packet_len; buf->type = BUF_AUDIO_MPEG + track; - buf->PTS = PTS; + buf->pts = PTS; buf->input_pos = this->input->get_current_pos(this->input); Index: demux_mpgaudio.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_mpgaudio.c,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- demux_mpgaudio.c 13 Jan 2002 21:15:48 -0000 1.33 +++ demux_mpgaudio.c 9 Feb 2002 07:13:23 -0000 1.34 @@ -207,8 +207,8 @@ } } - buf->PTS = 0; - buf->SCR = 0; + buf->pts = 0; + buf->scr = 0; buf->input_pos = this->input->get_current_pos(this->input); buf->input_time = buf->input_pos * this->stream_length / this->input->get_length(this->input); Index: demux_ogg.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_ogg.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- demux_ogg.c 2 Jan 2002 18:16:07 -0000 1.13 +++ demux_ogg.c 9 Feb 2002 07:13:23 -0000 1.14 @@ -184,8 +184,8 @@ } - buf->PTS = 0; /* FIXME */ - buf->SCR = 0; /* FIXME */ + buf->pts = 0; /* FIXME */ + buf->scr = 0; /* FIXME */ buf->size = op.bytes; buf->decoder_info[0] = is_content; Index: demux_pes.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_pes.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- demux_pes.c 2 Jan 2002 18:16:07 -0000 1.17 +++ demux_pes.c 9 Feb 2002 07:13:23 -0000 1.18 @@ -183,8 +183,8 @@ return ; } buf->type = BUF_AUDIO_A52 + track; - buf->PTS = pts; - buf->SCR = pts; /* FIMXE! */ + buf->pts = pts; + buf->scr = pts; /* FIMXE! */ if (this->preview_mode) buf->decoder_info[0] = 0; else @@ -229,8 +229,8 @@ return ; } buf->type = BUF_AUDIO_MPEG + track; - buf->PTS = pts; - buf->SCR = pts; /* FIXME ! */ + buf->pts = pts; + buf->scr = pts; /* FIXME ! */ if (this->preview_mode) buf->decoder_info[0] = 0; else @@ -275,8 +275,8 @@ return ; } buf->type = BUF_VIDEO_MPEG; - buf->PTS = pts; - buf->SCR = pts; /* FIXME! */ + buf->pts = pts; + buf->scr = pts; /* FIXME! */ if (this->preview_mode) buf->decoder_info[0] = 0; else Index: demux_qt.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_qt.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- demux_qt.c 15 Jan 2002 21:10:31 -0000 1.19 +++ demux_qt.c 9 Feb 2002 07:13:23 -0000 1.20 @@ -4026,8 +4026,8 @@ /* int count; */ - buf->PTS = audio_pts; - buf->SCR = audio_pts; + buf->pts = audio_pts; + buf->scr = audio_pts; buf->type = this->audio_type; buf->decoder_info[0] = 1; buf->input_time = 0; @@ -4073,8 +4073,8 @@ buf->content = buf->mem; buf->size = copy_bytes; - buf->PTS = video_pts; - buf->SCR = video_pts; + buf->pts = video_pts; + buf->scr = video_pts; buf->type = this->video_type; buf->input_time = video_pts / 90000; buf->input_pos = this->input->get_current_pos(this->input); Index: demux_ts.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/demuxers/demux_ts.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- demux_ts.c 13 Jan 2002 21:15:48 -0000 1.35 +++ demux_ts.c 9 Feb 2002 07:13:23 -0000 1.36 @@ -544,8 +544,8 @@ buf->content = buf->mem; buf->size = m->size; buf->type = m->type; - buf->PTS = m->PTS; - buf->SCR = this->PCR; + buf->pts = m->PTS; + buf->scr = this->PCR; buf->decoder_info[0] = 1; m->fifo->put (m->fifo, buf); } @@ -556,8 +556,8 @@ buf->content = buf->mem; buf->size = len; buf->type = m->type; - buf->PTS = 0; - buf->SCR = 0; + buf->pts = 0; + buf->scr = 0; buf->input_pos = this->input->get_current_pos(this->input); buf->decoder_info[0] = 1; m->fifo->put (m->fifo, buf); |