diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-08-01 04:23:20 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-08-01 04:23:20 +0000 |
commit | 9636f5ad750d1a53c1343501ec115c5f86cbc5d0 (patch) | |
tree | 7c7231663297c3b3fdfd625cc78828f13eaa3e60 | |
parent | 0ba07a109bf3dad4feca7d4ab4a58af2ca9120d8 (diff) | |
download | xine-lib-9636f5ad750d1a53c1343501ec115c5f86cbc5d0.tar.gz xine-lib-9636f5ad750d1a53c1343501ec115c5f86cbc5d0.tar.bz2 |
do not flush_engine on playback start (otherwise we can kill important
mpeg4 decoder_config buffer).
obs: qt seeking looks somewhat broken for me...mike? ;)
CVS patchset: 2377
CVS date: 2002/08/01 04:23:20
-rw-r--r-- | src/demuxers/demux_qt.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c index 06cd91c9d..f0b284657 100644 --- a/src/demuxers/demux_qt.c +++ b/src/demuxers/demux_qt.c @@ -30,7 +30,7 @@ * build_frame_table * free_qt_info * - * $Id: demux_qt.c,v 1.75 2002/08/01 03:56:31 tmmm Exp $ + * $Id: demux_qt.c,v 1.76 2002/08/01 04:23:20 miguelfreitas Exp $ * */ @@ -1280,8 +1280,6 @@ static void *demux_qt_loop (void *this_gen) { /* if there is an incongruency between last and current sample, it * must be time to send a new pts */ if (this->last_frame + 1 != this->current_frame) { - xine_demux_flush_engine(this->xine); - /* send new pts */ xine_demux_control_newpts(this->xine, this->qt->frames[i].pts, BUF_FLAG_SEEK); @@ -1560,6 +1558,7 @@ static int demux_qt_start (demux_plugin_t *this_gen, /* send header info to decoder. some mpeg4 streams need this */ if( this->qt->video_decoder_config ) { +printf("demux_qt: sending %d bytes of decoder_config\n",this->qt->video_decoder_config_len); buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); buf->type = this->qt->video_type; buf->size = this->qt->video_decoder_config_len; @@ -1686,6 +1685,9 @@ static int demux_qt_seek (demux_plugin_t *this_gen, this->current_frame = best_index; this->status = DEMUX_OK; + + xine_demux_flush_engine(this->xine); + pthread_mutex_unlock( &this->mutex ); return this->status; |