diff options
author | Guenter Bartsch <guenter@users.sourceforge.net> | 2001-12-01 22:38:31 +0000 |
---|---|---|
committer | Guenter Bartsch <guenter@users.sourceforge.net> | 2001-12-01 22:38:31 +0000 |
commit | f7b2fd87c8fd9e0e52f6e31ecbf0bb7c5f1f8297 (patch) | |
tree | 3c3f00fb39dd790a18842b9ffb9bdac5dbda09cb /src/demuxers | |
parent | 742043db716a6c83656607642a0789380663cb7f (diff) | |
download | xine-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.c | 28 | ||||
-rw-r--r-- | src/demuxers/demux_mpeg_block.c | 4 |
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"); |