diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2004-01-09 01:26:32 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2004-01-09 01:26:32 +0000 |
commit | c0641405dec6fb244e7d3104035f64f6e535731c (patch) | |
tree | ebde21ba846624ff2ed4e0682b0b31a6a4dd1c0d /src/demuxers | |
parent | d1c62ab2512fa23f7bf510396bf5bce28e05b5f9 (diff) | |
download | xine-lib-c0641405dec6fb244e7d3104035f64f6e535731c.tar.gz xine-lib-c0641405dec6fb244e7d3104035f64f6e535731c.tar.bz2 |
- rework semantics of some buffer flags. check buffer.h for details.
- increase demux and decoder apis
- fix runtime changing of ogg/ogm audio channels
note: i hope i haven't broken any demux->decoder data exchange. please report any problems.
CVS patchset: 6014
CVS date: 2004/01/09 01:26:32
Diffstat (limited to 'src/demuxers')
33 files changed, 109 insertions, 106 deletions
diff --git a/src/demuxers/demux_4xm.c b/src/demuxers/demux_4xm.c index c936d1065..fe96e944a 100644 --- a/src/demuxers/demux_4xm.c +++ b/src/demuxers/demux_4xm.c @@ -23,7 +23,7 @@ * For more information on the 4xm file format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: demux_4xm.c,v 1.12 2003/11/26 19:43:27 f1rmb Exp $ + * $Id: demux_4xm.c,v 1.13 2004/01/09 01:26:32 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -402,7 +402,7 @@ static void demux_fourxm_send_headers(demux_plugin_t *this_gen) { /* send init info to decoders */ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->video_pts_inc; /* initial video_step */ memcpy(buf->content, &this->bih, sizeof(this->bih)); @@ -413,7 +413,7 @@ static void demux_fourxm_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo && this->track_count > 0) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = this->tracks[0].audio_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->tracks[0].sample_rate; buf->decoder_info[2] = this->tracks[0].bits; diff --git a/src/demuxers/demux_aac.c b/src/demuxers/demux_aac.c index 8008a0d27..6340b918d 100644 --- a/src/demuxers/demux_aac.c +++ b/src/demuxers/demux_aac.c @@ -21,7 +21,7 @@ * This demuxer presently only detects a raw AAC file by the extension * '.aac'. Then it shovels buffer-sized chunks over to the AAC decoder. * - * $Id: demux_aac.c,v 1.1 2003/12/19 05:09:16 tmmm Exp $ + * $Id: demux_aac.c,v 1.2 2004/01/09 01:26:32 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -107,7 +107,7 @@ static void demux_aac_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_AAC; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; /* this is a guess at the correct parameters */ buf->decoder_info[1] = 44100; diff --git a/src/demuxers/demux_ac3.c b/src/demuxers/demux_ac3.c index 992620d17..1ec686674 100644 --- a/src/demuxers/demux_ac3.c +++ b/src/demuxers/demux_ac3.c @@ -23,7 +23,7 @@ * This demuxer detects raw AC3 data in a file and shovels AC3 data * directly to the AC3 decoder. * - * $Id: demux_ac3.c,v 1.14 2003/11/16 23:33:43 f1rmb Exp $ + * $Id: demux_ac3.c,v 1.15 2004/01/09 01:26:32 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -240,7 +240,7 @@ static void demux_ac3_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_A52; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_FRAME_END; buf->size = 0; this->audio_fifo->put (this->audio_fifo, buf); } diff --git a/src/demuxers/demux_aiff.c b/src/demuxers/demux_aiff.c index 73af2fff6..4d8020aa8 100644 --- a/src/demuxers/demux_aiff.c +++ b/src/demuxers/demux_aiff.c @@ -21,7 +21,7 @@ /* * AIFF File Demuxer by Mike Melanson (melanson@pcisys.net) * - * $Id: demux_aiff.c,v 1.37 2003/11/16 23:33:43 f1rmb Exp $ + * $Id: demux_aiff.c,v 1.38 2004/01/09 01:26:32 miguelfreitas Exp $ * */ @@ -253,7 +253,7 @@ static void demux_aiff_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo && this->audio_type) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = this->audio_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->audio_sample_rate; buf->decoder_info[2] = this->audio_bits; diff --git a/src/demuxers/demux_asf.c b/src/demuxers/demux_asf.c index 2596ab40f..2ae184823 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.145 2003/12/05 15:54:57 f1rmb Exp $ + * $Id: demux_asf.c,v 1.146 2004/01/09 01:26:32 miguelfreitas Exp $ * * demultiplexer for asf streams * @@ -307,7 +307,7 @@ static void asf_send_audio_header (demux_asf_t *this, int stream) { buf->size = this->wavex_size; buf->type = this->streams[stream].buf_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[1] = wavex->nSamplesPerSec; buf->decoder_info[2] = wavex->wBitsPerSample; buf->decoder_info[3] = wavex->nChannels; @@ -329,7 +329,7 @@ static void asf_send_video_header (demux_asf_t *this, int stream) { _x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_FOURCC, bih->biCompression); buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[1] = 3000; /* FIXME ! */ memcpy (buf->content, &this->bih, this->bih_size); buf->size = this->bih_size; diff --git a/src/demuxers/demux_aud.c b/src/demuxers/demux_aud.c index 4b3691bf6..d4351b1be 100644 --- a/src/demuxers/demux_aud.c +++ b/src/demuxers/demux_aud.c @@ -34,7 +34,7 @@ * data. This makes seeking conceptually impossible. Upshot: Random * seeking is not supported. * - * $Id: demux_aud.c,v 1.15 2003/11/16 23:33:43 f1rmb Exp $ + * $Id: demux_aud.c,v 1.16 2004/01/09 01:26:32 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -211,7 +211,7 @@ static void demux_aud_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = this->audio_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->audio_samplerate; buf->decoder_info[2] = this->audio_bits; diff --git a/src/demuxers/demux_avi.c b/src/demuxers/demux_avi.c index 873a49900..72f18ac02 100644 --- a/src/demuxers/demux_avi.c +++ b/src/demuxers/demux_avi.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_avi.c,v 1.185 2003/12/23 16:58:25 mroi Exp $ + * $Id: demux_avi.c,v 1.186 2004/01/09 01:26:32 miguelfreitas Exp $ * * demultiplexer for avi streams * @@ -1532,7 +1532,7 @@ static void demux_avi_send_headers (demux_plugin_t *this_gen) { _x_demux_control_start (this->stream); buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[1] = this->video_step; memcpy (buf->content, this->avi->bih, this->avi->bih->biSize); buf->size = this->avi->bih->biSize; @@ -1562,7 +1562,7 @@ static void demux_avi_send_headers (demux_plugin_t *this_gen) { /* send off the palette, if there is one */ if (this->avi->palette_count) { buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_SPECIAL; + buf->decoder_flags = BUF_FLAG_SPECIAL|BUF_FLAG_HEADER; buf->decoder_info[1] = BUF_SPECIAL_PALETTE; buf->decoder_info[2] = this->avi->palette_count; buf->decoder_info_ptr[2] = &this->avi->palette; @@ -1578,7 +1578,7 @@ static void demux_avi_send_headers (demux_plugin_t *this_gen) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); wavex_len = (a->wavex_len < buf->max_size) ? a->wavex_len : buf->max_size; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; memcpy (buf->content, a->wavex, wavex_len); buf->size = wavex_len; buf->type = a->audio_type | i; diff --git a/src/demuxers/demux_cdda.c b/src/demuxers/demux_cdda.c index c771d93c6..2c12c4902 100644 --- a/src/demuxers/demux_cdda.c +++ b/src/demuxers/demux_cdda.c @@ -24,7 +24,7 @@ * linear PCM "decoder" (which in turn sends them directly to the audio * output target; this is a really fancy CD-playing architecture). * - * $Id: demux_cdda.c,v 1.17 2003/11/16 23:33:43 f1rmb Exp $ + * $Id: demux_cdda.c,v 1.18 2004/01/09 01:26:32 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -127,7 +127,7 @@ static void demux_cdda_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_LPCM_LE; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = 44100; buf->decoder_info[2] = 16; diff --git a/src/demuxers/demux_eawve.c b/src/demuxers/demux_eawve.c index 2ee247459..1e67154c8 100644 --- a/src/demuxers/demux_eawve.c +++ b/src/demuxers/demux_eawve.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_eawve.c,v 1.26 2003/11/26 19:43:29 f1rmb Exp $ + * $Id: demux_eawve.c,v 1.27 2004/01/09 01:26:32 miguelfreitas Exp $ * * demux_eawve.c, Demuxer plugin for Electronic Arts' WVE file format * @@ -299,7 +299,7 @@ static void demux_eawve_send_headers(demux_plugin_t *this_gen){ buf = this->audio_fifo->buffer_pool_alloc(this->audio_fifo); buf->type = BUF_AUDIO_EA_ADPCM; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = 22050; buf->decoder_info[2] = 16; diff --git a/src/demuxers/demux_film.c b/src/demuxers/demux_film.c index 0e65514b0..2f548b459 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.73 2003/12/05 15:54:57 f1rmb Exp $ + * $Id: demux_film.c,v 1.74 2004/01/09 01:26:32 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -692,7 +692,7 @@ static void demux_film_send_headers(demux_plugin_t *this_gen) { } buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = initial_duration; memcpy(buf->content, &this->bih, sizeof(this->bih)); @@ -704,7 +704,7 @@ static void demux_film_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo && this->audio_type) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_LPCM_BE; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->sample_rate; buf->decoder_info[2] = this->audio_bits; diff --git a/src/demuxers/demux_fli.c b/src/demuxers/demux_fli.c index cec36f2ff..3f0738a08 100644 --- a/src/demuxers/demux_fli.c +++ b/src/demuxers/demux_fli.c @@ -24,7 +24,7 @@ * avoid while programming a FLI decoder, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: demux_fli.c,v 1.48 2003/11/16 23:33:43 f1rmb Exp $ + * $Id: demux_fli.c,v 1.49 2004/01/09 01:26:32 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -239,7 +239,7 @@ static void demux_fli_send_headers(demux_plugin_t *this_gen) { /* send init info to FLI decoder */ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->frame_pts_inc; /* initial video_step */ /* be a rebel and send the FLI header instead of the bih */ diff --git a/src/demuxers/demux_idcin.c b/src/demuxers/demux_idcin.c index 00e4b943b..09c7e47f2 100644 --- a/src/demuxers/demux_idcin.c +++ b/src/demuxers/demux_idcin.c @@ -65,7 +65,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.49 2003/11/26 19:43:30 f1rmb Exp $ + * $Id: demux_idcin.c,v 1.50 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -175,7 +175,7 @@ static int demux_idcin_send_chunk(demux_plugin_t *this_gen) { } buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_SPECIAL; + buf->decoder_flags = BUF_FLAG_SPECIAL|BUF_FLAG_HEADER; buf->decoder_info[1] = BUF_SPECIAL_PALETTE; buf->decoder_info[2] = PALETTE_SIZE; buf->decoder_info_ptr[2] = &palette; @@ -369,7 +369,7 @@ static void demux_idcin_send_headers(demux_plugin_t *this_gen) { /* send init info to decoders */ bih->biSize = sizeof(xine_bmiheader) + HUFFMAN_TABLE_SIZE; buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = IDCIN_FRAME_PTS_INC; /* initial video_step */ buf->size = bih->biSize; @@ -395,7 +395,7 @@ static void demux_idcin_send_headers(demux_plugin_t *this_gen) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_LPCM_LE; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->wave.nSamplesPerSec; buf->decoder_info[2] = this->wave.wBitsPerSample; diff --git a/src/demuxers/demux_iff.c b/src/demuxers/demux_iff.c index 1526330ea..44bab6b39 100644 --- a/src/demuxers/demux_iff.c +++ b/src/demuxers/demux_iff.c @@ -32,7 +32,7 @@ * (no examples found and description isn't as clear as it should) * * 16SV, the same support as 8SVX * - * $Id: demux_iff.c,v 1.2 2004/01/04 00:41:33 manfredtremmel Exp $ + * $Id: demux_iff.c,v 1.3 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -743,7 +743,7 @@ static void demux_iff_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo && this->audio_type) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = this->audio_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->vhdr_samplesPerSec; buf->decoder_info[2] = this->audio_bits; diff --git a/src/demuxers/demux_ipmovie.c b/src/demuxers/demux_ipmovie.c index 97e435dd7..37e75736b 100644 --- a/src/demuxers/demux_ipmovie.c +++ b/src/demuxers/demux_ipmovie.c @@ -23,7 +23,7 @@ * For more information regarding the Interplay MVE file format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: demux_ipmovie.c,v 1.20 2003/11/26 19:43:30 f1rmb Exp $ + * $Id: demux_ipmovie.c,v 1.21 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -435,7 +435,7 @@ static int process_ipmovie_chunk(demux_ipmovie_t *this) { /* send off any new palette data */ if (this->new_palette) { buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_SPECIAL; + buf->decoder_flags = BUF_FLAG_SPECIAL|BUF_FLAG_HEADER; buf->decoder_info[1] = BUF_SPECIAL_PALETTE; buf->decoder_info[2] = 256; buf->decoder_info_ptr[2] = &this->palette; @@ -580,7 +580,7 @@ static void demux_ipmovie_send_headers(demux_plugin_t *this_gen) { /* send init info to video decoder */ this->bih.biSize = sizeof(xine_bmiheader); buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; /* bogus initial video_step, but we won't know for sure until we see * the first video frame; however, fps for these files is usually 15 */ @@ -592,7 +592,7 @@ static void demux_ipmovie_send_headers(demux_plugin_t *this_gen) { /* send off the palette */ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_SPECIAL; + buf->decoder_flags = BUF_FLAG_SPECIAL|BUF_FLAG_HEADER; buf->decoder_info[1] = BUF_SPECIAL_PALETTE; buf->decoder_info[2] = 256; buf->decoder_info_ptr[2] = &this->palette; @@ -609,7 +609,7 @@ static void demux_ipmovie_send_headers(demux_plugin_t *this_gen) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = this->audio_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->wave.nSamplesPerSec; buf->decoder_info[2] = this->wave.wBitsPerSample; diff --git a/src/demuxers/demux_matroska.c b/src/demuxers/demux_matroska.c index 363826af1..fa77345f0 100644 --- a/src/demuxers/demux_matroska.c +++ b/src/demuxers/demux_matroska.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_matroska.c,v 1.4 2004/01/05 19:39:10 tmattern Exp $ + * $Id: demux_matroska.c,v 1.5 2004/01/09 01:26:33 miguelfreitas Exp $ * * demultiplexer for matroska streams * @@ -296,7 +296,7 @@ static void init_codec_video(demux_matroska_t *this, matroska_track_t *track) { else buf->content = NULL; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_FRAME_END; buf->type = track->buf_type; buf->pts = 0; track->fifo->put (track->fifo, buf); @@ -336,7 +336,7 @@ static void init_codec_audio(demux_matroska_t *this, matroska_track_t *track) { else buf->content = NULL; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_FRAME_END; buf->type = track->buf_type; buf->pts = 0; track->fifo->put (track->fifo, buf); diff --git a/src/demuxers/demux_mng.c b/src/demuxers/demux_mng.c index e1afda477..b36135374 100644 --- a/src/demuxers/demux_mng.c +++ b/src/demuxers/demux_mng.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_mng.c,v 1.18 2003/12/10 00:54:25 hadess Exp $ + * $Id: demux_mng.c,v 1.19 2004/01/09 01:26:33 miguelfreitas Exp $ * * demux_mng.c, Demuxer plugin for Multiple-image Network Graphics format * @@ -220,7 +220,7 @@ static void demux_mng_send_headers(demux_mng_t *this){ buf->type = BUF_VIDEO_RGB; buf->size = sizeof(xine_bmiheader); memcpy(buf->content, &this->bih, sizeof(xine_bmiheader)); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; this->video_fifo->put(this->video_fifo, buf); } diff --git a/src/demuxers/demux_nsf.c b/src/demuxers/demux_nsf.c index eb89c1b01..b76cd2cec 100644 --- a/src/demuxers/demux_nsf.c +++ b/src/demuxers/demux_nsf.c @@ -30,7 +30,7 @@ * For more information regarding the NSF format, visit: * http://www.tripoint.org/kevtris/nes/nsfspec.txt * - * $Id: demux_nsf.c,v 1.20 2003/11/26 23:44:09 f1rmb Exp $ + * $Id: demux_nsf.c,v 1.21 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -216,7 +216,7 @@ static void demux_nsf_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_NSF; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 5; buf->decoder_info[1] = NSF_SAMPLERATE; buf->decoder_info[2] = NSF_BITS; diff --git a/src/demuxers/demux_nsv.c b/src/demuxers/demux_nsv.c index 88875be98..03226ee42 100644 --- a/src/demuxers/demux_nsv.c +++ b/src/demuxers/demux_nsv.c @@ -23,7 +23,7 @@ * For more information regarding the NSV file format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: demux_nsv.c,v 1.12 2004/01/04 11:59:33 hadess Exp $ + * $Id: demux_nsv.c,v 1.13 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -378,7 +378,7 @@ static void demux_nsv_send_headers(demux_plugin_t *this_gen) { /* send init info to the video decoder */ if (this->video_fifo && this->video_type) { buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->frame_pts_inc; memcpy(buf->content, &this->bih, sizeof(this->bih)); diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c index 72e8c6c02..f722280da 100644 --- a/src/demuxers/demux_ogg.c +++ b/src/demuxers/demux_ogg.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_ogg.c,v 1.130 2003/12/30 17:21:02 miguelfreitas Exp $ + * $Id: demux_ogg.c,v 1.131 2004/01/09 01:26:33 miguelfreitas Exp $ * * demultiplexer for ogg streams * @@ -113,7 +113,7 @@ typedef struct demux_ogg_s { ogg_stream_state oss[MAX_STREAMS]; uint32_t buf_types[MAX_STREAMS]; - int preview_buffers[MAX_STREAMS]; + int headers[MAX_STREAMS]; int64_t header_granulepos[MAX_STREAMS]; int64_t factor[MAX_STREAMS]; int64_t quotient[MAX_STREAMS]; @@ -727,7 +727,7 @@ static void demux_ogg_send_header (demux_ogg_t *this) { this->buf_types[stream_num] = BUF_AUDIO_VORBIS +this->num_audio_streams++; - this->preview_buffers[stream_num] = 3; + this->headers[stream_num] = 3; vorbis_info_init(&vi); vorbis_comment_init(&vc); @@ -750,7 +750,7 @@ static void demux_ogg_send_header (demux_ogg_t *this) { this->factor[stream_num] = 900; this->quotient[stream_num] = 441; - this->preview_buffers[stream_num] = 0; + this->headers[stream_num] = 0; xine_log (this->stream->xine, XINE_LOG_MSG, _("ogg: vorbis audio track indicated but no vorbis stream header found.\n")); } @@ -766,7 +766,7 @@ static void demux_ogg_send_header (demux_ogg_t *this) { this->buf_types[stream_num] = BUF_AUDIO_SPEEX +this->num_audio_streams++; - this->preview_buffers[stream_num] = 1; + this->headers[stream_num] = 1; header = speex_packet_to_header (op.packet, op.bytes); @@ -795,7 +795,7 @@ static void demux_ogg_send_header (demux_ogg_t *this) { _x_stream_info_set(this->stream, XINE_STREAM_INFO_AUDIO_SAMPLERATE, header->rate); - this->preview_buffers[stream_num] += header->extra_headers; + this->headers[stream_num] += header->extra_headers; } #else xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, "Speex stream detected, unable to play\n"); @@ -837,7 +837,7 @@ static void demux_ogg_send_header (demux_ogg_t *this) { if( !this->buf_types[stream_num] ) this->buf_types[stream_num] = BUF_VIDEO_UNKNOWN; this->buf_types[stream_num] |= channel; - this->preview_buffers[stream_num] = 5; /* FIXME: don't know */ + this->headers[stream_num] = 0; /* header is sent below */ lprintf ("subtype %.4s\n", (char*)&locsubtype); lprintf ("time_unit %lld\n", loctime_unit); @@ -862,7 +862,7 @@ static void demux_ogg_send_header (demux_ogg_t *this) { bih.biClrImportant=0; buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; this->frame_duration = loctime_unit * 9 / 1000; this->factor[stream_num] = loctime_unit * 9; this->quotient[stream_num] = 1000; @@ -944,14 +944,14 @@ static void demux_ogg_send_header (demux_ogg_t *this) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = this->buf_types[stream_num]; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = locsamples_per_unit; buf->decoder_info[2] = locbits_per_sample; buf->decoder_info[3] = locchannels; this->audio_fifo->put (this->audio_fifo, buf); - this->preview_buffers[stream_num] = 5; /* FIXME: don't know */ + this->headers[stream_num] = 0; /* header already sent */ this->factor[stream_num] = 90000; this->quotient[stream_num] = locsamples_per_unit; @@ -984,7 +984,7 @@ static void demux_ogg_send_header (demux_ogg_t *this) { #ifdef LOG xine_hexdump (op.packet, op.bytes); #endif - this->preview_buffers[stream_num] = 5; /* FIXME: don't know */ + this->headers[stream_num] = 0; /* header is sent below */ if ( (LE_32(&op.packet[96])==0x05589f80) && (op.bytes>=184)) { @@ -1019,7 +1019,7 @@ static void demux_ogg_send_header (demux_ogg_t *this) { bih.biClrImportant = 0; buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; this->frame_duration = (*(int64_t*)(op.packet+164)) * 9 / 1000; this->factor[stream_num] = (*(int64_t*)(op.packet+164)) * 9; this->quotient[stream_num] = 1000; @@ -1090,7 +1090,7 @@ static void demux_ogg_send_header (demux_ogg_t *this) { buf_element_t *buf; lprintf ("textstream detected.\n"); - this->preview_buffers[stream_num] = 2; + this->headers[stream_num] = 0; channel= this->num_spu_streams++; this->buf_types[stream_num] = BUF_SPU_OGM | channel; @@ -1119,7 +1119,7 @@ static void demux_ogg_send_header (demux_ogg_t *this) { this->frame_duration = ((int64_t) 90000*this->t_info.fps_denominator)/this->t_info.fps_numerator; - this->preview_buffers[stream_num]=3; + this->headers[stream_num]=3; this->buf_types[stream_num] = BUF_VIDEO_THEORA; _x_meta_info_set(this->stream, XINE_META_INFO_VIDEOCODEC, "theora"); @@ -1146,7 +1146,7 @@ static void demux_ogg_send_header (demux_ogg_t *this) { xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, "A theora header was rejected by libtheora\n"); this->buf_types[stream_num] = BUF_CONTROL_NOP; - this->preview_buffers[stream_num] = 5; /* FIXME: don't know */ + this->headers[stream_num] = 0; /* FIXME: don't know */ } #else this->buf_types[stream_num] = BUF_VIDEO_THEORA; @@ -1171,23 +1171,23 @@ static void demux_ogg_send_header (demux_ogg_t *this) { lprintf ("sending preview buffer of stream type %08x\n", this->buf_types[stream_num]); - send_ogg_buf (this, &op, stream_num, BUF_FLAG_PREVIEW); + send_ogg_buf (this, &op, stream_num, BUF_FLAG_HEADER); if (!ogg_page_bos(&this->og)) { int i; /* are we finished ? */ - this->preview_buffers[stream_num] --; + this->headers[stream_num] --; done = 1; for (i=0; i<this->num_streams; i++) { - if (this->preview_buffers[i]>0) + if (this->headers[i]>0) done = 0; lprintf ("%d preview buffers left to send from stream %d\n", - this->preview_buffers[i], i); + this->headers[i], i); } } } @@ -1574,6 +1574,7 @@ static int demux_ogg_get_optional_data(demux_plugin_t *this_gen, switch (data_type) { case DEMUX_OPTIONAL_DATA_SPULANG: + lprintf ("DEMUX_OPTIONAL_DATA_SPULANG channel = %d\n",channel); if (channel==-1) { strcpy( str, "none"); return DEMUX_OPTIONAL_SUCCESS; @@ -1598,6 +1599,7 @@ static int demux_ogg_get_optional_data(demux_plugin_t *this_gen, } return DEMUX_OPTIONAL_UNSUPPORTED; case DEMUX_OPTIONAL_DATA_AUDIOLANG: + lprintf ("DEMUX_OPTIONAL_DATA_AUDIOLANG channel = %d\n",channel); if (channel==-1) { strcpy( str, "none"); return DEMUX_OPTIONAL_SUCCESS; diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c index 3b3952c74..aa6f5765c 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.174 2004/01/06 05:39:07 tmmm Exp $ + * $Id: demux_qt.c,v 1.175 2004/01/09 01:26:33 miguelfreitas Exp $ * */ @@ -2424,7 +2424,7 @@ static void demux_qt_send_headers(demux_plugin_t *this_gen) { if (video_trak && (video_trak->properties->video.codec_buftype)) { buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; /* initial video step; not necessary since each QT frame has its own * duration, but set it non-zero as a matter of custom */ @@ -2446,7 +2446,7 @@ static void demux_qt_send_headers(demux_plugin_t *this_gen) { /* send off the palette, if there is one */ if (video_trak->properties->video.palette_count) { buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_SPECIAL; + buf->decoder_flags = BUF_FLAG_SPECIAL|BUF_FLAG_HEADER; buf->decoder_info[1] = BUF_SPECIAL_PALETTE; buf->decoder_info[2] = video_trak->properties->video.palette_count; buf->decoder_info_ptr[2] = &video_trak->properties->video.palette; @@ -2457,7 +2457,7 @@ static void demux_qt_send_headers(demux_plugin_t *this_gen) { /* send stsd to the decoder */ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_SPECIAL; + buf->decoder_flags = BUF_FLAG_SPECIAL|BUF_FLAG_HEADER; buf->decoder_info[1] = BUF_SPECIAL_STSD_ATOM; buf->decoder_info[2] = video_trak->properties->video.properties_atom_size; buf->decoder_info_ptr[2] = video_trak->properties->video.properties_atom; @@ -2472,7 +2472,7 @@ static void demux_qt_send_headers(demux_plugin_t *this_gen) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = audio_trak->properties->audio.codec_buftype; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = audio_trak->properties->audio.sample_rate; buf->decoder_info[2] = audio_trak->properties->audio.bits; @@ -2485,7 +2485,7 @@ static void demux_qt_send_headers(demux_plugin_t *this_gen) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = audio_trak->properties->audio.codec_buftype; buf->size = 0; - buf->decoder_flags = BUF_FLAG_SPECIAL; + buf->decoder_flags = BUF_FLAG_SPECIAL|BUF_FLAG_HEADER; buf->decoder_info[1] = BUF_SPECIAL_DECODER_CONFIG; buf->decoder_info[2] = audio_trak->decoder_config_len; buf->decoder_info_ptr[2] = audio_trak->decoder_config; @@ -2494,7 +2494,7 @@ static void demux_qt_send_headers(demux_plugin_t *this_gen) { /* send stsd to the decoder */ buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); - buf->decoder_flags = BUF_FLAG_SPECIAL; + buf->decoder_flags = BUF_FLAG_SPECIAL|BUF_FLAG_HEADER; buf->decoder_info[1] = BUF_SPECIAL_STSD_ATOM; buf->decoder_info[2] = audio_trak->properties->audio.properties_atom_size; buf->decoder_info_ptr[2] = audio_trak->properties->audio.properties_atom; diff --git a/src/demuxers/demux_rawdv.c b/src/demuxers/demux_rawdv.c index cee1b5c36..47a4c4c30 100644 --- a/src/demuxers/demux_rawdv.c +++ b/src/demuxers/demux_rawdv.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_rawdv.c,v 1.16 2003/11/16 23:33:43 f1rmb Exp $ + * $Id: demux_rawdv.c,v 1.17 2004/01/09 01:26:33 miguelfreitas Exp $ * * demultiplexer for raw dv streams */ @@ -178,7 +178,7 @@ static void demux_raw_dv_send_headers (demux_plugin_t *this_gen) { buf = this->video_fifo->buffer_pool_alloc(this->video_fifo); buf->content = buf->mem; buf->type = BUF_VIDEO_DV; - buf->decoder_flags |= BUF_FLAG_HEADER; + buf->decoder_flags |= BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; bih = (xine_bmiheader *)buf->content; diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c index 7d75c26d8..ff43824e1 100644 --- a/src/demuxers/demux_real.c +++ b/src/demuxers/demux_real.c @@ -31,7 +31,7 @@ * * Based on FFmpeg's libav/rm.c. * - * $Id: demux_real.c,v 1.75 2004/01/08 23:17:34 jstembridge Exp $ + * $Id: demux_real.c,v 1.76 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -672,15 +672,16 @@ unknown: lprintf("setting size to w:%u h:%u for RV10\n", bih.biWidth, bih.biHeight); lprintf("setting sub-codec to %X for RV10\n", bih.biCompression); memcpy(buf->content, &bih, bih.biSize); + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; } else { memcpy(buf->content, this->video_stream->mdpr->type_specific_data, this->video_stream->mdpr->type_specific_len); buf->size = this->video_stream->mdpr->type_specific_len; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_FRAME_END; } buf->type = this->video_stream->buf_type; - buf->decoder_flags = BUF_FLAG_HEADER; buf->extra_info->input_pos = 0; buf->extra_info->input_time = 0; @@ -713,7 +714,7 @@ unknown: buf->size = this->audio_stream->mdpr->type_specific_len - 4; buf->type = this->audio_stream->buf_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_FRAME_END; buf->extra_info->input_pos = 0; buf->extra_info->input_time = 0; diff --git a/src/demuxers/demux_realaudio.c b/src/demuxers/demux_realaudio.c index 70ddddb53..d1bab47f2 100644 --- a/src/demuxers/demux_realaudio.c +++ b/src/demuxers/demux_realaudio.c @@ -22,7 +22,7 @@ * RealAudio File Demuxer by Mike Melanson (melanson@pcisys.net) * improved by James Stembridge (jstembridge@users.sourceforge.net) * - * $Id: demux_realaudio.c,v 1.28 2003/12/05 15:54:57 f1rmb Exp $ + * $Id: demux_realaudio.c,v 1.29 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -293,7 +293,7 @@ static void demux_ra_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo && this->audio_type) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = this->audio_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->wave.nSamplesPerSec; buf->decoder_info[2] = this->wave.wBitsPerSample; diff --git a/src/demuxers/demux_roq.c b/src/demuxers/demux_roq.c index 13672c88d..490674be2 100644 --- a/src/demuxers/demux_roq.c +++ b/src/demuxers/demux_roq.c @@ -23,7 +23,7 @@ * For more information regarding the RoQ file format, visit: * http://www.csse.monash.edu.au/~timf/ * - * $Id: demux_roq.c,v 1.49 2003/11/26 23:44:09 f1rmb Exp $ + * $Id: demux_roq.c,v 1.50 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -325,7 +325,7 @@ static void demux_roq_send_headers(demux_plugin_t *this_gen) { /* send init info to decoders */ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->frame_pts_inc; /* initial video_step */ buf->size = sizeof(xine_bmiheader); @@ -341,7 +341,7 @@ static void demux_roq_send_headers(demux_plugin_t *this_gen) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_ROQ; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = RoQ_AUDIO_SAMPLE_RATE; buf->decoder_info[2] = 16; diff --git a/src/demuxers/demux_smjpeg.c b/src/demuxers/demux_smjpeg.c index 3734e18d0..3e40576d4 100644 --- a/src/demuxers/demux_smjpeg.c +++ b/src/demuxers/demux_smjpeg.c @@ -23,7 +23,7 @@ * For more information on the SMJPEG file format, visit: * http://www.lokigames.com/development/smjpeg.php3 * - * $Id: demux_smjpeg.c,v 1.47 2003/11/26 23:44:09 f1rmb Exp $ + * $Id: demux_smjpeg.c,v 1.48 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -331,7 +331,7 @@ static void demux_smjpeg_send_headers(demux_plugin_t *this_gen) { /* send init info to decoders */ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = 3000; /* initial video_step */ memcpy(buf->content, &this->bih, sizeof(this->bih)); @@ -342,7 +342,7 @@ static void demux_smjpeg_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo && this->audio_type) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = this->audio_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->audio_sample_rate; buf->decoder_info[2] = this->audio_bits; diff --git a/src/demuxers/demux_snd.c b/src/demuxers/demux_snd.c index dea265fb4..ea7e9d901 100644 --- a/src/demuxers/demux_snd.c +++ b/src/demuxers/demux_snd.c @@ -21,7 +21,7 @@ /* * SND/AU File Demuxer by Mike Melanson (melanson@pcisys.net) * - * $Id: demux_snd.c,v 1.37 2003/12/05 15:54:57 f1rmb Exp $ + * $Id: demux_snd.c,v 1.38 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -224,7 +224,7 @@ static void demux_snd_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo && this->audio_type) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = this->audio_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->audio_sample_rate; buf->decoder_info[2] = this->audio_bits; diff --git a/src/demuxers/demux_str.c b/src/demuxers/demux_str.c index b4f291906..612dc33f5 100644 --- a/src/demuxers/demux_str.c +++ b/src/demuxers/demux_str.c @@ -24,7 +24,7 @@ * This demuxer handles either raw STR files (which are just a concatenation * of raw compact disc sectors) or STR files with RIFF headers. * - * $Id: demux_str.c,v 1.22 2003/11/26 23:44:09 f1rmb Exp $ + * $Id: demux_str.c,v 1.23 2004/01/09 01:26:33 miguelfreitas Exp $ */ /* @@ -459,7 +459,7 @@ static void demux_str_send_headers(demux_plugin_t *this_gen) { /* send init info to video decoder */ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = FRAME_DURATION; /* initial video_step */ buf->size = sizeof(xine_bmiheader); @@ -483,7 +483,7 @@ static void demux_str_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_XA_ADPCM | channel; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = (audio_info & 0x04) ? 18900 : 37800; buf->decoder_info[2] = (audio_info & 0x10) ? 1 : 0; diff --git a/src/demuxers/demux_voc.c b/src/demuxers/demux_voc.c index 4d909eeb8..fe234176f 100644 --- a/src/demuxers/demux_voc.c +++ b/src/demuxers/demux_voc.c @@ -25,7 +25,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.37 2003/12/05 15:54:57 f1rmb Exp $ + * $Id: demux_voc.c,v 1.38 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -218,7 +218,7 @@ static void demux_voc_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo && this->audio_type) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = this->audio_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->audio_sample_rate; buf->decoder_info[2] = this->audio_bits; diff --git a/src/demuxers/demux_vox.c b/src/demuxers/demux_vox.c index 4a57231e3..64846c2ba 100644 --- a/src/demuxers/demux_vox.c +++ b/src/demuxers/demux_vox.c @@ -22,7 +22,7 @@ * VOX Demuxer by Mike Melanson (melanson@pcisys.net) * This a demuxer for .vox files containing raw Dialogic ADPCM data. * - * $Id: demux_vox.c,v 1.11 2003/11/16 23:33:44 f1rmb Exp $ + * $Id: demux_vox.c,v 1.12 2004/01/09 01:26:33 miguelfreitas Exp $ * */ @@ -124,7 +124,7 @@ static void demux_vox_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_DIALOGIC_IMA; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = DIALOGIC_SAMPLERATE; buf->decoder_info[2] = 16; diff --git a/src/demuxers/demux_vqa.c b/src/demuxers/demux_vqa.c index bd4ba6297..92de1539b 100644 --- a/src/demuxers/demux_vqa.c +++ b/src/demuxers/demux_vqa.c @@ -29,7 +29,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.38 2003/11/16 23:33:44 f1rmb Exp $ + * $Id: demux_vqa.c,v 1.39 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -269,7 +269,7 @@ static void demux_vqa_send_headers(demux_plugin_t *this_gen) { /* send init info to decoders */ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = VQA_PTS_INC; /* initial video_step */ memcpy(buf->content, this->bih, sizeof(xine_bmiheader) + VQA_HEADER_SIZE); @@ -280,7 +280,7 @@ static void demux_vqa_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo && this->wave.nChannels) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_VQA_IMA; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->wave.nSamplesPerSec; buf->decoder_info[2] = 16; /* bits/samples */ diff --git a/src/demuxers/demux_wav.c b/src/demuxers/demux_wav.c index 326a9da45..9f5d9a7f9 100644 --- a/src/demuxers/demux_wav.c +++ b/src/demuxers/demux_wav.c @@ -22,7 +22,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.53 2003/11/16 23:33:44 f1rmb Exp $ + * $Id: demux_wav.c,v 1.54 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -284,7 +284,7 @@ static void demux_wav_send_headers(demux_plugin_t *this_gen) { if (this->audio_fifo && this->audio_type) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = this->audio_type; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->wave->nSamplesPerSec; buf->decoder_info[2] = this->wave->wBitsPerSample; diff --git a/src/demuxers/demux_wc3movie.c b/src/demuxers/demux_wc3movie.c index ea97b97e9..0d75ee12b 100644 --- a/src/demuxers/demux_wc3movie.c +++ b/src/demuxers/demux_wc3movie.c @@ -24,7 +24,7 @@ * For more information on the MVE file format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: demux_wc3movie.c,v 1.49 2003/12/05 15:54:57 f1rmb Exp $ + * $Id: demux_wc3movie.c,v 1.50 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -194,7 +194,7 @@ static int demux_mve_send_chunk(demux_plugin_t *this_gen) { } buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_SPECIAL; + buf->decoder_flags = BUF_FLAG_SPECIAL|BUF_FLAG_HEADER; buf->decoder_info[1] = BUF_SPECIAL_PALETTE; buf->decoder_info[2] = PALETTE_SIZE; buf->decoder_info_ptr[2] = &this->palettes[PALETTE_SIZE * palette_number]; @@ -312,7 +312,7 @@ static void demux_mve_send_headers(demux_plugin_t *this_gen) { /* send init info to decoders */ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = WC3_PTS_INC; /* initial video_step */ buf->content = (void *)&this->bih; @@ -330,7 +330,7 @@ static void demux_mve_send_headers(demux_plugin_t *this_gen) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_LPCM_LE; - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = 0; buf->decoder_info[1] = this->wave.nSamplesPerSec; buf->decoder_info[2] = this->wave.wBitsPerSample; diff --git a/src/demuxers/demux_yuv4mpeg2.c b/src/demuxers/demux_yuv4mpeg2.c index ab86e492a..affc0818a 100644 --- a/src/demuxers/demux_yuv4mpeg2.c +++ b/src/demuxers/demux_yuv4mpeg2.c @@ -24,7 +24,7 @@ * tools, visit: * http://mjpeg.sourceforge.net/ * - * $Id: demux_yuv4mpeg2.c,v 1.33 2003/11/29 15:15:35 miguelfreitas Exp $ + * $Id: demux_yuv4mpeg2.c,v 1.34 2004/01/09 01:26:33 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -313,7 +313,7 @@ static void demux_yuv4mpeg2_send_headers(demux_plugin_t *this_gen) { /* send init info to decoders */ buf = this->video_fifo->buffer_pool_alloc (this->video_fifo); - buf->decoder_flags = BUF_FLAG_HEADER; + buf->decoder_flags = BUF_FLAG_HEADER|BUF_FLAG_STDHEADER|BUF_FLAG_FRAME_END; buf->decoder_info[0] = this->progressive; buf->decoder_info[1] = this->frame_pts_inc; /* initial video step */ buf->decoder_info[2] = this->top_field_first; |