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

Commit ddba3f04 authored by James Dong's avatar James Dong Committed by Android (Google) Code Review
Browse files

Merge "Not all audio source has the drift time information" into gingerbread

parents 8ae49d87 caa68a57
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -209,7 +209,7 @@ status_t AACEncoder::read(
    CHECK_EQ(mBufferGroup->acquire_buffer(&buffer), OK);
    uint8_t *outPtr = (uint8_t *)buffer->data();
    bool readFromSource = false;
    int64_t wallClockTimeUs = 0;
    int64_t wallClockTimeUs = -1;

    if (mFrameCount == 0) {
        memcpy(outPtr, mAudioSpecificConfigData, 2);
@@ -240,8 +240,9 @@ status_t AACEncoder::read(
            CHECK_EQ(align, 0);

            int64_t timeUs;
            CHECK(mInputBuffer->meta_data()->findInt64(kKeyDriftTime, &timeUs));
            if (mInputBuffer->meta_data()->findInt64(kKeyDriftTime, &timeUs)) {
                wallClockTimeUs = timeUs;
            }
            if (mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs)) {
                mAnchorTimeUs = timeUs;
            }
@@ -298,7 +299,7 @@ status_t AACEncoder::read(
    int64_t mediaTimeUs =
        ((mFrameCount - 1) * 1000000LL * kNumSamplesPerFrame) / mSampleRate;
    buffer->meta_data()->setInt64(kKeyTime, mAnchorTimeUs + mediaTimeUs);
    if (readFromSource) {
    if (readFromSource && wallClockTimeUs != -1) {
        buffer->meta_data()->setInt64(kKeyDriftTime, mediaTimeUs - wallClockTimeUs);
    }
    ++mFrameCount;
+5 −4
Original line number Diff line number Diff line
@@ -148,7 +148,7 @@ status_t AMRNBEncoder::read(
    ReadOptions::SeekMode mode;
    CHECK(options == NULL || !options->getSeekTo(&seekTimeUs, &mode));
    bool readFromSource = false;
    int64_t wallClockTimeUs = 0;
    int64_t wallClockTimeUs = -1;

    while (mNumInputSamples < kNumSamplesPerFrame) {
        if (mInputBuffer == NULL) {
@@ -171,8 +171,9 @@ status_t AMRNBEncoder::read(
            readFromSource = true;

            int64_t timeUs;
            CHECK(mInputBuffer->meta_data()->findInt64(kKeyDriftTime, &timeUs));
            if (mInputBuffer->meta_data()->findInt64(kKeyDriftTime, &timeUs)) {
                wallClockTimeUs = timeUs;
            }
            if (mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs)) {
                mAnchorTimeUs = timeUs;
            }
@@ -227,7 +228,7 @@ status_t AMRNBEncoder::read(
    buffer->meta_data()->setInt64(
            kKeyTime, mAnchorTimeUs + mediaTimeUs);

    if (readFromSource) {
    if (readFromSource && wallClockTimeUs != -1) {
        buffer->meta_data()->setInt64(kKeyDriftTime,
            mediaTimeUs - wallClockTimeUs);
    }
+5 −4
Original line number Diff line number Diff line
@@ -199,7 +199,7 @@ status_t AMRWBEncoder::read(
    ReadOptions::SeekMode mode;
    CHECK(options == NULL || !options->getSeekTo(&seekTimeUs, &mode));
    bool readFromSource = false;
    int64_t wallClockTimeUs = 0;
    int64_t wallClockTimeUs = -1;

    while (mNumInputSamples < kNumSamplesPerFrame) {
        if (mInputBuffer == NULL) {
@@ -221,8 +221,9 @@ status_t AMRWBEncoder::read(
            CHECK_EQ(align, 0);

            int64_t timeUs;
            CHECK(mInputBuffer->meta_data()->findInt64(kKeyDriftTime, &timeUs));
            if (mInputBuffer->meta_data()->findInt64(kKeyDriftTime, &timeUs)) {
                wallClockTimeUs = timeUs;
            }
            if (mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs)) {
                mAnchorTimeUs = timeUs;
            }
@@ -285,7 +286,7 @@ status_t AMRWBEncoder::read(

    int64_t mediaTimeUs = mNumFramesOutput * 20000LL;
    buffer->meta_data()->setInt64(kKeyTime, mAnchorTimeUs + mediaTimeUs);
    if (readFromSource) {
    if (readFromSource && wallClockTimeUs != -1) {
        buffer->meta_data()->setInt64(kKeyDriftTime, mediaTimeUs - wallClockTimeUs);
    }