Loading media/libstagefright/MediaMuxer.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -92,7 +92,9 @@ ssize_t MediaMuxer::addTrack(const sp<AMessage> &format) { } sp<MetaData> trackMeta = new MetaData; convertMessageToMetaData(format, trackMeta); if (convertMessageToMetaData(format, trackMeta) != OK) { return BAD_VALUE; } sp<MediaAdapter> newTrack = new MediaAdapter(trackMeta); status_t result = mWriter->addSource(newTrack); Loading media/libstagefright/Utils.cpp +18 −12 Original line number Diff line number Diff line Loading @@ -1663,13 +1663,16 @@ static void convertMessageToMetaDataColorAspects(const sp<AMessage> &msg, sp<Met meta->setInt32(kKeyColorMatrix, colorAspects.mMatrixCoeffs); } } void convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { /* Converts key and value pairs in AMessage format to MetaData format. * Also checks for the presence of required keys. */ status_t convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { AString mime; if (msg->findString("mime", &mime)) { meta->setCString(kKeyMIMEType, mime.c_str()); } else { ALOGW("did not find mime type"); ALOGE("did not find mime type"); return BAD_VALUE; } convertMessageToMetaDataFromMappings(msg, meta); Loading Loading @@ -1718,7 +1721,8 @@ void convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { meta->setInt32(kKeyWidth, width); meta->setInt32(kKeyHeight, height); } else { ALOGV("did not find width and/or height"); ALOGE("did not find width and/or height"); return BAD_VALUE; } int32_t sarWidth, sarHeight; Loading Loading @@ -1803,14 +1807,14 @@ void convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { } } } else if (mime.startsWith("audio/")) { int32_t numChannels; if (msg->findInt32("channel-count", &numChannels)) { meta->setInt32(kKeyChannelCount, numChannels); int32_t numChannels, sampleRate; if (!msg->findInt32("channel-count", &numChannels) || !msg->findInt32("sample-rate", &sampleRate)) { ALOGE("did not find channel-count and/or sample-rate"); return BAD_VALUE; } int32_t sampleRate; if (msg->findInt32("sample-rate", &sampleRate)) { meta->setInt32(kKeyChannelCount, numChannels); meta->setInt32(kKeySampleRate, sampleRate); } int32_t bitsPerSample; if (msg->findInt32("bits-per-sample", &bitsPerSample)) { meta->setInt32(kKeyBitsPerSample, bitsPerSample); Loading Loading @@ -1925,7 +1929,8 @@ void convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { } } } else { ALOGW("We need csd-2!!. %s", msg->debugString().c_str()); ALOGE("We need csd-2!!. %s", msg->debugString().c_str()); return BAD_VALUE; } } else if (mime == MEDIA_MIMETYPE_VIDEO_VP9) { meta->setData(kKeyVp9CodecPrivate, 0, csd0->data(), csd0->size()); Loading Loading @@ -1991,6 +1996,7 @@ void convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { ALOGI("converted %s to:", msg->debugString(0).c_str()); meta->dumpToLog(); #endif return OK; } status_t sendMetaDataToHal(sp<MediaPlayerBase::AudioSink>& sink, Loading media/libstagefright/include/media/stagefright/Utils.h +1 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ status_t convertMetaDataToMessage( const MetaDataBase *meta, sp<AMessage> *format); status_t convertMetaDataToMessage( const sp<MetaData> &meta, sp<AMessage> *format); void convertMessageToMetaData( status_t convertMessageToMetaData( const sp<AMessage> &format, sp<MetaData> &meta); // Returns a pointer to the next NAL start code in buffer of size |length| starting at |data|, or Loading Loading
media/libstagefright/MediaMuxer.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -92,7 +92,9 @@ ssize_t MediaMuxer::addTrack(const sp<AMessage> &format) { } sp<MetaData> trackMeta = new MetaData; convertMessageToMetaData(format, trackMeta); if (convertMessageToMetaData(format, trackMeta) != OK) { return BAD_VALUE; } sp<MediaAdapter> newTrack = new MediaAdapter(trackMeta); status_t result = mWriter->addSource(newTrack); Loading
media/libstagefright/Utils.cpp +18 −12 Original line number Diff line number Diff line Loading @@ -1663,13 +1663,16 @@ static void convertMessageToMetaDataColorAspects(const sp<AMessage> &msg, sp<Met meta->setInt32(kKeyColorMatrix, colorAspects.mMatrixCoeffs); } } void convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { /* Converts key and value pairs in AMessage format to MetaData format. * Also checks for the presence of required keys. */ status_t convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { AString mime; if (msg->findString("mime", &mime)) { meta->setCString(kKeyMIMEType, mime.c_str()); } else { ALOGW("did not find mime type"); ALOGE("did not find mime type"); return BAD_VALUE; } convertMessageToMetaDataFromMappings(msg, meta); Loading Loading @@ -1718,7 +1721,8 @@ void convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { meta->setInt32(kKeyWidth, width); meta->setInt32(kKeyHeight, height); } else { ALOGV("did not find width and/or height"); ALOGE("did not find width and/or height"); return BAD_VALUE; } int32_t sarWidth, sarHeight; Loading Loading @@ -1803,14 +1807,14 @@ void convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { } } } else if (mime.startsWith("audio/")) { int32_t numChannels; if (msg->findInt32("channel-count", &numChannels)) { meta->setInt32(kKeyChannelCount, numChannels); int32_t numChannels, sampleRate; if (!msg->findInt32("channel-count", &numChannels) || !msg->findInt32("sample-rate", &sampleRate)) { ALOGE("did not find channel-count and/or sample-rate"); return BAD_VALUE; } int32_t sampleRate; if (msg->findInt32("sample-rate", &sampleRate)) { meta->setInt32(kKeyChannelCount, numChannels); meta->setInt32(kKeySampleRate, sampleRate); } int32_t bitsPerSample; if (msg->findInt32("bits-per-sample", &bitsPerSample)) { meta->setInt32(kKeyBitsPerSample, bitsPerSample); Loading Loading @@ -1925,7 +1929,8 @@ void convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { } } } else { ALOGW("We need csd-2!!. %s", msg->debugString().c_str()); ALOGE("We need csd-2!!. %s", msg->debugString().c_str()); return BAD_VALUE; } } else if (mime == MEDIA_MIMETYPE_VIDEO_VP9) { meta->setData(kKeyVp9CodecPrivate, 0, csd0->data(), csd0->size()); Loading Loading @@ -1991,6 +1996,7 @@ void convertMessageToMetaData(const sp<AMessage> &msg, sp<MetaData> &meta) { ALOGI("converted %s to:", msg->debugString(0).c_str()); meta->dumpToLog(); #endif return OK; } status_t sendMetaDataToHal(sp<MediaPlayerBase::AudioSink>& sink, Loading
media/libstagefright/include/media/stagefright/Utils.h +1 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ status_t convertMetaDataToMessage( const MetaDataBase *meta, sp<AMessage> *format); status_t convertMetaDataToMessage( const sp<MetaData> &meta, sp<AMessage> *format); void convertMessageToMetaData( status_t convertMessageToMetaData( const sp<AMessage> &format, sp<MetaData> &meta); // Returns a pointer to the next NAL start code in buffer of size |length| starting at |data|, or Loading