diff options
Diffstat (limited to 'src/demuxers')
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 } }; |