From 9c7fc92c6c391b037393721dbe8742ddd260b1d1 Mon Sep 17 00:00:00 2001 From: Guenter Bartsch Date: Sun, 12 Aug 2001 15:12:54 +0000 Subject: cancel demux thread on xine_stop instead of pthread_join to prevent hang CVS patchset: 415 CVS date: 2001/08/12 15:12:54 --- src/demuxers/demux_mpeg.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/demuxers/demux_mpeg.c') diff --git a/src/demuxers/demux_mpeg.c b/src/demuxers/demux_mpeg.c index 0835ccede..a33419515 100644 --- a/src/demuxers/demux_mpeg.c +++ b/src/demuxers/demux_mpeg.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000 the xine project + * Copyright (C) 2000, 2001 the xine project * * This file is part of xine, a unix video player. * @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: demux_mpeg.c,v 1.28 2001/08/10 19:49:57 guenter Exp $ + * $Id: demux_mpeg.c,v 1.29 2001/08/12 15:12:54 guenter Exp $ * * demultiplexer for mpeg 1/2 program streams * reads streams of variable blocksizes @@ -548,7 +548,7 @@ static void *demux_mpeg_loop (void *this_gen) { } static void demux_mpeg_stop (demux_plugin_t *this_gen) { - void *p; + demux_mpeg_t *this = (demux_mpeg_t *) this_gen; buf_element_t *buf; @@ -566,7 +566,8 @@ static void demux_mpeg_stop (demux_plugin_t *this_gen) { this->send_end_buffers = 0; this->status = DEMUX_FINISHED; - pthread_join (this->thread, &p); + pthread_cancel (this->thread); + /*pthread_join (this->thread, &p);*/ this->video_fifo->clear(this->video_fifo); if(this->audio_fifo) -- cgit v1.2.3