From 984e134530ddf1d851cbd8e77bd84345f5e4b598 Mon Sep 17 00:00:00 2001 From: Guenter Bartsch Date: Sat, 8 Sep 2001 00:44:40 +0000 Subject: rich's patches (menu support) CVS patchset: 586 CVS date: 2001/09/08 00:44:40 --- src/demuxers/demux_mpeg_block.c | 9 ++++++++- src/input/input_dvd.c | 3 ++- src/input/input_file.c | 3 ++- src/input/input_stdin_fifo.c | 3 ++- src/input/input_vcd.c | 3 ++- src/xine-engine/buffer.h | 5 ++++- 6 files changed, 20 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c index 49e430622..1a983e00b 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.40 2001/09/07 21:26:12 guenter Exp $ + * $Id: demux_mpeg_block.c,v 1.41 2001/09/08 00:44:40 guenter Exp $ * * demultiplexer for mpeg 1/2 program streams * @@ -82,6 +82,13 @@ 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 this is not a block for the demuxer, pass it + * straight through. */ + if(buf->type != BUF_DEMUX_BLOCK) { + this->video_fifo->put (this->video_fifo, buf); + return; + } + if (buf==NULL) { char *next_mrl; diff --git a/src/input/input_dvd.c b/src/input/input_dvd.c index c37cead51..8883f3516 100644 --- a/src/input/input_dvd.c +++ b/src/input/input_dvd.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: input_dvd.c,v 1.20 2001/09/01 22:47:59 guenter Exp $ + * $Id: input_dvd.c,v 1.21 2001/09/08 00:44:40 guenter Exp $ */ #ifdef HAVE_CONFIG_H @@ -264,6 +264,7 @@ static buf_element_t *dvd_plugin_read_block (input_plugin_t *this_gen, if ((buf->size = read (this->raw_fd, buf->mem, DVD_VIDEO_LB_LEN)) > 0) { this->file_lbcur++; this->file_size_left -= DVD_VIDEO_LB_LEN; + buf->type = BUF_DEMUX_BLOCK; return buf; } else fprintf (stderr, "read error in input_dvd plugin\n"); diff --git a/src/input/input_file.c b/src/input/input_file.c index 0db3d1b33..86eb0fd4a 100644 --- a/src/input/input_file.c +++ b/src/input/input_file.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: input_file.c,v 1.21 2001/09/06 18:38:12 jkeil Exp $ + * $Id: input_file.c,v 1.22 2001/09/08 00:44:40 guenter Exp $ */ #ifdef HAVE_CONFIG_H @@ -287,6 +287,7 @@ static buf_element_t *file_plugin_read_block (input_plugin_t *this_gen, fifo_buf buf_element_t *buf = fifo->buffer_pool_alloc (fifo); buf->content = buf->mem; + buf->type = BUF_DEMUX_BLOCK; total_bytes = 0; while (total_bytes < todo) { diff --git a/src/input/input_stdin_fifo.c b/src/input/input_stdin_fifo.c index 5a47c870b..5969d28bb 100644 --- a/src/input/input_stdin_fifo.c +++ b/src/input/input_stdin_fifo.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: input_stdin_fifo.c,v 1.11 2001/08/17 16:15:36 f1rmb Exp $ + * $Id: input_stdin_fifo.c,v 1.12 2001/09/08 00:44:40 guenter Exp $ */ #ifdef HAVE_CONFIG_H @@ -141,6 +141,7 @@ static buf_element_t *stdin_plugin_read_block (input_plugin_t *this_gen, fifo_bu buf_element_t *buf = fifo->buffer_pool_alloc (fifo); buf->content = buf->mem; + buf->type = BUF_DEMUX_BLOCK; total_bytes = 0; while (total_bytes < todo) { diff --git a/src/input/input_vcd.c b/src/input/input_vcd.c index 74919ce67..9dd39ff0a 100644 --- a/src/input/input_vcd.c +++ b/src/input/input_vcd.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: input_vcd.c,v 1.21 2001/09/05 16:02:29 guenter Exp $ + * $Id: input_vcd.c,v 1.22 2001/09/08 00:44:40 guenter Exp $ */ #ifdef HAVE_CONFIG_H @@ -568,6 +568,7 @@ static buf_element_t *vcd_plugin_read_block (input_plugin_t *this_gen, buf = fifo->buffer_pool_alloc (fifo); buf->content = buf->mem; + buf->type = BUF_DEMUX_BLOCK; memcpy (buf->mem, data.data, VCDSECTORSIZE); /* FIXME */ return buf; } diff --git a/src/xine-engine/buffer.h b/src/xine-engine/buffer.h index 938c3e339..74ebe3dfd 100644 --- a/src/xine-engine/buffer.h +++ b/src/xine-engine/buffer.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: buffer.h,v 1.9 2001/09/06 15:23:46 joachim_koenig Exp $ + * $Id: buffer.h,v 1.10 2001/09/08 00:44:41 guenter Exp $ * * * contents: @@ -99,6 +99,9 @@ extern "C" { #define BUF_SPU_CLUT 0x04000000 #define BUF_SPU_PACKAGE 0x04010000 +/* demuxer block types: */ + +#define BUF_DEMUX_BLOCK 0x05000000 typedef struct buf_element_s buf_element_t; struct buf_element_s { -- cgit v1.2.3