summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Melanson <mike@multimedia.cx>2002-10-23 04:58:15 +0000
committerMike Melanson <mike@multimedia.cx>2002-10-23 04:58:15 +0000
commitd3ef4de1c04cb6a18ae19ffa40ec4feadaf21042 (patch)
tree207543aa4755d773ddb50e8dd9036f41b2e488e0 /src
parentc1d402da2f6c11e57d55695d00e6f9cb1291ab23 (diff)
downloadxine-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')
-rw-r--r--src/demuxers/demux_fli.c5
-rw-r--r--src/demuxers/demux_qt.c10
-rw-r--r--src/demuxers/demux_roq.c5
-rw-r--r--src/demuxers/demux_wav.c5
4 files changed, 17 insertions, 8 deletions
diff --git a/src/demuxers/demux_fli.c b/src/demuxers/demux_fli.c
index 68ad37d61..584a3a706 100644
--- a/src/demuxers/demux_fli.c
+++ b/src/demuxers/demux_fli.c
@@ -22,7 +22,7 @@
* avoid while programming a FLI decoder, visit:
* http://www.pcisys.net/~melanson/codecs/
*
- * $Id: demux_fli.c,v 1.17 2002/10/23 03:21:19 tmmm Exp $
+ * $Id: demux_fli.c,v 1.18 2002/10/23 04:58:15 tmmm Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -342,6 +342,9 @@ static void demux_fli_stop (demux_plugin_t *this_gen) {
}
static void demux_fli_dispose (demux_plugin_t *this) {
+
+ demux_fli_stop(this);
+
free(this);
}
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);
diff --git a/src/demuxers/demux_roq.c b/src/demuxers/demux_roq.c
index 0103d3aab..fe3cfb959 100644
--- a/src/demuxers/demux_roq.c
+++ b/src/demuxers/demux_roq.c
@@ -21,7 +21,7 @@
* For more information regarding the RoQ file format, visit:
* http://www.csse.monash.edu.au/~timf/
*
- * $Id: demux_roq.c,v 1.21 2002/10/23 02:55:01 tmmm Exp $
+ * $Id: demux_roq.c,v 1.22 2002/10/23 04:58:16 tmmm Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -458,6 +458,9 @@ static void demux_roq_stop (demux_plugin_t *this_gen) {
}
static void demux_roq_dispose (demux_plugin_t *this) {
+
+ demux_roq_stop(this);
+
free(this);
}
diff --git a/src/demuxers/demux_wav.c b/src/demuxers/demux_wav.c
index 7a70df86d..dc58f5f9a 100644
--- a/src/demuxers/demux_wav.c
+++ b/src/demuxers/demux_wav.c
@@ -20,7 +20,7 @@
* MS WAV File Demuxer by Mike Melanson (melanson@pcisys.net)
* based on WAV specs that are available far and wide
*
- * $Id: demux_wav.c,v 1.19 2002/10/23 03:46:32 tmmm Exp $
+ * $Id: demux_wav.c,v 1.20 2002/10/23 04:58:16 tmmm Exp $
*
*/
@@ -118,7 +118,6 @@ static int open_wav_file(demux_wav_t *this) {
return 0;
/* go after the format structure */
- this->input->seek(this->input, WAV_SIGNATURE_SIZE, SEEK_SET);
if (this->input->read(this->input,
(unsigned char *)&this->wave_size, 4) != 4)
return 0;
@@ -387,6 +386,8 @@ static void demux_wav_stop (demux_plugin_t *this_gen) {
static void demux_wav_dispose (demux_plugin_t *this_gen) {
demux_wav_t *this = (demux_wav_t *) this_gen;
+ demux_wav_stop(this_gen);
+
pthread_mutex_destroy (&this->mutex);
free(this);
}