Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 98aff38c authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6881776 from e01df89d to rvc-qpr1-release

Change-Id: I0e0cd233719b12dca66b77b9d7adc24675ba3bd9
parents d9de60e5 e01df89d
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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);
+18 −12
Original line number Diff line number Diff line
@@ -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);
@@ -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;
@@ -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);
@@ -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());
@@ -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,
+1 −1
Original line number Diff line number Diff line
@@ -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