diff options
| author | 2010-09-08 17:51:59 -0700 | |
|---|---|---|
| committer | 2010-09-08 17:51:59 -0700 | |
| commit | d353c840ad5bf1b4e6bfba0e10bcdc79223bcdf7 (patch) | |
| tree | 63e02f1e03b8bea17ad4dd2b5d255b61052d080c | |
| parent | 46b84d5b4a44dbab8e0f6ee11f3ab42e11ce97bb (diff) | |
| parent | d015ccf62b4e87756e2f7785af92338d35a21c15 (diff) | |
Merge "HW audio encoder expects timestamp via kKeyTime from each input buffer" into gingerbread
| -rw-r--r-- | include/media/stagefright/MetaData.h | 1 | ||||
| -rw-r--r-- | media/libstagefright/AudioSource.cpp | 4 | ||||
| -rw-r--r-- | media/libstagefright/codecs/aacenc/AACEncoder.cpp | 2 | ||||
| -rw-r--r-- | media/libstagefright/codecs/amrnb/enc/AMRNBEncoder.cpp | 2 | ||||
| -rw-r--r-- | media/libstagefright/codecs/amrwbenc/AMRWBEncoder.cpp | 2 |
5 files changed, 7 insertions, 4 deletions
diff --git a/include/media/stagefright/MetaData.h b/include/media/stagefright/MetaData.h index 1e447f13d5fc..1594e314cd42 100644 --- a/include/media/stagefright/MetaData.h +++ b/include/media/stagefright/MetaData.h @@ -49,6 +49,7 @@ enum { kKeyNTPTime = 'ntpT', // uint64_t (ntp-timestamp) kKeyTargetTime = 'tarT', // int64_t (usecs) kKeyDriftTime = 'dftT', // int64_t (usecs) + kKeyAnchorTime = 'ancT', // int64_t (usecs) kKeyDuration = 'dura', // int64_t (usecs) kKeyColorFormat = 'colf', kKeyPlatformPrivate = 'priv', // pointer diff --git a/media/libstagefright/AudioSource.cpp b/media/libstagefright/AudioSource.cpp index c2f79e8e6f51..8d7ada322c8c 100644 --- a/media/libstagefright/AudioSource.cpp +++ b/media/libstagefright/AudioSource.cpp @@ -316,8 +316,10 @@ status_t AudioSource::read( } if (numFramesRecorded == 0) { - buffer->meta_data()->setInt64(kKeyTime, mStartTimeUs); + buffer->meta_data()->setInt64(kKeyAnchorTime, mStartTimeUs); } + + buffer->meta_data()->setInt64(kKeyTime, mStartTimeUs + mPrevSampleTimeUs); buffer->meta_data()->setInt64(kKeyDriftTime, readTimeUs - mInitialReadTimeUs); CHECK(timestampUs > mPrevSampleTimeUs); mPrevSampleTimeUs = timestampUs; diff --git a/media/libstagefright/codecs/aacenc/AACEncoder.cpp b/media/libstagefright/codecs/aacenc/AACEncoder.cpp index e391c72c8d7c..df9f107b0d7a 100644 --- a/media/libstagefright/codecs/aacenc/AACEncoder.cpp +++ b/media/libstagefright/codecs/aacenc/AACEncoder.cpp @@ -243,7 +243,7 @@ status_t AACEncoder::read( if (mInputBuffer->meta_data()->findInt64(kKeyDriftTime, &timeUs)) { wallClockTimeUs = timeUs; } - if (mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs)) { + if (mInputBuffer->meta_data()->findInt64(kKeyAnchorTime, &timeUs)) { mAnchorTimeUs = timeUs; } readFromSource = true; diff --git a/media/libstagefright/codecs/amrnb/enc/AMRNBEncoder.cpp b/media/libstagefright/codecs/amrnb/enc/AMRNBEncoder.cpp index 858e6d03b168..94a79ab97441 100644 --- a/media/libstagefright/codecs/amrnb/enc/AMRNBEncoder.cpp +++ b/media/libstagefright/codecs/amrnb/enc/AMRNBEncoder.cpp @@ -174,7 +174,7 @@ status_t AMRNBEncoder::read( if (mInputBuffer->meta_data()->findInt64(kKeyDriftTime, &timeUs)) { wallClockTimeUs = timeUs; } - if (mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs)) { + if (mInputBuffer->meta_data()->findInt64(kKeyAnchorTime, &timeUs)) { mAnchorTimeUs = timeUs; } } else { diff --git a/media/libstagefright/codecs/amrwbenc/AMRWBEncoder.cpp b/media/libstagefright/codecs/amrwbenc/AMRWBEncoder.cpp index cd2841311564..002f05558c88 100644 --- a/media/libstagefright/codecs/amrwbenc/AMRWBEncoder.cpp +++ b/media/libstagefright/codecs/amrwbenc/AMRWBEncoder.cpp @@ -224,7 +224,7 @@ status_t AMRWBEncoder::read( if (mInputBuffer->meta_data()->findInt64(kKeyDriftTime, &timeUs)) { wallClockTimeUs = timeUs; } - if (mInputBuffer->meta_data()->findInt64(kKeyTime, &timeUs)) { + if (mInputBuffer->meta_data()->findInt64(kKeyAnchorTime, &timeUs)) { mAnchorTimeUs = timeUs; } readFromSource = true; |