diff options
author | Peter Ross <pross@xvid.org> | 2008-08-12 12:36:00 +0000 |
---|---|---|
committer | Peter Ross <pross@xvid.org> | 2008-08-12 12:36:00 +0000 |
commit | ebc22cc29f0bf9c87afbfef25e00338d92a9f0f3 (patch) | |
tree | 0ee9d7d788a11f49081827b84e654a3355ce40ec /libavformat | |
parent | 3b4b113781b6be5a6c03f41e8e26f44872b46316 (diff) | |
download | ffmpeg-ebc22cc29f0bf9c87afbfef25e00338d92a9f0f3.tar.gz |
Electronic Arts demuxer: support SxEN audio tags found in 'Need for Speed: Pro Street' computer game.
Originally committed as revision 14713 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/electronicarts.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavformat/electronicarts.c b/libavformat/electronicarts.c index 2dc4f14bd2..7bc42805db 100644 --- a/libavformat/electronicarts.c +++ b/libavformat/electronicarts.c @@ -31,6 +31,9 @@ #define SEAD_TAG MKTAG('S', 'E', 'A', 'D') /* Sxxx header */ #define SNDC_TAG MKTAG('S', 'N', 'D', 'C') /* Sxxx data */ #define SEND_TAG MKTAG('S', 'E', 'N', 'D') /* Sxxx end */ +#define SHEN_TAG MKTAG('S', 'H', 'E', 'N') /* SxEN header */ +#define SDEN_TAG MKTAG('S', 'D', 'E', 'N') /* SxEN data */ +#define SEEN_TAG MKTAG('S', 'E', 'E', 'N') /* SxEN end */ #define ISNh_TAG MKTAG('1', 'S', 'N', 'h') /* 1SNx header */ #define EACS_TAG MKTAG('E', 'A', 'C', 'S') #define ISNd_TAG MKTAG('1', 'S', 'N', 'd') /* 1SNx data */ @@ -304,6 +307,7 @@ static int process_ea_header(AVFormatContext *s) { break; case SCHl_TAG : + case SHEN_TAG : blockid = get_le32(pb); if (blockid == GSTR_TAG) { url_fskip(pb, 4); @@ -361,6 +365,7 @@ static int ea_probe(AVProbeData *p) case ISNh_TAG: case SCHl_TAG: case SEAD_TAG: + case SHEN_TAG: case kVGT_TAG: case MADk_TAG: case MPCh_TAG: @@ -439,6 +444,7 @@ static int ea_read_packet(AVFormatContext *s, case ISNd_TAG: case SCDl_TAG: case SNDC_TAG: + case SDEN_TAG: if (!ea->audio_codec) { url_fskip(pb, chunk_size); break; @@ -476,6 +482,7 @@ static int ea_read_packet(AVFormatContext *s, case ISNe_TAG: case SCEl_TAG: case SEND_TAG: + case SEEN_TAG: ret = AVERROR(EIO); packet_read = 1; break; |