changeset 3709:1c2e46d1f5c3 libavformat

Electronic Arts demuxer: support SxEN audio tags found in 'Need for Speed: Pro Street' computer game.
author pross
date Tue, 12 Aug 2008 12:36:00 +0000
parents ecaebc438438
children 48a262da0100
files electronicarts.c
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/electronicarts.c	Tue Aug 12 08:35:09 2008 +0000
+++ b/electronicarts.c	Tue Aug 12 12:36:00 2008 +0000
@@ -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 @@
                 break;
 
             case SCHl_TAG :
+            case SHEN_TAG :
                 blockid = get_le32(pb);
                 if (blockid == GSTR_TAG) {
                     url_fskip(pb, 4);
@@ -361,6 +365,7 @@
     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 @@
         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 @@
         case ISNe_TAG:
         case SCEl_TAG:
         case SEND_TAG:
+        case SEEN_TAG:
             ret = AVERROR(EIO);
             packet_read = 1;
             break;