summaryrefslogtreecommitdiff
path: root/src/demuxers
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-01-31 14:06:03 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-01-31 14:06:03 +0000
commit8695f5d8c99952a89f59b314c58a5e0bbd8a6e6e (patch)
tree47af2fb780645208a11b0e3bcea97e709c050330 /src/demuxers
parent112c134d4636786c1b0e22839bd782d9554b961e (diff)
downloadxine-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.c4
-rw-r--r--src/demuxers/demux_elem.c5
-rw-r--r--src/demuxers/demux_mpeg.c4
-rw-r--r--src/demuxers/demux_mpgaudio.c4
-rw-r--r--src/demuxers/demux_ogg.c4
-rw-r--r--src/demuxers/demux_real.c37
-rw-r--r--src/demuxers/demux_ts.c4
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;