diff options
author | Mike Melanson <mike@multimedia.cx> | 2002-10-23 04:58:15 +0000 |
---|---|---|
committer | Mike Melanson <mike@multimedia.cx> | 2002-10-23 04:58:15 +0000 |
commit | d3ef4de1c04cb6a18ae19ffa40ec4feadaf21042 (patch) | |
tree | 207543aa4755d773ddb50e8dd9036f41b2e488e0 /src/demuxers/demux_qt.c | |
parent | c1d402da2f6c11e57d55695d00e6f9cb1291ab23 (diff) | |
download | xine-lib-d3ef4de1c04cb6a18ae19ffa40ec4feadaf21042.tar.gz xine-lib-d3ef4de1c04cb6a18ae19ffa40ec4feadaf21042.tar.bz2 |
calling _stop() within _dispose() solves a lot of problems
CVS patchset: 2956
CVS date: 2002/10/23 04:58:15
Diffstat (limited to 'src/demuxers/demux_qt.c')
-rw-r--r-- | src/demuxers/demux_qt.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c index 0e14a0c56..334a837aa 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.97 2002/10/22 05:03:01 tmmm Exp $ + * $Id: demux_qt.c,v 1.98 2002/10/23 04:58:15 tmmm Exp $ * */ @@ -1860,15 +1860,15 @@ static void demux_qt_stop (demux_plugin_t *this_gen) { return; } - this->current_frame = this->last_frame = 0; - this->send_end_buffers = 0; this->status = DEMUX_FINISHED; + xine_demux_flush_engine(this->stream); + pthread_mutex_unlock( &this->mutex ); pthread_join (this->thread, &p); - xine_demux_flush_engine(this->stream); + this->current_frame = this->last_frame = 0; xine_demux_control_end(this->stream, BUF_FLAG_END_USER); } @@ -1876,6 +1876,8 @@ static void demux_qt_stop (demux_plugin_t *this_gen) { static void demux_qt_dispose (demux_plugin_t *this_gen) { demux_qt_t *this = (demux_qt_t *) this_gen; + demux_qt_stop(this_gen); + free_qt_info(this->qt); pthread_mutex_destroy (&this->mutex); free(this); |