OSDN Git Service

RIO-8043: GetActualAACConfig - add mime type as input to process properly RFC 3016...
authorPacketVideo CM <engbuild@pv.com>
Fri, 4 Dec 2009 19:48:35 +0000 (11:48 -0800)
committerPacketVideo CM <engbuild@pv.com>
Fri, 4 Dec 2009 19:48:35 +0000 (11:48 -0800)
codecs_v2/audio/aac/dec/util/getactualaacconfig/include/getactualaacconfig.h
codecs_v2/audio/aac/dec/util/getactualaacconfig/src/getactualaacconfig.cpp
codecs_v2/utilities/pv_config_parser/src/pv_audio_config_parser.cpp
engines/2way/src/pv_2way_sdkinfo.h
engines/author/src/pv_author_sdkinfo.h
engines/player/src/pv_player_sdkinfo.h
fileformats/rawaac/parser/src/aacfileparser.cpp
nodes/pvmp4ffparsernode/src/pvmf_mp4ffparser_node_metadata.cpp

index 21159ff..c46e56e 100644 (file)
@@ -41,7 +41,8 @@ OSCL_IMPORT_REF  int32 GetActualAacConfig(uint8* aConfigHeader,
         int32* aConfigHeaderSize,
         uint8* SamplingRateIndex,
         uint32* NumChannels,
-        uint32* aSamplesPerFrame);
+        uint32* aSamplesPerFrame,
+        bool    mime_3016);
 
 
 #endif
index b9c4e6c..0a2edd9 100644 (file)
@@ -161,7 +161,8 @@ OSCL_EXPORT_REF int32 GetActualAacConfig(uint8* aConfigHeader,
         int32* aConfigHeaderSize,
         uint8* SamplingRateIndex,
         uint32* NumChannels,
-        uint32* aSamplesPerFrame)
+        uint32* aSamplesPerFrame,
+        bool    mime_3016)
 {
 
     tPVMP4AudioDecoderExternal * iAACDecExt = NULL;
@@ -248,6 +249,11 @@ OSCL_EXPORT_REF int32 GetActualAacConfig(uint8* aConfigHeader,
          */
         pVars->aacConfigUtilityEnabled = true;  /* set aac utility mode */
 
+        if (mime_3016 == true)  /* streaming rfc-3016 type, config holds streamMuxConfig */
+        {
+            pVars->inputStream.usedBits += 15;  /* jump over streamMuxConfig bits */
+        }
+
         status = get_audio_specific_config(pVars);
 
     }
index fc71059..6742dcd 100644 (file)
@@ -678,7 +678,8 @@ OSCL_EXPORT_REF int32 pv_audio_config_parser(pvAudioConfigParserInputs *aInputs,
                                     &bytes_consumed,
                                     &SamplingRateIndex,
                                     &NumChannels,
-                                    &SamplesPerFrame);
+                                    &SamplesPerFrame,
+                                    (aInputs->iMimeType == PVMF_MIME_AAC_SIZEHDR));
         if (status != 0)//error
         {
             bBitStreamValid  = false;
index d5114b1..685f01f 100644 (file)
@@ -21,7 +21,7 @@
 // This header file is automatically generated at build-time
 // *** OFFICIAL RELEASE INFO -- Will not auto update
 
-#define PV2WAY_ENGINE_SDKINFO_LABEL "1086733"
-#define PV2WAY_ENGINE_SDKINFO_DATE 0x20091115
+#define PV2WAY_ENGINE_SDKINFO_LABEL "1088390"
+#define PV2WAY_ENGINE_SDKINFO_DATE 0x20091116
 
 #endif //PV_2WAY_SDKINFO_H_INCLUDED
index b6e164b..308ebf8 100644 (file)
@@ -21,7 +21,7 @@
 // This header file is automatically generated at build-time
 // *** OFFICIAL RELEASE INFO -- Will not auto update
 
-#define PVAUTHOR_ENGINE_SDKINFO_LABEL "1086733"
-#define PVAUTHOR_ENGINE_SDKINFO_DATE 0x20091115
+#define PVAUTHOR_ENGINE_SDKINFO_LABEL "1088390"
+#define PVAUTHOR_ENGINE_SDKINFO_DATE 0x20091116
 
 #endif //PV_AUTHOR_SDKINFO_H_INCLUDED
index 178dea8..9e966bb 100644 (file)
@@ -21,7 +21,7 @@
 // This header file is automatically generated at build-time
 // *** OFFICIAL RELEASE INFO -- Will not auto update
 
-#define PVPLAYER_ENGINE_SDKINFO_LABEL "1086733"
-#define PVPLAYER_ENGINE_SDKINFO_DATE 0x20091115
+#define PVPLAYER_ENGINE_SDKINFO_LABEL "1088390"
+#define PVPLAYER_ENGINE_SDKINFO_DATE 0x20091116
 
 #endif //PV_PLAYER_SDKINFO_H_INCLUDED
index 7c908c9..25b2892 100644 (file)
@@ -549,7 +549,13 @@ int32 AACBitstreamObject::getFileInfo(int32& fileSize, TAACFormat& format, uint8
                 uint32 samplesPerFrame;
 
                 int32 status = GetActualAacConfig(pBuffer,
-                                                  &iAudioObjectType, &config_header_size, &sampleFreqIndex, &iChannelConfig, &samplesPerFrame);
+                                                  &iAudioObjectType,
+                                                  &config_header_size,
+                                                  &sampleFreqIndex,
+                                                  &iChannelConfig,
+                                                  &samplesPerFrame,
+                                                  false);
+
                 if (status != SUCCESS) return AACBitstreamObject::MISC_ERROR;
 
                 // Retrieve the audio object type
index 7454459..9bbcd6e 100644 (file)
@@ -1380,7 +1380,8 @@ uint32 PVMFMP4FFParserNode::GetNumAudioChannels(uint32 aId)
                                &specinfosize,
                                &sampleRateIndex,
                                &num_channels,
-                               &samplesPerFrame);
+                               &samplesPerFrame,
+                               false);
         }
     }
 
@@ -1431,7 +1432,9 @@ uint32 PVMFMP4FFParserNode::GetAudioSampleRate(uint32 aId)
                                &specinfosize,
                                &sampleRateIndex,
                                &num_channels,
-                               &samplesPerFrame);
+                               &samplesPerFrame,
+                               false);
+
             if (sampleRateIndex < 13)
             {
                 sample_rate = sample_freq_table[(uint32)sampleRateIndex];