Loading media/extractors/mp4/MPEG4Extractor.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -1023,7 +1023,9 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { break; } } if (mode != kCryptoModeUnencrypted) { mLastTrack->meta.setInt32(kKeyCryptoMode, mode); } break; } Loading media/libstagefright/codecs/xaacdec/SoftXAAC.cpp +29 −37 Original line number Diff line number Diff line Loading @@ -44,7 +44,6 @@ #define PROP_DRC_OVERRIDE_HEAVY "aac_drc_heavy" #define PROP_DRC_OVERRIDE_ENC_LEVEL "aac_drc_enc_target_level" #define PROP_DRC_OVERRIDE_EFFECT_TYPE "ro.aac_drc_effect_type" #define PROP_DRC_OVERRIDE_LOUDNESS_LEVEL "aac_drc_loudness_level" #define MAX_CHANNEL_COUNT 8 /* maximum number of audio channels that can be decoded */ Loading Loading @@ -216,18 +215,8 @@ status_t SoftXAAC::initDecoder() { RETURN_IF_NE(err_code, IA_NO_ERROR, err_code, "IA_ENHAACPLUS_DEC_CONFIG_PARAM_DRC_TARGET_LEVEL"); #ifdef ENABLE_MPEG_D_DRC if (property_get(PROP_DRC_OVERRIDE_LOUDNESS_LEVEL, value, NULL)) { ui_drc_val = atoi(value); ALOGV("AAC decoder using desired DRC target reference level of %d instead of %d",ui_drc_val, DRC_DEFAULT_MOBILE_LOUDNESS_LEVEL); } else { ui_drc_val= DRC_DEFAULT_MOBILE_LOUDNESS_LEVEL; } /* Use ui_drc_val from PROP_DRC_OVERRIDE_REF_LEVEL or DRC_DEFAULT_MOBILE_REF_LEVEL * for IA_ENHAACPLUS_DEC_DRC_TARGET_LOUDNESS too */ err_code = ixheaacd_dec_api(mXheaacCodecHandle, IA_API_CMD_SET_CONFIG_PARAM, IA_ENHAACPLUS_DEC_DRC_TARGET_LOUDNESS, Loading Loading @@ -1330,30 +1319,6 @@ int SoftXAAC::configMPEGDDrc() IA_ENHAACPLUS_DEC_CONFIG_PARAM_SBR_MODE, &i_sbr_mode); RETURN_IF_NE(err_code, IA_NO_ERROR , err_code,"IA_ENHAACPLUS_DEC_CONFIG_PARAM_SBR_MODE"); if(i_sbr_mode!=0) { WORD32 frame_length; if (i_sbr_mode==1) { frame_length=2048; } else if(i_sbr_mode==3) { frame_length=4096; } else { frame_length=1024; } err_code = ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_SET_CONFIG_PARAM, IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE, &frame_length); RETURN_IF_NE(err_code, IA_NO_ERROR, err_code, "IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE"); } err_code = ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_INIT, IA_CMD_TYPE_INIT_API_POST_CONFIG_PARAMS, NULL); Loading Loading @@ -1528,6 +1493,33 @@ int SoftXAAC::configMPEGDDrc() if(mpegd_drc_present==1){ WORD32 interface_is_present = 1; WORD32 frame_length; if(i_sbr_mode != 0) { if (i_sbr_mode == 1) { frame_length = 2048; } else if(i_sbr_mode == 3) { frame_length = 4096; } else { frame_length = 1024; } } else { frame_length = 4096; } err_code = ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_SET_CONFIG_PARAM, IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE, &frame_length); RETURN_IF_NE(err_code, IA_NO_ERROR, err_code, "IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE"); err_code = ia_drc_dec_api( Loading media/libstagefright/httplive/M3UParser.cpp +21 −10 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ struct M3UParser::MediaGroup : public RefBase { const char *language, uint32_t flags); bool getActiveURI(AString *uri) const; bool getActiveURI(AString *uri, const char *baseURL) const; void pickRandomMediaItems(); status_t selectTrack(size_t index, bool select); Loading @@ -76,6 +76,7 @@ private: AString mURI; AString mLanguage; uint32_t mFlags; AString makeURL(const char *baseURL) const; }; Type mType; Loading Loading @@ -228,12 +229,12 @@ sp<AMessage> M3UParser::MediaGroup::getTrackInfo(size_t index) const { return format; } bool M3UParser::MediaGroup::getActiveURI(AString *uri) const { bool M3UParser::MediaGroup::getActiveURI(AString *uri, const char *baseURL) const { for (size_t i = 0; i < mMediaItems.size(); ++i) { if (mSelectedIndex >= 0 && i == (size_t)mSelectedIndex) { const Media &item = mMediaItems.itemAt(i); *uri = item.mURI; *uri = item.makeURL(baseURL); return true; } } Loading Loading @@ -322,7 +323,7 @@ bool M3UParser::itemAt(size_t index, AString *uri, sp<AMessage> *meta) { } if (uri) { *uri = mItems.itemAt(index).mURI; *uri = mItems.itemAt(index).makeURL(mBaseURI.c_str()); } if (meta) { Loading Loading @@ -428,7 +429,7 @@ bool M3UParser::getTypeURI(size_t index, const char *key, AString *uri) const { AString groupID; if (!meta->findString(key, &groupID)) { if (uri != NULL) { *uri = mItems.itemAt(index).mURI; *uri = mItems.itemAt(index).makeURL(mBaseURI.c_str()); } AString codecs; Loading Loading @@ -459,7 +460,7 @@ bool M3UParser::getTypeURI(size_t index, const char *key, AString *uri) const { // don't care about the active URI (or if there is an active one) if (uri != NULL) { sp<MediaGroup> group = mMediaGroups.valueFor(groupID); if (!group->getActiveURI(uri)) { if (!group->getActiveURI(uri, mBaseURI.c_str())) { return false; } Loading Loading @@ -548,6 +549,18 @@ static bool MakeURL(const char *baseURL, const char *url, AString *out) { return true; } AString M3UParser::Item::makeURL(const char *baseURL) const { AString out; CHECK(MakeURL(baseURL, mURI.c_str(), &out)); return out; } AString M3UParser::MediaGroup::Media::makeURL(const char *baseURL) const { AString out; CHECK(MakeURL(baseURL, mURI.c_str(), &out)); return out; } status_t M3UParser::parse(const void *_data, size_t size) { int32_t lineNo = 0; Loading Loading @@ -678,7 +691,7 @@ status_t M3UParser::parse(const void *_data, size_t size) { mItems.push(); Item *item = &mItems.editItemAt(mItems.size() - 1); CHECK(MakeURL(mBaseURI.c_str(), line.c_str(), &item->mURI)); item->mURI = line; item->mMeta = itemMeta; Loading Loading @@ -1190,9 +1203,7 @@ status_t M3UParser::parseMedia(const AString &line) { AString tmp(val, 1, val.size() - 2); if (!MakeURL(mBaseURI.c_str(), tmp.c_str(), &groupURI)) { ALOGI("Failed to make absolute URI from '%s'.", tmp.c_str()); } groupURI = tmp; haveGroupURI = true; } Loading media/libstagefright/httplive/M3UParser.h +1 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ private: struct Item { AString mURI; sp<AMessage> mMeta; AString makeURL(const char *baseURL) const; }; status_t mInitCheck; Loading media/libstagefright/id3/ID3.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -607,6 +607,9 @@ void ID3::Iterator::getstring(String8 *id, bool otherdata) const { // UCS-2 // API wants number of characters, not number of bytes... int len = n / 2; if (len == 0) { return; } const char16_t *framedata = (const char16_t *) (frameData + 1); char16_t *framedatacopy = NULL; if (*framedata == 0xfffe) { Loading Loading
media/extractors/mp4/MPEG4Extractor.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -1023,7 +1023,9 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { break; } } if (mode != kCryptoModeUnencrypted) { mLastTrack->meta.setInt32(kKeyCryptoMode, mode); } break; } Loading
media/libstagefright/codecs/xaacdec/SoftXAAC.cpp +29 −37 Original line number Diff line number Diff line Loading @@ -44,7 +44,6 @@ #define PROP_DRC_OVERRIDE_HEAVY "aac_drc_heavy" #define PROP_DRC_OVERRIDE_ENC_LEVEL "aac_drc_enc_target_level" #define PROP_DRC_OVERRIDE_EFFECT_TYPE "ro.aac_drc_effect_type" #define PROP_DRC_OVERRIDE_LOUDNESS_LEVEL "aac_drc_loudness_level" #define MAX_CHANNEL_COUNT 8 /* maximum number of audio channels that can be decoded */ Loading Loading @@ -216,18 +215,8 @@ status_t SoftXAAC::initDecoder() { RETURN_IF_NE(err_code, IA_NO_ERROR, err_code, "IA_ENHAACPLUS_DEC_CONFIG_PARAM_DRC_TARGET_LEVEL"); #ifdef ENABLE_MPEG_D_DRC if (property_get(PROP_DRC_OVERRIDE_LOUDNESS_LEVEL, value, NULL)) { ui_drc_val = atoi(value); ALOGV("AAC decoder using desired DRC target reference level of %d instead of %d",ui_drc_val, DRC_DEFAULT_MOBILE_LOUDNESS_LEVEL); } else { ui_drc_val= DRC_DEFAULT_MOBILE_LOUDNESS_LEVEL; } /* Use ui_drc_val from PROP_DRC_OVERRIDE_REF_LEVEL or DRC_DEFAULT_MOBILE_REF_LEVEL * for IA_ENHAACPLUS_DEC_DRC_TARGET_LOUDNESS too */ err_code = ixheaacd_dec_api(mXheaacCodecHandle, IA_API_CMD_SET_CONFIG_PARAM, IA_ENHAACPLUS_DEC_DRC_TARGET_LOUDNESS, Loading Loading @@ -1330,30 +1319,6 @@ int SoftXAAC::configMPEGDDrc() IA_ENHAACPLUS_DEC_CONFIG_PARAM_SBR_MODE, &i_sbr_mode); RETURN_IF_NE(err_code, IA_NO_ERROR , err_code,"IA_ENHAACPLUS_DEC_CONFIG_PARAM_SBR_MODE"); if(i_sbr_mode!=0) { WORD32 frame_length; if (i_sbr_mode==1) { frame_length=2048; } else if(i_sbr_mode==3) { frame_length=4096; } else { frame_length=1024; } err_code = ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_SET_CONFIG_PARAM, IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE, &frame_length); RETURN_IF_NE(err_code, IA_NO_ERROR, err_code, "IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE"); } err_code = ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_INIT, IA_CMD_TYPE_INIT_API_POST_CONFIG_PARAMS, NULL); Loading Loading @@ -1528,6 +1493,33 @@ int SoftXAAC::configMPEGDDrc() if(mpegd_drc_present==1){ WORD32 interface_is_present = 1; WORD32 frame_length; if(i_sbr_mode != 0) { if (i_sbr_mode == 1) { frame_length = 2048; } else if(i_sbr_mode == 3) { frame_length = 4096; } else { frame_length = 1024; } } else { frame_length = 4096; } err_code = ia_drc_dec_api(mMpegDDrcHandle, IA_API_CMD_SET_CONFIG_PARAM, IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE, &frame_length); RETURN_IF_NE(err_code, IA_NO_ERROR, err_code, "IA_DRC_DEC_CONFIG_PARAM_FRAME_SIZE"); err_code = ia_drc_dec_api( Loading
media/libstagefright/httplive/M3UParser.cpp +21 −10 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ struct M3UParser::MediaGroup : public RefBase { const char *language, uint32_t flags); bool getActiveURI(AString *uri) const; bool getActiveURI(AString *uri, const char *baseURL) const; void pickRandomMediaItems(); status_t selectTrack(size_t index, bool select); Loading @@ -76,6 +76,7 @@ private: AString mURI; AString mLanguage; uint32_t mFlags; AString makeURL(const char *baseURL) const; }; Type mType; Loading Loading @@ -228,12 +229,12 @@ sp<AMessage> M3UParser::MediaGroup::getTrackInfo(size_t index) const { return format; } bool M3UParser::MediaGroup::getActiveURI(AString *uri) const { bool M3UParser::MediaGroup::getActiveURI(AString *uri, const char *baseURL) const { for (size_t i = 0; i < mMediaItems.size(); ++i) { if (mSelectedIndex >= 0 && i == (size_t)mSelectedIndex) { const Media &item = mMediaItems.itemAt(i); *uri = item.mURI; *uri = item.makeURL(baseURL); return true; } } Loading Loading @@ -322,7 +323,7 @@ bool M3UParser::itemAt(size_t index, AString *uri, sp<AMessage> *meta) { } if (uri) { *uri = mItems.itemAt(index).mURI; *uri = mItems.itemAt(index).makeURL(mBaseURI.c_str()); } if (meta) { Loading Loading @@ -428,7 +429,7 @@ bool M3UParser::getTypeURI(size_t index, const char *key, AString *uri) const { AString groupID; if (!meta->findString(key, &groupID)) { if (uri != NULL) { *uri = mItems.itemAt(index).mURI; *uri = mItems.itemAt(index).makeURL(mBaseURI.c_str()); } AString codecs; Loading Loading @@ -459,7 +460,7 @@ bool M3UParser::getTypeURI(size_t index, const char *key, AString *uri) const { // don't care about the active URI (or if there is an active one) if (uri != NULL) { sp<MediaGroup> group = mMediaGroups.valueFor(groupID); if (!group->getActiveURI(uri)) { if (!group->getActiveURI(uri, mBaseURI.c_str())) { return false; } Loading Loading @@ -548,6 +549,18 @@ static bool MakeURL(const char *baseURL, const char *url, AString *out) { return true; } AString M3UParser::Item::makeURL(const char *baseURL) const { AString out; CHECK(MakeURL(baseURL, mURI.c_str(), &out)); return out; } AString M3UParser::MediaGroup::Media::makeURL(const char *baseURL) const { AString out; CHECK(MakeURL(baseURL, mURI.c_str(), &out)); return out; } status_t M3UParser::parse(const void *_data, size_t size) { int32_t lineNo = 0; Loading Loading @@ -678,7 +691,7 @@ status_t M3UParser::parse(const void *_data, size_t size) { mItems.push(); Item *item = &mItems.editItemAt(mItems.size() - 1); CHECK(MakeURL(mBaseURI.c_str(), line.c_str(), &item->mURI)); item->mURI = line; item->mMeta = itemMeta; Loading Loading @@ -1190,9 +1203,7 @@ status_t M3UParser::parseMedia(const AString &line) { AString tmp(val, 1, val.size() - 2); if (!MakeURL(mBaseURI.c_str(), tmp.c_str(), &groupURI)) { ALOGI("Failed to make absolute URI from '%s'.", tmp.c_str()); } groupURI = tmp; haveGroupURI = true; } Loading
media/libstagefright/httplive/M3UParser.h +1 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ private: struct Item { AString mURI; sp<AMessage> mMeta; AString makeURL(const char *baseURL) const; }; status_t mInitCheck; Loading
media/libstagefright/id3/ID3.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -607,6 +607,9 @@ void ID3::Iterator::getstring(String8 *id, bool otherdata) const { // UCS-2 // API wants number of characters, not number of bytes... int len = n / 2; if (len == 0) { return; } const char16_t *framedata = (const char16_t *) (frameData + 1); char16_t *framedatacopy = NULL; if (*framedata == 0xfffe) { Loading