changeset 2631:f37d16f2c940 libavformat

add audio and video codec context vars
author aurel
date Thu, 18 Oct 2007 22:23:30 +0000
parents eb9371d9c590
children c5118e086450
files electronicarts.c
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/electronicarts.c	Thu Oct 18 22:11:53 2007 +0000
+++ b/electronicarts.c	Thu Oct 18 22:23:30 2007 +0000
@@ -40,9 +40,11 @@
 #define EA_PREAMBLE_SIZE 8
 
 typedef struct EaDemuxContext {
+    int video_codec;
     AVRational time_base;
     int video_stream_index;
 
+    int audio_codec;
     int audio_stream_index;
     int audio_frame_counter;
 
@@ -134,6 +136,8 @@
         }
     }
 
+    ea->audio_codec = CODEC_ID_ADPCM_EA;
+
     return 1;
 }
 
@@ -145,6 +149,7 @@
     url_fskip(pb, 16);
     ea->time_base.den = get_le32(pb);
     ea->time_base.num = get_le32(pb);
+    ea->video_codec = CODEC_ID_VP6;
 
     return 1;
 }
@@ -212,7 +217,7 @@
             return AVERROR(ENOMEM);
         ea->video_stream_index = st->index;
         st->codec->codec_type = CODEC_TYPE_VIDEO;
-        st->codec->codec_id = CODEC_ID_VP6;
+        st->codec->codec_id = ea->video_codec;
         st->codec->codec_tag = 0;  /* no fourcc */
         st->codec->time_base = ea->time_base;
     }
@@ -223,7 +228,7 @@
         return AVERROR(ENOMEM);
     av_set_pts_info(st, 33, 1, EA_SAMPLE_RATE);
     st->codec->codec_type = CODEC_TYPE_AUDIO;
-    st->codec->codec_id = CODEC_ID_ADPCM_EA;
+    st->codec->codec_id = ea->audio_codec;
     st->codec->codec_tag = 0;  /* no tag */
     st->codec->channels = ea->num_channels;
     st->codec->sample_rate = EA_SAMPLE_RATE;