summaryrefslogtreecommitdiff
path: root/src/libffmpeg
diff options
context:
space:
mode:
Diffstat (limited to 'src/libffmpeg')
-rw-r--r--src/libffmpeg/xine_decoder.c200
1 files changed, 100 insertions, 100 deletions
diff --git a/src/libffmpeg/xine_decoder.c b/src/libffmpeg/xine_decoder.c
index dfc8c0b10..3c10c143c 100644
--- a/src/libffmpeg/xine_decoder.c
+++ b/src/libffmpeg/xine_decoder.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: xine_decoder.c,v 1.133 2003/10/30 06:00:19 tmmm Exp $
+ * $Id: xine_decoder.c,v 1.134 2003/11/15 13:01:12 miguelfreitas Exp $
*
* xine decoder plugin using ffmpeg
*
@@ -226,7 +226,7 @@ static void init_video_codec (ff_video_decoder_t *this, xine_bmiheader *bih) {
this->context->opaque = this;
this->context->width = this->bih.biWidth;
this->context->height = this->bih.biHeight;
- this->context->codec_tag = this->stream->stream_info[XINE_STREAM_INFO_VIDEO_FOURCC];
+ this->context->codec_tag = xine_get_stream_info(this->stream, XINE_STREAM_INFO_VIDEO_FOURCC);
/* some decoders (eg. dv) do not know the pix_fmt until they decode the
* first frame. setting to -1 avoid enabling DR1 for them.
*/
@@ -259,15 +259,15 @@ static void init_video_codec (ff_video_decoder_t *this, xine_bmiheader *bih) {
printf ("ffmpeg: couldn't open decoder\n");
free(this->context);
this->context = NULL;
- this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 0;
+ xine_set_stream_info(this->stream, XINE_STREAM_INFO_VIDEO_HANDLED, 0);
return;
}
this->decoder_ok = 1;
- this->stream->stream_info[XINE_STREAM_INFO_VIDEO_WIDTH] = this->context->width;
- this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HEIGHT] = this->context->height;
- this->stream->stream_info[XINE_STREAM_INFO_FRAME_DURATION] = this->video_step;
+ xine_set_stream_info(this->stream, XINE_STREAM_INFO_VIDEO_WIDTH, this->context->width);
+ xine_set_stream_info(this->stream, XINE_STREAM_INFO_VIDEO_HEIGHT, this->context->height);
+ xine_set_stream_info(this->stream, XINE_STREAM_INFO_FRAME_DURATION, this->video_step);
this->stream->video_out->open (this->stream->video_out, this->stream);
@@ -490,8 +490,8 @@ static void find_sequence_header (ff_video_decoder_t *this,
this->video_step = 0;
}
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("mpeg-1 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "mpeg-1 (ffmpeg)");
/*
* init codec
@@ -780,152 +780,152 @@ static void ff_decode_data (video_decoder_t *this_gen, buf_element_t *buf) {
switch (codec_type) {
case BUF_VIDEO_MSMPEG4_V1:
this->codec = avcodec_find_decoder (CODEC_ID_MSMPEG4V1);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Microsoft MPEG-4 v1 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Microsoft MPEG-4 v1 (ffmpeg)");
break;
case BUF_VIDEO_MSMPEG4_V2:
this->codec = avcodec_find_decoder (CODEC_ID_MSMPEG4V2);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Microsoft MPEG-4 v2 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Microsoft MPEG-4 v2 (ffmpeg)");
break;
case BUF_VIDEO_MSMPEG4_V3:
this->codec = avcodec_find_decoder (CODEC_ID_MSMPEG4V3);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Microsoft MPEG-4 v3 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Microsoft MPEG-4 v3 (ffmpeg)");
break;
case BUF_VIDEO_WMV7:
this->codec = avcodec_find_decoder (CODEC_ID_WMV1);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("MS Windows Media Video 7 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "MS Windows Media Video 7 (ffmpeg)");
break;
case BUF_VIDEO_WMV8:
this->codec = avcodec_find_decoder (CODEC_ID_WMV2);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("MS Windows Media Video 8 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "MS Windows Media Video 8 (ffmpeg)");
break;
case BUF_VIDEO_MPEG4 :
case BUF_VIDEO_XVID :
case BUF_VIDEO_DIVX5 :
this->codec = avcodec_find_decoder (CODEC_ID_MPEG4);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("ISO MPEG-4 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "ISO MPEG-4 (ffmpeg)");
break;
case BUF_VIDEO_JPEG:
case BUF_VIDEO_MJPEG:
this->codec = avcodec_find_decoder (CODEC_ID_MJPEG);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Motion JPEG (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Motion JPEG (ffmpeg)");
break;
case BUF_VIDEO_I263:
this->codec = avcodec_find_decoder (CODEC_ID_H263I);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("ITU H.263 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "ITU H.263 (ffmpeg)");
break;
case BUF_VIDEO_H263:
this->codec = avcodec_find_decoder (CODEC_ID_H263);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("H.263 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "H.263 (ffmpeg)");
break;
case BUF_VIDEO_RV10:
this->codec = avcodec_find_decoder (CODEC_ID_RV10);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Real Video 1.0 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Real Video 1.0 (ffmpeg)");
break;
case BUF_VIDEO_IV31:
this->codec = avcodec_find_decoder (CODEC_ID_INDEO3);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Indeo Video 3.1 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Indeo Video 3.1 (ffmpeg)");
break;
case BUF_VIDEO_IV32:
this->codec = avcodec_find_decoder (CODEC_ID_INDEO3);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Indeo Video 3.2 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Indeo Video 3.2 (ffmpeg)");
break;
case BUF_VIDEO_SORENSON_V1:
this->codec = avcodec_find_decoder (CODEC_ID_SVQ1);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Sorenson Video 1 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Sorenson Video 1 (ffmpeg)");
break;
case BUF_VIDEO_SORENSON_V3:
this->codec = avcodec_find_decoder (CODEC_ID_SVQ3);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Sorenson Video 3 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Sorenson Video 3 (ffmpeg)");
break;
case BUF_VIDEO_DV:
this->codec = avcodec_find_decoder (CODEC_ID_DVVIDEO);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("DV (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "DV (ffmpeg)");
break;
case BUF_VIDEO_HUFFYUV:
this->codec = avcodec_find_decoder (CODEC_ID_HUFFYUV);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("HuffYUV (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "HuffYUV (ffmpeg)");
break;
case BUF_VIDEO_VP31:
this->codec = avcodec_find_decoder (CODEC_ID_VP3);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("On2 VP3.1 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "On2 VP3.1 (ffmpeg)");
break;
case BUF_VIDEO_4XM:
this->codec = avcodec_find_decoder (CODEC_ID_4XM);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("4XM (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "4XM (ffmpeg)");
break;
case BUF_VIDEO_CINEPAK:
this->codec = avcodec_find_decoder (CODEC_ID_CINEPAK);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Cinepak (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Cinepak (ffmpeg)");
break;
case BUF_VIDEO_MSVC:
this->codec = avcodec_find_decoder (CODEC_ID_MSVIDEO1);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Microsoft Video 1 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Microsoft Video 1 (ffmpeg)");
break;
case BUF_VIDEO_MSRLE:
this->codec = avcodec_find_decoder (CODEC_ID_MSRLE);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Microsoft RLE (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Microsoft RLE (ffmpeg)");
break;
case BUF_VIDEO_RPZA:
this->codec = avcodec_find_decoder (CODEC_ID_RPZA);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Apple Quicktime Video/RPZA (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Apple Quicktime Video/RPZA (ffmpeg)");
break;
case BUF_VIDEO_CYUV:
this->codec = avcodec_find_decoder (CODEC_ID_CYUV);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Creative YUV (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Creative YUV (ffmpeg)");
break;
case BUF_VIDEO_ROQ:
this->codec = avcodec_find_decoder (CODEC_ID_ROQ);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Id Software RoQ (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Id Software RoQ (ffmpeg)");
break;
case BUF_VIDEO_IDCIN:
this->codec = avcodec_find_decoder (CODEC_ID_IDCIN);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Id Software CIN (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Id Software CIN (ffmpeg)");
break;
case BUF_VIDEO_WC3:
this->codec = avcodec_find_decoder (CODEC_ID_XAN_WC3);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Xan (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Xan (ffmpeg)");
break;
case BUF_VIDEO_VQA:
this->codec = avcodec_find_decoder (CODEC_ID_WS_VQA);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Westwood Studios VQA (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Westwood Studios VQA (ffmpeg)");
break;
case BUF_VIDEO_INTERPLAY:
this->codec = avcodec_find_decoder (CODEC_ID_INTERPLAY_VIDEO);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("Interplay MVE (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "Interplay MVE (ffmpeg)");
break;
default:
printf ("ffmpeg: unknown video format (buftype: 0x%08X)\n",
buf->type & 0xFFFF0000);
- this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
- = strdup ("unknown (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC,
+ "unknown (ffmpeg)");
}
if (!this->codec) {
@@ -1388,88 +1388,88 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
switch (codec_type) {
case BUF_AUDIO_WMAV1:
this->codec = avcodec_find_decoder (CODEC_ID_WMAV1);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("MS Windows Media Audio 1 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "MS Windows Media Audio 1 (ffmpeg)");
break;
case BUF_AUDIO_WMAV2:
this->codec = avcodec_find_decoder (CODEC_ID_WMAV2);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("MS Windows Media Audio 2 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "MS Windows Media Audio 2 (ffmpeg)");
break;
case BUF_AUDIO_DV:
this->codec = avcodec_find_decoder (CODEC_ID_DVAUDIO);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("DV Audio (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "DV Audio (ffmpeg)");
break;
case BUF_AUDIO_14_4:
this->codec = avcodec_find_decoder (CODEC_ID_RA_144);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("Real 14.4 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "Real 14.4 (ffmpeg)");
break;
case BUF_AUDIO_28_8:
this->codec = avcodec_find_decoder (CODEC_ID_RA_288);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("Real 28.8 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "Real 28.8 (ffmpeg)");
break;
case BUF_AUDIO_MPEG:
this->codec = avcodec_find_decoder (CODEC_ID_MP3LAME);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("MP3 (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "MP3 (ffmpeg)");
break;
case BUF_AUDIO_MSADPCM:
this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_MS);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("MS ADPCM (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "MS ADPCM (ffmpeg)");
break;
case BUF_AUDIO_QTIMAADPCM:
this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_IMA_QT);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("QT IMA ADPCM (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "QT IMA ADPCM (ffmpeg)");
break;
case BUF_AUDIO_MSIMAADPCM:
this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_IMA_WAV);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("MS IMA ADPCM (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "MS IMA ADPCM (ffmpeg)");
break;
case BUF_AUDIO_DK3ADPCM:
this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_IMA_DK3);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("Duck DK3 ADPCM (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "Duck DK3 ADPCM (ffmpeg)");
break;
case BUF_AUDIO_DK4ADPCM:
this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_IMA_DK4);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("Duck DK4 ADPCM (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "Duck DK4 ADPCM (ffmpeg)");
break;
case BUF_AUDIO_VQA_IMA:
this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_IMA_WS);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("Westwood Studios IMA (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "Westwood Studios IMA (ffmpeg)");
break;
case BUF_AUDIO_XA_ADPCM:
this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_XA);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("CD-ROM/XA ADPCM (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "CD-ROM/XA ADPCM (ffmpeg)");
break;
case BUF_AUDIO_MULAW:
this->codec = avcodec_find_decoder (CODEC_ID_PCM_MULAW);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("mu-law logarithmic PCM (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "mu-law logarithmic PCM (ffmpeg)");
break;
case BUF_AUDIO_ALAW:
this->codec = avcodec_find_decoder (CODEC_ID_PCM_ALAW);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("A-law logarithmic PCM (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "A-law logarithmic PCM (ffmpeg)");
break;
case BUF_AUDIO_ROQ:
this->codec = avcodec_find_decoder (CODEC_ID_ROQ_DPCM);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("RoQ DPCM (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "RoQ DPCM (ffmpeg)");
break;
case BUF_AUDIO_INTERPLAY:
this->codec = avcodec_find_decoder (CODEC_ID_INTERPLAY_DPCM);
- this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
- = strdup ("Interplay DPCM (ffmpeg)");
+ xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC,
+ "Interplay DPCM (ffmpeg)");
break;
}