From 5b3eaf2b343ed3bce4045d75e9ec7137a65483cc Mon Sep 17 00:00:00 2001 From: James Courtier-Dutton Date: Mon, 15 Apr 2002 00:58:21 +0000 Subject: Fix hang when user presses "seek" during still dvd menu with dvdnav. CVS patchset: 1723 CVS date: 2002/04/15 00:58:21 --- src/demuxers/demux_mpeg_block.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c index 0d034c1fa..6d02292eb 100644 --- a/src/demuxers/demux_mpeg_block.c +++ b/src/demuxers/demux_mpeg_block.c @@ -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_block.c,v 1.89 2002/04/11 22:27:11 jcdutton Exp $ + * $Id: demux_mpeg_block.c,v 1.90 2002/04/15 00:58:21 jcdutton Exp $ * * demultiplexer for mpeg 1/2 program streams * @@ -860,6 +860,12 @@ static void demux_mpeg_block_start (demux_plugin_t *this_gen, buf_element_t *buf; int err; + /* If dvdnav was on a still menu, and someone does a seek. + * The mutex lock here would hang xine. + * So force dvdnav to come out of sleep and return from get_next_block. + */ + this->input->stop(this->input); + pthread_mutex_lock( &this->mutex ); this->video_fifo = video_fifo; -- cgit v1.2.3