diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-01-31 14:06:03 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-01-31 14:06:03 +0000 |
commit | 8695f5d8c99952a89f59b314c58a5e0bbd8a6e6e (patch) | |
tree | 47af2fb780645208a11b0e3bcea97e709c050330 /src/demuxers | |
parent | 112c134d4636786c1b0e22839bd782d9554b961e (diff) | |
download | xine-lib-8695f5d8c99952a89f59b314c58a5e0bbd8a6e6e.tar.gz xine-lib-8695f5d8c99952a89f59b314c58a5e0bbd8a6e6e.tar.bz2 |
- MAX_PREVIEW_SIZE = 4096
- new fb driver with zero copy
CVS patchset: 4058
CVS date: 2003/01/31 14:06:03
Diffstat (limited to 'src/demuxers')
-rw-r--r-- | src/demuxers/demux_asf.c | 4 | ||||
-rw-r--r-- | src/demuxers/demux_elem.c | 5 | ||||
-rw-r--r-- | src/demuxers/demux_mpeg.c | 4 | ||||
-rw-r--r-- | src/demuxers/demux_mpgaudio.c | 4 | ||||
-rw-r--r-- | src/demuxers/demux_ogg.c | 4 | ||||
-rw-r--r-- | src/demuxers/demux_real.c | 37 | ||||
-rw-r--r-- | src/demuxers/demux_ts.c | 4 |
7 files changed, 29 insertions, 33 deletions
diff --git a/src/demuxers/demux_asf.c b/src/demuxers/demux_asf.c index c476d71a2..39c11def4 100644 --- a/src/demuxers/demux_asf.c +++ b/src/demuxers/demux_asf.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_asf.c,v 1.104 2003/01/30 22:31:21 f1rmb Exp $ + * $Id: demux_asf.c,v 1.105 2003/01/31 14:06:03 miguelfreitas Exp $ * * demultiplexer for asf streams * @@ -1590,7 +1590,7 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, input_plugin_t *input) { demux_asf_t *this; - uint8_t buf[DEFRAG_BUFSIZE]; + uint8_t buf[MAX_PREVIEW_SIZE+1]; int len; switch (stream->content_detection_method) { diff --git a/src/demuxers/demux_elem.c b/src/demuxers/demux_elem.c index 12e43f44b..71dc918c6 100644 --- a/src/demuxers/demux_elem.c +++ b/src/demuxers/demux_elem.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_elem.c,v 1.67 2003/01/04 14:48:11 miguelfreitas Exp $ + * $Id: demux_elem.c,v 1.68 2003/01/31 14:06:06 miguelfreitas Exp $ * * demultiplexer for elementary mpeg streams * @@ -43,6 +43,7 @@ */ #define NUM_PREVIEW_BUFFERS 50 +#define SCRATCH_SIZE ((MAX_PREVIEW_SIZE>4096)?MAX_PREVIEW_SIZE:4096) typedef struct { @@ -60,7 +61,7 @@ typedef struct { int blocksize; int status; - uint8_t scratch[4096]; + uint8_t scratch[SCRATCH_SIZE]; char last_mrl[1024]; } demux_mpeg_elem_t ; diff --git a/src/demuxers/demux_mpeg.c b/src/demuxers/demux_mpeg.c index dea0f3eca..61b8d5c01 100644 --- a/src/demuxers/demux_mpeg.c +++ b/src/demuxers/demux_mpeg.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.c,v 1.105 2003/01/16 22:25:53 miguelfreitas Exp $ + * $Id: demux_mpeg.c,v 1.106 2003/01/31 14:06:08 miguelfreitas Exp $ * * demultiplexer for mpeg 1/2 program streams * reads streams of variable blocksizes @@ -891,7 +891,7 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str switch (stream->content_detection_method) { case METHOD_BY_CONTENT: { - uint8_t buf[4096]; + uint8_t buf[MAX_PREVIEW_SIZE]; off_t mdat_atom_offset = -1; int64_t mdat_atom_size = -1; unsigned int fourcc_tag; diff --git a/src/demuxers/demux_mpgaudio.c b/src/demuxers/demux_mpgaudio.c index 6b006b880..e8dc93c72 100644 --- a/src/demuxers/demux_mpgaudio.c +++ b/src/demuxers/demux_mpgaudio.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_mpgaudio.c,v 1.90 2003/01/26 15:58:36 tmmm Exp $ + * $Id: demux_mpgaudio.c,v 1.91 2003/01/31 14:06:09 miguelfreitas Exp $ * * demultiplexer for mpeg audio (i.e. mp3) streams * @@ -337,7 +337,7 @@ static int demux_mpgaudio_get_status (demux_plugin_t *this_gen) { static uint32_t demux_mpgaudio_read_head(input_plugin_t *input) { - uint8_t buf[4096]; + uint8_t buf[MAX_PREVIEW_SIZE]; uint32_t head=0; int bs = 0; diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c index 153b73c7c..ca1322ab7 100644 --- a/src/demuxers/demux_ogg.c +++ b/src/demuxers/demux_ogg.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_ogg.c,v 1.63 2003/01/26 23:48:47 tmattern Exp $ + * $Id: demux_ogg.c,v 1.64 2003/01/31 14:06:09 miguelfreitas Exp $ * * demultiplexer for ogg streams * @@ -945,7 +945,7 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, case METHOD_BY_CONTENT: { - uint8_t buf[4096]; + uint8_t buf[MAX_PREVIEW_SIZE]; if ((input->get_capabilities(input) & INPUT_CAP_SEEKABLE) != 0) { diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c index ecdc4d883..fe9863d87 100644 --- a/src/demuxers/demux_real.c +++ b/src/demuxers/demux_real.c @@ -28,7 +28,7 @@ * * Based on FFmpeg's libav/rm.c. * - * $Id: demux_real.c,v 1.39 2003/01/29 18:53:56 miguelfreitas Exp $ + * $Id: demux_real.c,v 1.40 2003/01/31 14:06:10 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -645,8 +645,7 @@ static int demux_real_parse_references( demux_real_t *this) { ; j--; buf[j]='\0'; - printf("demux_real: ref=%s\n", &buf[i]); - + uevent.type = XINE_EVENT_MRL_REFERENCE; uevent.stream = this->stream; uevent.data_length = strlen(&buf[i])+sizeof(xine_mrl_reference_data_t); @@ -1128,13 +1127,13 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str input_plugin_t *input = (input_plugin_t *) input_gen; demux_real_t *this; + uint8_t buf[MAX_PREVIEW_SIZE+1]; + int len; switch (stream->content_detection_method) { case METHOD_BY_CONTENT: { - uint8_t buf[4096], len; - if ((input->get_capabilities(input) & INPUT_CAP_SEEKABLE) != 0) { input->seek(input, 0, SEEK_SET); @@ -1214,28 +1213,24 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str /* discover stream type */ - { - uint8_t buf[4096], len; - - this->reference_mode = 0; - if ((len = input->get_capabilities(input) & INPUT_CAP_SEEKABLE) != 0) { - - input->seek(input, 0, SEEK_SET); + this->reference_mode = 0; + if ((len = input->get_capabilities(input) & INPUT_CAP_SEEKABLE) != 0) { - if ( (len = input->read(input, buf, 1024)) > 0) { - if (real_check_stream_type(buf,len) == 2) - this->reference_mode = 1; - } + input->seek(input, 0, SEEK_SET); - } else if ((len = input->get_optional_data (input, buf, INPUT_OPTIONAL_DATA_PREVIEW))) { - + if ( (len = input->read(input, buf, 1024)) > 0) { if (real_check_stream_type(buf,len) == 2) this->reference_mode = 1; } - - if(this->reference_mode) - printf("demux_real: reference stream detected\n"); + + } else if ((len = input->get_optional_data (input, buf, INPUT_OPTIONAL_DATA_PREVIEW))) { + + if (real_check_stream_type(buf,len) == 2) + this->reference_mode = 1; } + + if(this->reference_mode) + printf("demux_real: reference stream detected\n"); this->demux_plugin.send_headers = demux_real_send_headers; diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index 4e31e1c2b..a529df41e 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.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_ts.c,v 1.77 2003/01/26 15:56:21 tmmm Exp $ + * $Id: demux_ts.c,v 1.78 2003/01/31 14:06:10 miguelfreitas Exp $ * * Demultiplexer for MPEG2 Transport Streams. * @@ -1826,7 +1826,7 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, switch (stream->content_detection_method) { case METHOD_BY_CONTENT: { - uint8_t buf[4096]; + uint8_t buf[MAX_PREVIEW_SIZE]; int got_sample; int i, j; int try_again, ts_detected; |