summaryrefslogtreecommitdiff
path: root/src/demuxers
diff options
context:
space:
mode:
authorGuenter Bartsch <guenter@users.sourceforge.net>2001-12-01 22:38:31 +0000
committerGuenter Bartsch <guenter@users.sourceforge.net>2001-12-01 22:38:31 +0000
commitf7b2fd87c8fd9e0e52f6e31ecbf0bb7c5f1f8297 (patch)
tree3c3f00fb39dd790a18842b9ffb9bdac5dbda09cb /src/demuxers
parent742043db716a6c83656607642a0789380663cb7f (diff)
downloadxine-lib-f7b2fd87c8fd9e0e52f6e31ecbf0bb7c5f1f8297.tar.gz
xine-lib-f7b2fd87c8fd9e0e52f6e31ecbf0bb7c5f1f8297.tar.bz2
add avi subtitle decoder (based on mplayer code), minor cleanups, removed register_empty function from configfile (undocumented and doesn't make sense)
CVS patchset: 1153 CVS date: 2001/12/01 22:38:31
Diffstat (limited to 'src/demuxers')
-rw-r--r--src/demuxers/demux_avi.c28
-rw-r--r--src/demuxers/demux_mpeg_block.c4
2 files changed, 25 insertions, 7 deletions
diff --git a/src/demuxers/demux_avi.c b/src/demuxers/demux_avi.c
index 0013fef61..781a45df7 100644
--- a/src/demuxers/demux_avi.c
+++ b/src/demuxers/demux_avi.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_avi.c,v 1.54 2001/11/30 00:53:51 f1rmb Exp $
+ * $Id: demux_avi.c,v 1.55 2001/12/01 22:38:31 guenter Exp $
*
* demultiplexer for avi streams
*
@@ -866,10 +866,11 @@ static void demux_avi_start (demux_plugin_t *this_gen,
fifo_buffer_t *video_fifo,
fifo_buffer_t *audio_fifo,
off_t start_pos, int start_time) {
- buf_element_t *buf;
- demux_avi_t *this = (demux_avi_t *) this_gen;
- uint32_t video_pts = 0;
- int err;
+ buf_element_t *buf;
+ demux_avi_t *this = (demux_avi_t *) this_gen;
+ uint32_t video_pts = 0;
+ int err;
+ unsigned char *sub;
this->audio_fifo = audio_fifo;
this->video_fifo = video_fifo;
@@ -993,6 +994,23 @@ static void demux_avi_start (demux_plugin_t *this_gen,
this->audio_fifo->put (this->audio_fifo, buf);
}
+ /*
+ * send external spu file pointer, if present
+ */
+
+ if (this->input->get_optional_data (this->input, &sub, INPUT_OPTIONAL_DATA_TEXTSPU0)) {
+
+ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo);
+ buf->content = sub;
+
+ buf->type = BUF_SPU_TEXT;
+
+ this->video_fifo->put (this->video_fifo, buf);
+
+ printf ("demux_avi: text subtitle file available\n");
+
+ }
+
if ((err = pthread_create (&this->thread, NULL, demux_avi_loop, this)) != 0) {
fprintf (stderr, "demux_avi: can't create new thread (%s)\n",
strerror(err));
diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c
index 154c33464..81b17d775 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.66 2001/11/30 21:55:05 f1rmb Exp $
+ * $Id: demux_mpeg_block.c,v 1.67 2001/12/01 22:38:31 guenter Exp $
*
* demultiplexer for mpeg 1/2 program streams
*
@@ -104,7 +104,7 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
printf ("demux_mpeg_block: checking if we can branch to %s\n", next_mrl);
- if (this->input->is_branch_possible
+ if (next_mrl && this->input->is_branch_possible
&& this->input->is_branch_possible (this->input, next_mrl)) {
printf ("demux_mpeg_block: branching\n");