summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuenter Bartsch <guenter@users.sourceforge.net>2001-07-14 13:28:31 +0000
committerGuenter Bartsch <guenter@users.sourceforge.net>2001-07-14 13:28:31 +0000
commit8cc18436f0f9d30461965d5e589e5cec03e48748 (patch)
treee443c7213468e7bb555a958445528f6a56714c91
parentdfd980788abf3d0905a24204bf8d0554dc4d8a77 (diff)
downloadxine-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.h3
-rw-r--r--src/demuxers/demux_mpeg_block.c40
-rw-r--r--src/xine-engine/xine.c11
-rw-r--r--src/xine-engine/xine_internal.h15
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
*/