summaryrefslogtreecommitdiff
path: root/src/demuxers
diff options
context:
space:
mode:
Diffstat (limited to 'src/demuxers')
-rw-r--r--src/demuxers/demux.h4
-rw-r--r--src/demuxers/demux_aiff.c10
-rw-r--r--src/demuxers/demux_asf.c20
-rw-r--r--src/demuxers/demux_avi.c14
-rw-r--r--src/demuxers/demux_cda.c8
-rw-r--r--src/demuxers/demux_eawve.c8
-rw-r--r--src/demuxers/demux_elem.c6
-rw-r--r--src/demuxers/demux_film.c22
-rw-r--r--src/demuxers/demux_fli.c10
-rw-r--r--src/demuxers/demux_idcin.c21
-rw-r--r--src/demuxers/demux_mng.c8
-rw-r--r--src/demuxers/demux_mpeg.c18
-rw-r--r--src/demuxers/demux_mpeg_block.c42
-rw-r--r--src/demuxers/demux_mpgaudio.c10
-rw-r--r--src/demuxers/demux_ogg.c12
-rw-r--r--src/demuxers/demux_pes.c8
-rw-r--r--src/demuxers/demux_qt.c28
-rw-r--r--src/demuxers/demux_real.c24
-rw-r--r--src/demuxers/demux_realaudio.c10
-rw-r--r--src/demuxers/demux_roq.c8
-rw-r--r--src/demuxers/demux_smjpeg.c10
-rw-r--r--src/demuxers/demux_snd.c10
-rw-r--r--src/demuxers/demux_ts.c15
-rw-r--r--src/demuxers/demux_voc.c10
-rw-r--r--src/demuxers/demux_vqa.c16
-rw-r--r--src/demuxers/demux_wav.c10
-rw-r--r--src/demuxers/demux_wc3movie.c19
-rw-r--r--src/demuxers/demux_yuv4mpeg2.c8
28 files changed, 194 insertions, 195 deletions
diff --git a/src/demuxers/demux.h b/src/demuxers/demux.h
index a7ba002ab..5a3efc58f 100644
--- a/src/demuxers/demux.h
+++ b/src/demuxers/demux.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: demux.h,v 1.26 2002/11/28 10:21:05 petli Exp $
+ * $Id: demux.h,v 1.27 2002/12/21 12:56:46 miguelfreitas Exp $
*/
#ifndef HAVE_DEMUX_H
@@ -32,7 +32,7 @@
#include "input_plugin.h"
#endif
-#define DEMUXER_PLUGIN_IFACE_VERSION 18
+#define DEMUXER_PLUGIN_IFACE_VERSION 19
#define DEMUX_OK 0
#define DEMUX_FINISHED 1
diff --git a/src/demuxers/demux_aiff.c b/src/demuxers/demux_aiff.c
index 0f790db56..2cf3dd285 100644
--- a/src/demuxers/demux_aiff.c
+++ b/src/demuxers/demux_aiff.c
@@ -19,7 +19,7 @@
*
* AIFF File Demuxer by Mike Melanson (melanson@pcisys.net)
*
- * $Id: demux_aiff.c,v 1.19 2002/12/08 21:43:50 miguelfreitas Exp $
+ * $Id: demux_aiff.c,v 1.20 2002/12/21 12:56:44 miguelfreitas Exp $
*
*/
@@ -205,9 +205,9 @@ static int demux_aiff_send_chunk (demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo);
buf->type = this->audio_type;
- buf->input_pos = current_file_pos;
- buf->input_length = this->data_size;
- buf->input_time = current_pts / 90000;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_length = this->data_size;
+ buf->extra_info->input_time = current_pts / 90000;
buf->pts = current_pts;
if (remaining_sample_bytes > buf->max_size)
@@ -467,6 +467,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "aiff", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "aiff", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_asf.c b/src/demuxers/demux_asf.c
index b8f88113f..b2487f8af 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.90 2002/12/18 03:41:59 guenter Exp $
+ * $Id: demux_asf.c,v 1.91 2002/12/21 12:56:44 miguelfreitas Exp $
*
* demultiplexer for asf streams
*
@@ -760,16 +760,16 @@ static void asf_send_buffer_nodefrag (demux_asf_t *this, asf_stream_t *stream,
buf = stream->fifo->buffer_pool_alloc (stream->fifo);
this->input->read (this->input, buf->content, bufsize);
- buf->input_pos = this->input->get_current_pos (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos (this->input);
if (this->rate)
- buf->input_time = buf->input_pos / this->rate;
+ buf->extra_info->input_time = buf->extra_info->input_pos / this->rate;
else
- buf->input_time = 0;
+ buf->extra_info->input_time = 0;
#ifdef LOG
printf ("demux_asf: input pos is %lld, input time is %d\n",
- buf->input_pos,
- buf->input_time);
+ buf->extra_info->input_pos,
+ buf->extra_info->input_time);
#endif
buf->pts = timestamp * 90;
@@ -859,11 +859,11 @@ static void asf_send_buffer_defrag (demux_asf_t *this, asf_stream_t *stream,
buf = stream->fifo->buffer_pool_alloc (stream->fifo);
xine_fast_memcpy (buf->content, p, bufsize);
- buf->input_pos = this->input->get_current_pos (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos (this->input);
if (this->rate)
- buf->input_time = buf->input_pos / this->rate;
+ buf->extra_info->input_time = buf->extra_info->input_pos / this->rate;
else
- buf->input_time = 0;
+ buf->extra_info->input_time = 0;
buf->pts = stream->timestamp * 90 + stream->ts_per_kbyte *
(p-stream->buffer) / 1024;
@@ -1548,6 +1548,6 @@ static void *init_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "asf", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 19, "asf", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_avi.c b/src/demuxers/demux_avi.c
index 8c9cb1a76..d9aa203bc 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.139 2002/12/13 21:13:18 guenter Exp $
+ * $Id: demux_avi.c,v 1.140 2002/12/21 12:56:44 miguelfreitas Exp $
*
* demultiplexer for avi streams
*
@@ -1089,8 +1089,8 @@ static int demux_avi_next (demux_avi_t *this, int decoder_flags) {
return 0;
}
- buf->input_time = audio_pts / 90000;
- buf->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_time = audio_pts / 90000;
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
buf->type = audio->audio_type | i;
@@ -1113,8 +1113,8 @@ static int demux_avi_next (demux_avi_t *this, int decoder_flags) {
buf->size = AVI_read_video (this, this->avi, buf->mem, 2048, &buf->decoder_flags);
buf->type = this->avi->video_type;
- buf->input_time = video_pts / 90000;
- buf->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_time = video_pts / 90000;
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
buf->decoder_flags |= decoder_flags;
if (buf->size<0) {
@@ -1262,7 +1262,7 @@ static void demux_avi_send_headers (demux_plugin_t *this_gen) {
buf->decoder_flags = BUF_FLAG_SPECIAL;
buf->decoder_info[1] = BUF_SPECIAL_PALETTE;
buf->decoder_info[2] = this->avi->palette_count;
- buf->decoder_info[3] = (unsigned int)&this->avi->palette;
+ buf->decoder_info_ptr[2] = &this->avi->palette;
buf->size = 0;
buf->type = this->avi->video_type;
this->video_fifo->put (this->video_fifo, buf);
@@ -1639,6 +1639,6 @@ static void *init_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "avi", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 19, "avi", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_cda.c b/src/demuxers/demux_cda.c
index 65f753dd3..d597246b1 100644
--- a/src/demuxers/demux_cda.c
+++ b/src/demuxers/demux_cda.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_cda.c,v 1.36 2002/12/08 21:43:50 miguelfreitas Exp $
+ * $Id: demux_cda.c,v 1.37 2002/12/21 12:56:44 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -79,8 +79,8 @@ static int demux_cda_next (demux_cda_t *this) {
len = this->input->get_length(this->input);
buf->pts = 0;
- buf->input_pos = pos;
- buf->input_time = buf->input_pos / this->blocksize;
+ buf->extra_info->input_pos = pos;
+ buf->extra_info->input_time = buf->extra_info->input_pos / this->blocksize;
buf->type = BUF_CONTROL_NOP; /* Fake */
this->video_fifo->put(this->video_fifo, buf);
@@ -292,6 +292,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "cda", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "cda", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_eawve.c b/src/demuxers/demux_eawve.c
index f70e557b1..b6ab8b24d 100644
--- a/src/demuxers/demux_eawve.c
+++ b/src/demuxers/demux_eawve.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_eawve.c,v 1.10 2002/12/08 21:43:50 miguelfreitas Exp $
+ * $Id: demux_eawve.c,v 1.11 2002/12/21 12:56:45 miguelfreitas Exp $
*
* demux_eawve.c, Demuxer plugin for Electronic Arts' WVE file format
*
@@ -234,8 +234,8 @@ static int demux_eawve_send_chunk(demux_eawve_t *this)
buf = this->audio_fifo->buffer_pool_alloc(this->audio_fifo);
buf->type = BUF_AUDIO_EA_ADPCM;
- buf->input_pos = this->input->get_current_pos(this->input);
- buf->input_time = this->sample_counter / 22050;
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_time = this->sample_counter / 22050;
buf->pts = this->sample_counter;
buf->pts *= 90000;
buf->pts /= 22050;
@@ -476,6 +476,6 @@ static void *init_plugin (xine_t *xine, void *data)
}
plugin_info_t xine_plugin_info[] = {
- { PLUGIN_DEMUX, 18, "wve", XINE_VERSION_CODE, NULL, (void*)init_plugin},
+ { PLUGIN_DEMUX, 19, "wve", XINE_VERSION_CODE, NULL, (void*)init_plugin},
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_elem.c b/src/demuxers/demux_elem.c
index 9ed6fb15c..43ef76e0c 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.65 2002/12/20 22:57:48 guenter Exp $
+ * $Id: demux_elem.c,v 1.66 2002/12/21 12:56:45 miguelfreitas Exp $
*
* demultiplexer for elementary mpeg streams
*
@@ -98,7 +98,7 @@ static int demux_mpeg_elem_next (demux_mpeg_elem_t *this, int preview_mode) {
buf->size = n;
buf->pts = 0;
- buf->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
buf->type = BUF_VIDEO_MPEG;
if (preview_mode)
@@ -360,6 +360,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "elem", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "elem", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_film.c b/src/demuxers/demux_film.c
index b35666c0f..200db25fc 100644
--- a/src/demuxers/demux_film.c
+++ b/src/demuxers/demux_film.c
@@ -21,7 +21,7 @@
* For more information on the FILM file format, visit:
* http://www.pcisys.net/~melanson/codecs/
*
- * $Id: demux_film.c,v 1.46 2002/12/08 21:43:50 miguelfreitas Exp $
+ * $Id: demux_film.c,v 1.47 2002/12/21 12:56:45 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -338,10 +338,10 @@ static int demux_film_send_chunk(demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->video_fifo->buffer_pool_alloc (this->video_fifo);
buf->type = this->video_type;
- buf->input_pos =
+ buf->extra_info->input_pos =
this->sample_table[i].sample_offset - this->data_start;
- buf->input_length = this->data_size;
- buf->input_time = this->sample_table[i].pts / 90000;
+ buf->extra_info->input_length = this->data_size;
+ buf->extra_info->input_time = this->sample_table[i].pts / 90000;
buf->pts = this->sample_table[i].pts;
/* set the frame duration */
@@ -414,10 +414,10 @@ static int demux_film_send_chunk(demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->video_fifo->buffer_pool_alloc (this->video_fifo);
buf->type = this->video_type;
- buf->input_pos =
+ buf->extra_info->input_pos =
this->sample_table[i].sample_offset - this->data_start;
- buf->input_length = this->data_size;
- buf->input_time = this->sample_table[i].pts / 90000;
+ buf->extra_info->input_length = this->data_size;
+ buf->extra_info->input_time = this->sample_table[i].pts / 90000;
buf->pts = this->sample_table[i].pts;
/* set the frame duration */
@@ -451,10 +451,10 @@ static int demux_film_send_chunk(demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo);
buf->type = this->audio_type;
- buf->input_pos =
+ buf->extra_info->input_pos =
this->sample_table[i].sample_offset - this->data_start;
- buf->input_length = this->data_size;
- buf->input_time = this->sample_table[i].pts / 90000;
+ buf->extra_info->input_length = this->data_size;
+ buf->extra_info->input_time = this->sample_table[i].pts / 90000;
buf->pts = this->sample_table[i].pts;
if (remaining_sample_bytes > buf->max_size)
@@ -799,6 +799,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "film", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "film", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_fli.c b/src/demuxers/demux_fli.c
index a992aa9cf..8d50b7bd2 100644
--- a/src/demuxers/demux_fli.c
+++ b/src/demuxers/demux_fli.c
@@ -22,7 +22,7 @@
* avoid while programming a FLI decoder, visit:
* http://www.pcisys.net/~melanson/codecs/
*
- * $Id: demux_fli.c,v 1.29 2002/12/08 21:43:50 miguelfreitas Exp $
+ * $Id: demux_fli.c,v 1.30 2002/12/21 12:56:45 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -169,9 +169,9 @@ static int demux_fli_send_chunk(demux_plugin_t *this_gen) {
while (chunk_size) {
buf = this->video_fifo->buffer_pool_alloc (this->video_fifo);
buf->type = BUF_VIDEO_FLI;
- buf->input_pos = current_file_pos;
- buf->input_time = pts_counter / 90000;
- buf->input_length = this->stream_len;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_time = pts_counter / 90000;
+ buf->extra_info->input_length = this->stream_len;
buf->pts = pts_counter;
if (chunk_size > buf->max_size)
@@ -414,6 +414,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "fli", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "fli", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_idcin.c b/src/demuxers/demux_idcin.c
index bfd017c9b..d11adbe53 100644
--- a/src/demuxers/demux_idcin.c
+++ b/src/demuxers/demux_idcin.c
@@ -63,7 +63,7 @@
* - if any bytes exceed 63, do not shift the bytes at all before
* transmitting them to the video decoder
*
- * $Id: demux_idcin.c,v 1.30 2002/12/08 21:43:51 miguelfreitas Exp $
+ * $Id: demux_idcin.c,v 1.31 2002/12/21 12:56:45 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -183,7 +183,7 @@ static int demux_idcin_send_chunk(demux_plugin_t *this_gen) {
buf->decoder_flags = BUF_FLAG_SPECIAL;
buf->decoder_info[1] = BUF_SPECIAL_PALETTE;
buf->decoder_info[2] = PALETTE_SIZE;
- buf->decoder_info[3] = (unsigned int)&palette;
+ buf->decoder_info_ptr[2] = &palette;
buf->size = 0;
buf->type = BUF_VIDEO_IDCIN;
this->video_fifo->put (this->video_fifo, buf);
@@ -200,9 +200,9 @@ static int demux_idcin_send_chunk(demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->video_fifo->buffer_pool_alloc (this->video_fifo);
buf->type = BUF_VIDEO_IDCIN;
- buf->input_pos = this->input->get_current_pos(this->input);
- buf->input_length = this->filesize;
- buf->input_time = pts_counter / 90000;
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_length = this->filesize;
+ buf->extra_info->input_time = pts_counter / 90000;
buf->pts = pts_counter;
if (remaining_sample_bytes > buf->max_size)
@@ -240,9 +240,9 @@ static int demux_idcin_send_chunk(demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo);
buf->type = BUF_AUDIO_LPCM_LE;
- buf->input_pos = this->input->get_current_pos(this->input);
- buf->input_length = this->filesize;
- buf->input_time = pts_counter / 90000;
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_length = this->filesize;
+ buf->extra_info->input_time = pts_counter / 90000;
buf->pts = pts_counter;
if (remaining_sample_bytes > buf->max_size)
@@ -375,7 +375,8 @@ static void demux_idcin_send_headers(demux_plugin_t *this_gen) {
buf = this->video_fifo->buffer_pool_alloc (this->video_fifo);
buf->decoder_flags = BUF_FLAG_SPECIAL;
buf->decoder_info[1] = BUF_SPECIAL_IDCIN_HUFFMAN_TABLE;
- buf->decoder_info[2] = (unsigned int)&this->huffman_table;
+ buf->decoder_info[2] = sizeof(this->huffman_table);
+ buf->decoder_info_ptr[2] = &this->huffman_table;
buf->size = 0;
buf->type = BUF_VIDEO_IDCIN;
this->video_fifo->put (this->video_fifo, buf);
@@ -588,6 +589,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "idcin", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "idcin", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_mng.c b/src/demuxers/demux_mng.c
index 5a16b16c1..5d64d8e37 100644
--- a/src/demuxers/demux_mng.c
+++ b/src/demuxers/demux_mng.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_mng.c,v 1.1 2002/12/20 01:47:01 komadori Exp $
+ * $Id: demux_mng.c,v 1.2 2002/12/21 12:56:45 miguelfreitas Exp $
*
* demux_mng.c, Demuxer plugin for Multiple-image Network Graphics format
*
@@ -174,8 +174,8 @@ static int demux_mng_send_chunk(demux_mng_t *this)
buf->type = BUF_VIDEO_RGB;
buf->decoder_flags = BUF_FLAG_FRAMERATE;
buf->decoder_info[0] = 90 * this->timer_count;
- buf->input_pos = this->input->get_current_pos(this->input);
- buf->input_time = this->tick_count / 1000;
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_time = this->tick_count / 1000;
buf->pts = 90 * this->tick_count;
if (size > buf->max_size) {
@@ -398,6 +398,6 @@ static void *init_plugin(xine_t *xine, void *data)
}
plugin_info_t xine_plugin_info[] = {
- { PLUGIN_DEMUX, 18, "mng", XINE_VERSION_CODE, NULL, (void*)init_plugin},
+ { PLUGIN_DEMUX, 19, "mng", XINE_VERSION_CODE, NULL, (void*)init_plugin},
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_mpeg.c b/src/demuxers/demux_mpeg.c
index 21b23a959..32ed6bf6f 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.99 2002/12/08 21:43:51 miguelfreitas Exp $
+ * $Id: demux_mpeg.c,v 1.100 2002/12/21 12:56:45 miguelfreitas Exp $
*
* demultiplexer for mpeg 1/2 program streams
* reads streams of variable blocksizes
@@ -307,7 +307,7 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr)
if (this->preview_mode)
buf->decoder_flags = BUF_FLAG_PREVIEW;
- buf->input_pos = this->input->get_current_pos (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos (this->input);
if(this->audio_fifo)
this->audio_fifo->put (this->audio_fifo, buf);
@@ -357,7 +357,7 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr)
if (this->preview_mode)
buf->decoder_flags = BUF_FLAG_PREVIEW;
- buf->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
if(this->audio_fifo)
this->audio_fifo->put (this->audio_fifo, buf);
@@ -402,7 +402,7 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr)
if (this->preview_mode)
buf->decoder_flags = BUF_FLAG_PREVIEW;
- buf->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
this->video_fifo->put (this->video_fifo, buf);
@@ -527,9 +527,9 @@ static void parse_mpeg1_packet (demux_mpeg_t *this, int stream_id, int64_t scr)
if (this->preview_mode)
buf->decoder_flags = BUF_FLAG_PREVIEW;
- buf->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
if (this->rate)
- buf->input_time = buf->input_pos / (this->rate * 50);
+ buf->extra_info->input_time = buf->extra_info->input_pos / (this->rate * 50);
if(this->audio_fifo)
this->audio_fifo->put (this->audio_fifo, buf);
@@ -550,9 +550,9 @@ static void parse_mpeg1_packet (demux_mpeg_t *this, int stream_id, int64_t scr)
if (this->preview_mode)
buf->decoder_flags = BUF_FLAG_PREVIEW;
- buf->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
if (this->rate)
- buf->input_time = buf->input_pos / (this->rate * 50);
+ buf->extra_info->input_time = buf->extra_info->input_pos / (this->rate * 50);
this->video_fifo->put (this->video_fifo, buf);
@@ -1139,6 +1139,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "mpeg", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "mpeg", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c
index c94957c21..5dd12a282 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.149 2002/12/15 04:58:07 rockyb Exp $
+ * $Id: demux_mpeg_block.c,v 1.150 2002/12/21 12:56:45 miguelfreitas Exp $
*
* demultiplexer for mpeg 1/2 program streams
*
@@ -186,10 +186,8 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
cbuf->type = buf->type;
cbuf->decoder_flags = buf->decoder_flags;
- cbuf->decoder_info[0] = buf->decoder_info[0];
- cbuf->decoder_info[1] = buf->decoder_info[1];
- cbuf->decoder_info[2] = buf->decoder_info[2];
- cbuf->decoder_info[3] = buf->decoder_info[3];
+ memcpy( cbuf->decoder_info, buf->decoder_info, sizeof(cbuf->decoder_info) );
+ memcpy( cbuf->decoder_info_ptr, buf->decoder_info_ptr, sizeof(cbuf->decoder_info_ptr) );
this->audio_fifo->put (this->audio_fifo, cbuf);
}
@@ -207,11 +205,11 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
else
buf->decoder_flags = 0;
- buf->input_pos = this->input->get_current_pos (this->input);
- buf->input_length = this->input->get_length (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos (this->input);
+ buf->extra_info->input_length = this->input->get_length (this->input);
if (this->rate)
- buf->input_time = buf->input_pos / (this->rate * 50);
+ buf->extra_info->input_time = buf->extra_info->input_pos / (this->rate * 50);
if (p[3] == 0xBA) { /* program stream pack header */
@@ -238,7 +236,7 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
this->rate |= (p[11] >> 1);
}
- buf->input_time = buf->input_pos / (this->rate * 50);
+ buf->extra_info->input_time = buf->extra_info->input_pos / (this->rate * 50);
p += 12;
@@ -350,8 +348,8 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
buf->decoder_info[1] = BUF_SPECIAL_SPU_DVD_SUBTYPE;
buf->decoder_info[2] = SPU_DVD_SUBTYPE_NAV;
buf->pts = 0; /* NAV packets do not have PES values */
- buf->input_pos = this->input->get_current_pos(this->input);
- buf->input_length = this->input->get_length (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_length = this->input->get_length (this->input);
this->video_fifo->put (this->video_fifo, buf);
return ;
@@ -471,8 +469,8 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
if( !preview_mode )
check_newpts( this, pts, PTS_VIDEO );
- buf->input_pos = this->input->get_current_pos(this->input);
- buf->input_length = this->input->get_length (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_length = this->input->get_length (this->input);
this->video_fifo->put (this->video_fifo, buf);
#ifdef LOG
@@ -499,8 +497,8 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
if( !preview_mode )
check_newpts( this, pts, PTS_AUDIO );
- buf->input_pos = this->input->get_current_pos(this->input);
- buf->input_length = this->input->get_length (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_length = this->input->get_length (this->input);
if(this->audio_fifo) {
this->audio_fifo->put (this->audio_fifo, buf);
@@ -566,8 +564,8 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
if( !preview_mode )
check_newpts( this, pts, PTS_AUDIO );
- buf->input_pos = this->input->get_current_pos(this->input);
- buf->input_length = this->input->get_length (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_length = this->input->get_length (this->input);
if(this->audio_fifo) {
this->audio_fifo->put (this->audio_fifo, buf);
@@ -589,8 +587,8 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
if( !preview_mode )
check_newpts( this, pts, PTS_VIDEO );
- buf->input_pos = this->input->get_current_pos(this->input);
- buf->input_length = this->input->get_length (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_length = this->input->get_length (this->input);
this->video_fifo->put (this->video_fifo, buf);
#ifdef LOG
@@ -611,8 +609,8 @@ static void demux_mpeg_block_parse_pack (demux_mpeg_block_t *this, int preview_m
if( !preview_mode )
check_newpts( this, pts, PTS_AUDIO );
- buf->input_pos = this->input->get_current_pos(this->input);
- buf->input_length = this->input->get_length (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_length = this->input->get_length (this->input);
if(this->audio_fifo) {
this->audio_fifo->put (this->audio_fifo, buf);
@@ -1204,6 +1202,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "mpeg_block", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "mpeg_block", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_mpgaudio.c b/src/demuxers/demux_mpgaudio.c
index 57ae0ab9a..0e1685f10 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.85 2002/12/12 12:00:23 guenter Exp $
+ * $Id: demux_mpgaudio.c,v 1.86 2002/12/21 12:56:45 miguelfreitas Exp $
*
* demultiplexer for mpeg audio (i.e. mp3) streams
*
@@ -294,13 +294,13 @@ static int demux_mpgaudio_next (demux_mpgaudio_t *this, int decoder_flags) {
}
buf->pts = 0;
- buf->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
{
int len = this->input->get_length(this->input);
if (len>0)
- buf->input_time = buf->input_pos * this->stream_length / len;
+ buf->extra_info->input_time = buf->extra_info->input_pos * this->stream_length / len;
else
- buf->input_time = pts / 90000;
+ buf->extra_info->input_time = pts / 90000;
}
#if 0
buf->pts = pts;
@@ -670,6 +670,6 @@ static void *init_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "mp3", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 19, "mp3", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c
index 2531b3fd8..809b1dc58 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.55 2002/12/08 21:43:51 miguelfreitas Exp $
+ * $Id: demux_ogg.c,v 1.56 2002/12/21 12:56:45 miguelfreitas Exp $
*
* demultiplexer for ogg streams
*
@@ -250,8 +250,8 @@ static void send_ogg_buf (demux_ogg_t *this,
op->granulepos, buf->pts);
#endif
- buf->input_pos = this->input->get_current_pos (this->input);
- buf->input_time = buf->input_pos * 8 / this->avg_bitrate;
+ buf->extra_info->input_pos = this->input->get_current_pos (this->input);
+ buf->extra_info->input_time = buf->extra_info->input_pos * 8 / this->avg_bitrate;
buf->type = this->buf_types[stream_num] ;
buf->decoder_flags = decoder_flags;
@@ -299,8 +299,8 @@ static void send_ogg_buf (demux_ogg_t *this,
printf ("demux_ogg: video granulepos %lld, pts %lld\n", op->granulepos, buf->pts);
#endif
- buf->input_pos = this->input->get_current_pos (this->input);
- buf->input_time = 0;
+ buf->extra_info->input_pos = this->input->get_current_pos (this->input);
+ buf->extra_info->input_time = 0;
buf->type = this->buf_types[stream_num] ;
done += buf->size;
@@ -1071,6 +1071,6 @@ static void *init_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "ogg", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 19, "ogg", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_pes.c b/src/demuxers/demux_pes.c
index 18a111799..e09a5926f 100644
--- a/src/demuxers/demux_pes.c
+++ b/src/demuxers/demux_pes.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_pes.c,v 1.42 2002/11/09 23:22:32 guenter Exp $
+ * $Id: demux_pes.c,v 1.43 2002/12/21 12:56:45 miguelfreitas Exp $
*
* demultiplexer for mpeg 2 PES (Packetized Elementary Streams)
* reads streams of variable blocksizes
@@ -183,7 +183,7 @@ static void parse_mpeg2_packet (demux_pes_t *this, int nID) {
if (this->preview_mode)
buf->decoder_flags = BUF_FLAG_PREVIEW;
- buf->input_pos = this->input->get_current_pos (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos (this->input);
if(this->audio_fifo)
this->audio_fifo->put (this->audio_fifo, buf);
@@ -228,7 +228,7 @@ static void parse_mpeg2_packet (demux_pes_t *this, int nID) {
if (this->preview_mode)
buf->decoder_flags = BUF_FLAG_PREVIEW;
- buf->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
if(this->audio_fifo)
this->audio_fifo->put (this->audio_fifo, buf);
@@ -274,7 +274,7 @@ static void parse_mpeg2_packet (demux_pes_t *this, int nID) {
if (this->preview_mode)
buf->decoder_flags = BUF_FLAG_PREVIEW;
- buf->input_pos = this->input->get_current_pos(this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos(this->input);
this->video_fifo->put (this->video_fifo, buf);
diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c
index 586a2ad08..9f7b64512 100644
--- a/src/demuxers/demux_qt.c
+++ b/src/demuxers/demux_qt.c
@@ -30,7 +30,7 @@
* build_frame_table
* free_qt_info
*
- * $Id: demux_qt.c,v 1.131 2002/12/21 10:21:29 esnel Exp $
+ * $Id: demux_qt.c,v 1.132 2002/12/21 12:56:45 miguelfreitas Exp $
*
*/
@@ -1877,9 +1877,9 @@ static int demux_qt_send_chunk(demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->video_fifo->buffer_pool_alloc (this->video_fifo);
buf->type = this->qt->video_type;
- buf->input_pos = this->qt->frames[i].offset - this->data_start;
- buf->input_length = this->data_size;
- buf->input_time = this->qt->frames[i].pts / 90000;
+ buf->extra_info->input_pos = this->qt->frames[i].offset - this->data_start;
+ buf->extra_info->input_length = this->data_size;
+ buf->extra_info->input_time = this->qt->frames[i].pts / 90000;
buf->pts = this->qt->frames[i].pts;
buf->decoder_flags |= BUF_FLAG_FRAMERATE;
@@ -1922,8 +1922,8 @@ static int demux_qt_send_chunk(demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo);
buf->type = this->qt->audio_type;
- buf->input_pos = this->qt->frames[i].offset - this->data_start;
- buf->input_length = this->data_size;
+ buf->extra_info->input_pos = this->qt->frames[i].offset - this->data_start;
+ buf->extra_info->input_length = this->data_size;
/* The audio chunk is often broken up into multiple 8K buffers when
* it is sent to the audio decoder. Only attach the proper timestamp
* to the first buffer. This is for the linear PCM decoder which
@@ -1933,15 +1933,15 @@ static int demux_qt_send_chunk(demux_plugin_t *this_gen) {
if ((buf->type == BUF_AUDIO_LPCM_BE) ||
(buf->type == BUF_AUDIO_LPCM_LE)) {
if (first_buf) {
- buf->input_time = this->qt->frames[i].pts / 90000;
+ buf->extra_info->input_time = this->qt->frames[i].pts / 90000;
buf->pts = this->qt->frames[i].pts;
first_buf = 0;
} else {
- buf->input_time = 0;
+ buf->extra_info->input_time = 0;
buf->pts = 0;
}
} else {
- buf->input_time = this->qt->frames[i].pts / 90000;
+ buf->extra_info->input_time = this->qt->frames[i].pts / 90000;
buf->pts = this->qt->frames[i].pts;
}
@@ -2075,7 +2075,7 @@ static void demux_qt_send_headers(demux_plugin_t *this_gen) {
buf->decoder_flags = BUF_FLAG_SPECIAL;
buf->decoder_info[1] = BUF_SPECIAL_PALETTE;
buf->decoder_info[2] = this->qt->palette_count;
- buf->decoder_info[3] = (unsigned int)&this->qt->palette;
+ buf->decoder_info_ptr[2] = &this->qt->palette;
buf->size = 0;
buf->type = this->qt->video_type;
this->video_fifo->put (this->video_fifo, buf);
@@ -2086,7 +2086,7 @@ static void demux_qt_send_headers(demux_plugin_t *this_gen) {
buf->decoder_flags = BUF_FLAG_SPECIAL;
buf->decoder_info[1] = BUF_SPECIAL_STSD_ATOM;
buf->decoder_info[2] = this->qt->video_stsd_size;
- buf->decoder_info[3] = (unsigned int)this->qt->video_stsd;
+ buf->decoder_info_ptr[2] = this->qt->video_stsd;
buf->size = 0;
buf->type = this->qt->video_type;
this->video_fifo->put (this->video_fifo, buf);
@@ -2111,7 +2111,7 @@ static void demux_qt_send_headers(demux_plugin_t *this_gen) {
buf->decoder_flags = BUF_FLAG_SPECIAL;
buf->decoder_info[1] = BUF_SPECIAL_DECODER_CONFIG;
buf->decoder_info[2] = this->qt->audio_decoder_config_len;
- buf->decoder_info[3] = (uint32_t)this->qt->audio_decoder_config;
+ buf->decoder_info_ptr[2] = this->qt->audio_decoder_config;
this->audio_fifo->put (this->audio_fifo, buf);
}
@@ -2120,7 +2120,7 @@ static void demux_qt_send_headers(demux_plugin_t *this_gen) {
buf->decoder_flags = BUF_FLAG_SPECIAL;
buf->decoder_info[1] = BUF_SPECIAL_STSD_ATOM;
buf->decoder_info[2] = this->qt->audio_stsd_size;
- buf->decoder_info[3] = (unsigned int)this->qt->audio_stsd;
+ buf->decoder_info_ptr[2] = this->qt->audio_stsd;
buf->size = 0;
buf->type = this->qt->audio_type;
this->audio_fifo->put (this->audio_fifo, buf);
@@ -2429,6 +2429,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "quicktime", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "quicktime", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c
index eae1aa960..7ee6201d3 100644
--- a/src/demuxers/demux_real.c
+++ b/src/demuxers/demux_real.c
@@ -21,7 +21,7 @@
* For more information regarding the Real file format, visit:
* http://www.pcisys.net/~melanson/codecs/
*
- * $Id: demux_real.c,v 1.26 2002/12/15 21:23:39 guenter Exp $
+ * $Id: demux_real.c,v 1.27 2002/12/21 12:56:45 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -434,8 +434,8 @@ static void real_parse_headers (demux_real_t *this) {
buf->size = mdpr->type_specific_len-off;
- buf->input_pos = 0 ;
- buf->input_time = 0 ;
+ buf->extra_info->input_pos = 0 ;
+ buf->extra_info->input_time = 0 ;
buf->type = this->audio_buf_type;
buf->decoder_flags = BUF_FLAG_HEADER;
@@ -486,8 +486,8 @@ static void real_parse_headers (demux_real_t *this) {
buf->size = mdpr->type_specific_len;
- buf->input_pos = 0 ;
- buf->input_time = 0 ;
+ buf->extra_info->input_pos = 0 ;
+ buf->extra_info->input_time = 0 ;
buf->type = BUF_VIDEO_RV20;
buf->decoder_flags = BUF_FLAG_HEADER;
@@ -517,8 +517,8 @@ static void real_parse_headers (demux_real_t *this) {
buf->size = mdpr->type_specific_len;
- buf->input_pos = 0 ;
- buf->input_time = 0 ;
+ buf->extra_info->input_pos = 0 ;
+ buf->extra_info->input_time = 0 ;
buf->type = BUF_VIDEO_RV30;
buf->decoder_flags = BUF_FLAG_HEADER;
@@ -791,9 +791,9 @@ static int demux_real_send_chunk(demux_plugin_t *this_gen) {
buf->content = buf->mem;
buf->pts = pts;
- buf->input_pos = this->input->get_current_pos (this->input);
+ buf->extra_info->input_pos = this->input->get_current_pos (this->input);
- buf->input_time = buf->input_pos * 8 / this->avg_bitrate ;
+ buf->extra_info->input_time = buf->extra_info->input_pos * 8 / this->avg_bitrate ;
buf->type = this->video_buf_type;
check_newpts (this, pts, PTS_VIDEO, 0);
@@ -872,8 +872,8 @@ static int demux_real_send_chunk(demux_plugin_t *this_gen) {
buf->content = buf->mem;
buf->pts = pts;
- buf->input_pos = this->input->get_current_pos (this->input);
- buf->input_time = buf->input_pos * 8 / this->avg_bitrate ;
+ buf->extra_info->input_pos = this->input->get_current_pos (this->input);
+ buf->extra_info->input_time = buf->extra_info->input_pos * 8 / this->avg_bitrate ;
buf->type = this->audio_buf_type;
buf->decoder_flags = 0;
buf->size = size;
@@ -1194,6 +1194,6 @@ static void *init_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "real", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 19, "real", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_realaudio.c b/src/demuxers/demux_realaudio.c
index 0bf171257..02ae5b97d 100644
--- a/src/demuxers/demux_realaudio.c
+++ b/src/demuxers/demux_realaudio.c
@@ -19,7 +19,7 @@
*
* RealAudio File Demuxer by Mike Melanson (melanson@pcisys.net)
*
- * $Id: demux_realaudio.c,v 1.7 2002/12/08 21:43:51 miguelfreitas Exp $
+ * $Id: demux_realaudio.c,v 1.8 2002/12/21 12:56:45 miguelfreitas Exp $
*
*/
@@ -143,9 +143,9 @@ static int demux_ra_send_chunk(demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo);
buf->type = this->audio_type;
- buf->input_pos = current_file_pos;
- buf->input_length = this->data_size;
- buf->input_time = current_pts / 90000;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_length = this->data_size;
+ buf->extra_info->input_time = current_pts / 90000;
buf->pts = current_pts;
if (remaining_sample_bytes > buf->max_size)
@@ -409,7 +409,7 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "realaudio", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "realaudio", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_roq.c b/src/demuxers/demux_roq.c
index 89425bd5e..afd8d0e3b 100644
--- a/src/demuxers/demux_roq.c
+++ b/src/demuxers/demux_roq.c
@@ -21,7 +21,7 @@
* For more information regarding the RoQ file format, visit:
* http://www.csse.monash.edu.au/~timf/
*
- * $Id: demux_roq.c,v 1.32 2002/12/08 21:43:51 miguelfreitas Exp $
+ * $Id: demux_roq.c,v 1.33 2002/12/21 12:56:45 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -218,7 +218,7 @@ static int demux_roq_send_chunk(demux_plugin_t *this_gen) {
while (chunk_size) {
buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo);
buf->type = BUF_AUDIO_ROQ;
- buf->input_pos = current_file_pos;
+ buf->extra_info->input_pos = current_file_pos;
buf->pts = audio_pts;
if (chunk_size > buf->max_size)
@@ -271,7 +271,7 @@ static int demux_roq_send_chunk(demux_plugin_t *this_gen) {
while (chunk_size) {
buf = this->video_fifo->buffer_pool_alloc (this->video_fifo);
buf->type = BUF_VIDEO_ROQ;
- buf->input_pos = current_file_pos;
+ buf->extra_info->input_pos = current_file_pos;
buf->pts = video_pts_counter;
if (chunk_size > buf->max_size)
@@ -530,6 +530,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "roq", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "roq", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_smjpeg.c b/src/demuxers/demux_smjpeg.c
index 0cc9a46c1..6fc9bf53f 100644
--- a/src/demuxers/demux_smjpeg.c
+++ b/src/demuxers/demux_smjpeg.c
@@ -21,7 +21,7 @@
* For more information on the SMJPEG file format, visit:
* http://www.lokigames.com/development/smjpeg.php3
*
- * $Id: demux_smjpeg.c,v 1.28 2002/12/08 21:43:51 miguelfreitas Exp $
+ * $Id: demux_smjpeg.c,v 1.29 2002/12/21 12:56:45 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -271,9 +271,9 @@ static int demux_smjpeg_send_chunk(demux_plugin_t *this_gen) {
buf->type = this->video_type;
}
- buf->input_pos = current_file_pos;
- buf->input_length = this->input_length;
- buf->input_time = pts / 90000;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_length = this->input_length;
+ buf->extra_info->input_time = pts / 90000;
buf->pts = pts;
if (last_frame_pts) {
@@ -558,6 +558,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "smjpeg", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "smjpeg", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_snd.c b/src/demuxers/demux_snd.c
index 87252005c..973527c65 100644
--- a/src/demuxers/demux_snd.c
+++ b/src/demuxers/demux_snd.c
@@ -19,7 +19,7 @@
*
* SND/AU File Demuxer by Mike Melanson (melanson@pcisys.net)
*
- * $Id: demux_snd.c,v 1.20 2002/12/08 21:43:52 miguelfreitas Exp $
+ * $Id: demux_snd.c,v 1.21 2002/12/21 12:56:45 miguelfreitas Exp $
*
*/
@@ -189,9 +189,9 @@ static int demux_snd_send_chunk(demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo);
buf->type = this->audio_type;
- buf->input_pos = current_file_pos;
- buf->input_length = this->data_size;
- buf->input_time = current_pts / 90000;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_length = this->data_size;
+ buf->extra_info->input_time = current_pts / 90000;
buf->pts = current_pts;
if (remaining_sample_bytes > buf->max_size)
@@ -449,6 +449,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "snd", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "snd", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c
index 7980edfb2..e4ef198ef 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.70 2002/12/17 16:42:29 jkeil Exp $
+ * $Id: demux_ts.c,v 1.71 2002/12/21 12:56:46 miguelfreitas Exp $
*
* Demultiplexer for MPEG2 Transport Streams.
*
@@ -111,7 +111,7 @@
* used to pass control information to the decoder.
*
* If decoder_info[1] == BUF_SPECIAL_SPU_DVB_DESCRIPTOR then
- * decoder_info[2] either points to a spu_dvb_descriptor_t or is 0.
+ * decoder_info_ptr[2] either points to a spu_dvb_descriptor_t or is NULL.
*
* If it is 0, the user has disabled the subtitling, or has selected a
* channel that is not present in the stream. The decoder should
@@ -367,7 +367,8 @@ static void demux_ts_update_spu_channel(demux_ts_t *this)
{
demux_ts_spu_lang *lang = &this->spu_langs[this->current_spu_channel];
- buf->decoder_info[2] = (uint32_t) &(lang->desc);
+ buf->decoder_info[2] = sizeof(lang->desc);
+ buf->decoder_info_ptr[2] = &(lang->desc);
this->spu_pid = lang->pid;
this->spu_media = lang->media_index;
@@ -379,7 +380,7 @@ static void demux_ts_update_spu_channel(demux_ts_t *this)
}
else
{
- buf->decoder_info[2] = 0;
+ buf->decoder_info_ptr[2] = NULL;
this->spu_pid = INVALID_PID;
@@ -748,7 +749,7 @@ static void demux_ts_buffer_pes(demux_ts_t*this, unsigned char *ts,
}
m->buf->pts = m->pts;
m->buf->decoder_info[0] = 1;
- m->buf->input_pos = this->input->get_current_pos(this->input);
+ m->buf->extra_info->input_pos = this->input->get_current_pos(this->input);
m->fifo->put(m->fifo, m->buf);
m->buffered_bytes = 0;
m->buf = NULL; /* forget about buf -- not our responsibility anymore */
@@ -778,7 +779,7 @@ static void demux_ts_buffer_pes(demux_ts_t*this, unsigned char *ts,
m->buf->type = m->type;
m->buf->pts = m->pts;
m->buf->decoder_info[0] = 1;
- m->buf->input_pos = this->input->get_current_pos(this->input);
+ m->buf->extra_info->input_pos = this->input->get_current_pos(this->input);
m->fifo->put(m->fifo, m->buf);
m->buffered_bytes = 0;
m->buf = m->fifo->buffer_pool_alloc(m->fifo);
@@ -2008,6 +2009,6 @@ static void *init_class (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "mpeg-ts", XINE_VERSION_CODE, NULL, init_class },
+ { PLUGIN_DEMUX, 19, "mpeg-ts", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_voc.c b/src/demuxers/demux_voc.c
index 4de21ff59..fbab20fb5 100644
--- a/src/demuxers/demux_voc.c
+++ b/src/demuxers/demux_voc.c
@@ -23,7 +23,7 @@
* It will only play that block if it is PCM data. More variations will be
* supported as they are encountered.
*
- * $Id: demux_voc.c,v 1.20 2002/12/08 21:43:52 miguelfreitas Exp $
+ * $Id: demux_voc.c,v 1.21 2002/12/21 12:56:46 miguelfreitas Exp $
*
*/
@@ -181,9 +181,9 @@ static int demux_voc_send_chunk(demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo);
buf->type = this->audio_type;
- buf->input_pos = current_file_pos;
- buf->input_length = this->data_size;
- buf->input_time = current_pts / 90000;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_length = this->data_size;
+ buf->extra_info->input_time = current_pts / 90000;
buf->pts = current_pts;
if (remaining_sample_bytes > buf->max_size)
@@ -437,6 +437,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "voc", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "voc", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_vqa.c b/src/demuxers/demux_vqa.c
index 9b1b32039..c1784765e 100644
--- a/src/demuxers/demux_vqa.c
+++ b/src/demuxers/demux_vqa.c
@@ -27,7 +27,7 @@
* block needs information from the previous audio block in order to be
* decoded, thus making random seeking difficult.
*
- * $Id: demux_vqa.c,v 1.23 2002/12/08 21:43:52 miguelfreitas Exp $
+ * $Id: demux_vqa.c,v 1.24 2002/12/21 12:56:46 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -181,9 +181,9 @@ static int demux_vqa_send_chunk(demux_plugin_t *this_gen) {
while (chunk_size) {
buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo);
buf->type = BUF_AUDIO_VQA_IMA;
- buf->input_pos = current_file_pos;
- buf->input_length = this->filesize;
- buf->input_time = audio_pts / 90000;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_length = this->filesize;
+ buf->extra_info->input_time = audio_pts / 90000;
buf->pts = audio_pts;
if (chunk_size > buf->max_size)
@@ -222,9 +222,9 @@ static int demux_vqa_send_chunk(demux_plugin_t *this_gen) {
while (chunk_size) {
buf = this->video_fifo->buffer_pool_alloc (this->video_fifo);
buf->type = BUF_VIDEO_VQA;
- buf->input_pos = current_file_pos;
- buf->input_length = this->filesize;
- buf->input_time = this->video_pts / 90000;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_length = this->filesize;
+ buf->extra_info->input_time = this->video_pts / 90000;
buf->pts = this->video_pts;
if (chunk_size > buf->max_size)
@@ -477,6 +477,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "vqa", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "vqa", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_wav.c b/src/demuxers/demux_wav.c
index 73724cfac..7457f95a2 100644
--- a/src/demuxers/demux_wav.c
+++ b/src/demuxers/demux_wav.c
@@ -20,7 +20,7 @@
* MS WAV File Demuxer by Mike Melanson (melanson@pcisys.net)
* based on WAV specs that are available far and wide
*
- * $Id: demux_wav.c,v 1.28 2002/12/08 21:43:52 miguelfreitas Exp $
+ * $Id: demux_wav.c,v 1.29 2002/12/21 12:56:46 miguelfreitas Exp $
*
*/
@@ -174,9 +174,9 @@ static int demux_wav_send_chunk(demux_plugin_t *this_gen) {
while (remaining_sample_bytes) {
buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo);
buf->type = this->audio_type;
- buf->input_pos = current_file_pos;
- buf->input_length = this->data_size;
- buf->input_time = current_pts / 90000;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_length = this->data_size;
+ buf->extra_info->input_time = current_pts / 90000;
buf->pts = current_pts;
if (remaining_sample_bytes > buf->max_size)
@@ -450,6 +450,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "wav", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "wav", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_wc3movie.c b/src/demuxers/demux_wc3movie.c
index b51860825..122b0a4a6 100644
--- a/src/demuxers/demux_wc3movie.c
+++ b/src/demuxers/demux_wc3movie.c
@@ -22,7 +22,7 @@
* For more information on the MVE file format, visit:
* http://www.pcisys.net/~melanson/codecs/
*
- * $Id: demux_wc3movie.c,v 1.28 2002/12/08 21:43:52 miguelfreitas Exp $
+ * $Id: demux_wc3movie.c,v 1.29 2002/12/21 12:56:46 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -217,8 +217,7 @@ static int demux_mve_send_chunk(demux_plugin_t *this_gen) {
buf->decoder_flags = BUF_FLAG_SPECIAL;
buf->decoder_info[1] = BUF_SPECIAL_PALETTE;
buf->decoder_info[2] = PALETTE_SIZE;
- buf->decoder_info[3] =
- (unsigned int)&this->palettes[PALETTE_SIZE * palette_number];
+ buf->decoder_info_ptr[2] = &this->palettes[PALETTE_SIZE * palette_number];
buf->size = 0;
buf->type = BUF_VIDEO_WC3;
this->video_fifo->put (this->video_fifo, buf);
@@ -230,9 +229,9 @@ static int demux_mve_send_chunk(demux_plugin_t *this_gen) {
while (chunk_size) {
buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo);
buf->type = BUF_AUDIO_LPCM_LE;
- buf->input_pos = current_file_pos;
- buf->input_length = this->data_size;
- buf->input_time = audio_pts / 90000;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_length = this->data_size;
+ buf->extra_info->input_time = audio_pts / 90000;
buf->pts = audio_pts;
if (chunk_size > buf->max_size)
@@ -259,9 +258,9 @@ static int demux_mve_send_chunk(demux_plugin_t *this_gen) {
while (chunk_size) {
buf = this->video_fifo->buffer_pool_alloc (this->video_fifo);
buf->type = BUF_VIDEO_WC3;
- buf->input_pos = current_file_pos;
- buf->input_length = this->data_size;
- buf->input_time = this->video_pts / 90000;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_length = this->data_size;
+ buf->extra_info->input_time = this->video_pts / 90000;
buf->pts = this->video_pts;
if (chunk_size > buf->max_size)
@@ -787,6 +786,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "wc3movie", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "wc3movie", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/demuxers/demux_yuv4mpeg2.c b/src/demuxers/demux_yuv4mpeg2.c
index 41fad5b6e..14c777fde 100644
--- a/src/demuxers/demux_yuv4mpeg2.c
+++ b/src/demuxers/demux_yuv4mpeg2.c
@@ -22,7 +22,7 @@
* tools, visit:
* http://mjpeg.sourceforge.net/
*
- * $Id: demux_yuv4mpeg2.c,v 1.13 2002/12/08 21:43:52 miguelfreitas Exp $
+ * $Id: demux_yuv4mpeg2.c,v 1.14 2002/12/21 12:56:46 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -206,8 +206,8 @@ static int demux_yuv4mpeg2_send_chunk(demux_plugin_t *this_gen) {
while(bytes_remaining) {
buf = this->video_fifo->buffer_pool_alloc (this->video_fifo);
buf->type = BUF_VIDEO_YV12;
- buf->input_pos = current_file_pos;
- buf->input_length = this->data_size;
+ buf->extra_info->input_pos = current_file_pos;
+ buf->extra_info->input_length = this->data_size;
buf->pts = pts;
if (bytes_remaining > buf->max_size)
@@ -453,6 +453,6 @@ static void *init_plugin (xine_t *xine, void *data) {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_DEMUX, 18, "yuv4mpeg2", XINE_VERSION_CODE, NULL, init_plugin },
+ { PLUGIN_DEMUX, 19, "yuv4mpeg2", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};