diff options
author | Guenter Bartsch <guenter@users.sourceforge.net> | 2001-07-14 13:28:31 +0000 |
---|---|---|
committer | Guenter Bartsch <guenter@users.sourceforge.net> | 2001-07-14 13:28:31 +0000 |
commit | 8cc18436f0f9d30461965d5e589e5cec03e48748 (patch) | |
tree | e443c7213468e7bb555a958445528f6a56714c91 | |
parent | dfd980788abf3d0905a24204bf8d0554dc4d8a77 (diff) | |
download | xine-lib-8cc18436f0f9d30461965d5e589e5cec03e48748.tar.gz xine-lib-8cc18436f0f9d30461965d5e589e5cec03e48748.tar.bz2 |
whoups, forgot to remove some spu_dec functions...
CVS patchset: 276
CVS date: 2001/07/14 13:28:31
-rw-r--r-- | src/demuxers/demux.h | 3 | ||||
-rw-r--r-- | src/demuxers/demux_mpeg_block.c | 40 | ||||
-rw-r--r-- | src/xine-engine/xine.c | 11 | ||||
-rw-r--r-- | src/xine-engine/xine_internal.h | 15 |
4 files changed, 40 insertions, 29 deletions
diff --git a/src/demuxers/demux.h b/src/demuxers/demux.h index 8518b6f81..d284bcd44 100644 --- a/src/demuxers/demux.h +++ b/src/demuxers/demux.h @@ -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.h,v 1.6 2001/07/14 12:50:34 guenter Exp $ + * $Id: demux.h,v 1.7 2001/07/14 13:28:31 guenter Exp $ */ #ifndef HAVE_DEMUX_H @@ -49,7 +49,6 @@ /* called when xine tries to branch seamlessly to the next mrl */ typedef char* (*gui_get_next_mrl_cb_t) (void); - /* called when xine branched successfully to the next mrl */ typedef void (*gui_branched_cb_t) (void); diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c index e66b06560..54ac3d6fe 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.26 2001/07/14 12:50:34 guenter Exp $ + * $Id: demux_mpeg_block.c,v 1.27 2001/07/14 13:28:31 guenter Exp $ * * demultiplexer for mpeg 1/2 program streams * @@ -81,9 +81,43 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m buf = this->input->read_block (this->input, this->video_fifo, this->blocksize); if (buf==NULL) { + char *next_mrl; + printf ("demux_mpeg_block: read_block failed\n"); - this->status = DEMUX_FINISHED; - return ; + + /* + * check if seamless branching is possible + */ + + if (this->next_mrl_cb + && (next_mrl = this->next_mrl_cb () )) { + printf ("demux_mpeg_block: checking if we can branch to %s\n", next_mrl); + + if (this->input->is_branch_possible + && this->input->is_branch_possible (this->input, next_mrl)) { + + printf ("demux_mpeg_block: branching\n"); + + this->input->close (this->input); + this->input->open (this->input, next_mrl); + + if (this->branched_cb) + this->branched_cb (); + + buf = this->input->read_block (this->input, this->video_fifo, this->blocksize); + if (!buf) { + this->status = DEMUX_FINISHED; + return ; + } + + } else { + this->status = DEMUX_FINISHED; + return ; + } + } else { + this->status = DEMUX_FINISHED; + return ; + } } p = buf->content; /* len = this->mnBlocksize; */ diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index dd8185628..c13f43a7e 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.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: xine.c,v 1.33 2001/07/14 12:50:34 guenter Exp $ + * $Id: xine.c,v 1.34 2001/07/14 13:28:32 guenter Exp $ * * top-level xine functions * @@ -305,10 +305,6 @@ void xine_exit (xine_t *this) { pthread_mutex_unlock (&this->xine_lock); - printf ("xine_exit: shutdown spu\n"); - - spu_decoder_shutdown (this); - printf ("xine_exit: shutdown audio\n"); audio_decoder_shutdown (this); @@ -405,11 +401,6 @@ xine_t *xine_init (vo_driver_t *vo, this->video_out = vo_new_instance (vo, this->metronom); video_decoder_init (this); - /* - * init SPU decoder (must be done before video decoder - * so that this->spu_decoder is valid). - */ - spu_decoder_init (this); if(ao) { this->audio_out = ao; diff --git a/src/xine-engine/xine_internal.h b/src/xine-engine/xine_internal.h index a9292ca9d..9fa9c2f26 100644 --- a/src/xine-engine/xine_internal.h +++ b/src/xine-engine/xine_internal.h @@ -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: xine_internal.h,v 1.28 2001/07/14 12:50:34 guenter Exp $ + * $Id: xine_internal.h,v 1.29 2001/07/14 13:28:32 guenter Exp $ * */ @@ -314,19 +314,6 @@ void video_decoder_shutdown (xine_t *this); */ /* - * init spu decoder, allocate spu fifo, - * start spu decoder thread - */ - -void spu_decoder_init (xine_t *this); - -/* - * quit spu thread - */ - -void spu_decoder_shutdown (xine_t *this); - -/* * init audio decoders, allocate audio fifo, * start audio decoder thread */ |