diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/media/mediarecorder.h | 4 | ||||
| -rw-r--r-- | include/media/stagefright/AACWriter.h | 1 | ||||
| -rw-r--r-- | include/media/stagefright/ACodec.h | 6 | ||||
| -rw-r--r-- | include/media/stagefright/MetaData.h | 1 | ||||
| -rw-r--r-- | include/media/stagefright/NuMediaExtractor.h | 13 | ||||
| -rw-r--r-- | include/media/stagefright/OMXCodec.h | 4 | ||||
| -rw-r--r-- | include/media/stagefright/SkipCutBuffer.h | 6 |
7 files changed, 26 insertions, 9 deletions
diff --git a/include/media/mediarecorder.h b/include/media/mediarecorder.h index 30db642..6d304e0 100644 --- a/include/media/mediarecorder.h +++ b/include/media/mediarecorder.h @@ -75,8 +75,8 @@ enum audio_encoder { AUDIO_ENCODER_AMR_NB = 1, AUDIO_ENCODER_AMR_WB = 2, AUDIO_ENCODER_AAC = 3, - AUDIO_ENCODER_AAC_PLUS = 4, - AUDIO_ENCODER_EAAC_PLUS = 5, + AUDIO_ENCODER_HE_AAC = 4, + AUDIO_ENCODER_AAC_ELD = 5, AUDIO_ENCODER_LIST_END // must be the last - used to validate the audio encoder type }; diff --git a/include/media/stagefright/AACWriter.h b/include/media/stagefright/AACWriter.h index 49397ee..df1b053 100644 --- a/include/media/stagefright/AACWriter.h +++ b/include/media/stagefright/AACWriter.h @@ -59,6 +59,7 @@ private: int64_t mEstimatedDurationUs; int32_t mChannelCount; int32_t mSampleRate; + int32_t mAACProfile; int32_t mFrameDurationUs; static void *ThreadWrapper(void *); diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h index 7d7af63..72827c1 100644 --- a/include/media/stagefright/ACodec.h +++ b/include/media/stagefright/ACodec.h @@ -22,6 +22,7 @@ #include <android/native_window.h> #include <media/IOMX.h> #include <media/stagefright/foundation/AHierarchicalStateMachine.h> +#include <media/stagefright/SkipCutBuffer.h> #include <OMX_Audio.h> namespace android { @@ -120,6 +121,9 @@ private: sp<ExecutingToIdleState> mExecutingToIdleState; sp<IdleToLoadedState> mIdleToLoadedState; sp<FlushingState> mFlushingState; + int32_t mEncoderDelay; + int32_t mEncoderPadding; + sp<SkipCutBuffer> mSkipCutBuffer; AString mComponentName; uint32_t mFlags; @@ -182,7 +186,7 @@ private: status_t setupAACCodec( bool encoder, int32_t numChannels, int32_t sampleRate, int32_t bitRate, - bool isADTS); + int32_t aacProfile, bool isADTS); status_t selectAudioPortFormat( OMX_U32 portIndex, OMX_AUDIO_CODINGTYPE desiredFormat); diff --git a/include/media/stagefright/MetaData.h b/include/media/stagefright/MetaData.h index 8a87d83..3c25a14 100644 --- a/include/media/stagefright/MetaData.h +++ b/include/media/stagefright/MetaData.h @@ -49,6 +49,7 @@ enum { kKeyFrameRate = 'frmR', // int32_t (video frame rate fps) kKeyBitRate = 'brte', // int32_t (bps) kKeyESDS = 'esds', // raw data + kKeyAACProfile = 'aacp', // int32_t kKeyAVCC = 'avcc', // raw data kKeyD263 = 'd263', // raw data kKeyVorbisInfo = 'vinf', // raw data diff --git a/include/media/stagefright/NuMediaExtractor.h b/include/media/stagefright/NuMediaExtractor.h index e197134..c9c709c 100644 --- a/include/media/stagefright/NuMediaExtractor.h +++ b/include/media/stagefright/NuMediaExtractor.h @@ -18,6 +18,7 @@ #define NU_MEDIA_EXTRACTOR_H_ #include <media/stagefright/foundation/ABase.h> +#include <media/stagefright/MediaSource.h> #include <utils/Errors.h> #include <utils/KeyedVector.h> #include <utils/RefBase.h> @@ -53,8 +54,12 @@ struct NuMediaExtractor : public RefBase { status_t getTrackFormat(size_t index, sp<AMessage> *format) const; status_t selectTrack(size_t index); + status_t unselectTrack(size_t index); - status_t seekTo(int64_t timeUs); + status_t seekTo( + int64_t timeUs, + MediaSource::ReadOptions::SeekMode mode = + MediaSource::ReadOptions::SEEK_CLOSEST_SYNC); status_t advance(); status_t readSampleData(const sp<ABuffer> &buffer); @@ -93,7 +98,11 @@ private: int64_t mTotalBitrate; // in bits/sec int64_t mDurationUs; - ssize_t fetchTrackSamples(int64_t seekTimeUs = -1ll); + ssize_t fetchTrackSamples( + int64_t seekTimeUs = -1ll, + MediaSource::ReadOptions::SeekMode mode = + MediaSource::ReadOptions::SEEK_CLOSEST_SYNC); + void releaseTrackSamples(); bool getTotalBitrate(int64_t *bitRate) const; diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h index 055da5d..81350ca 100644 --- a/include/media/stagefright/OMXCodec.h +++ b/include/media/stagefright/OMXCodec.h @@ -204,7 +204,7 @@ private: ReadOptions::SeekMode mSeekMode; int64_t mTargetTimeUs; bool mOutputPortSettingsChangedPending; - SkipCutBuffer *mSkipCutBuffer; + sp<SkipCutBuffer> mSkipCutBuffer; MediaBuffer *mLeftOverBuffer; @@ -243,7 +243,7 @@ private: status_t setAACFormat( int32_t numChannels, int32_t sampleRate, int32_t bitRate, - bool isADTS); + int32_t aacProfile, bool isADTS); void setG711Format(int32_t numChannels); diff --git a/include/media/stagefright/SkipCutBuffer.h b/include/media/stagefright/SkipCutBuffer.h index 27851ca..2653b53 100644 --- a/include/media/stagefright/SkipCutBuffer.h +++ b/include/media/stagefright/SkipCutBuffer.h @@ -27,12 +27,11 @@ namespace android { * utility class to cut the start and end off a stream of data in MediaBuffers * */ -class SkipCutBuffer { +class SkipCutBuffer: public RefBase { public: // 'skip' is the number of bytes to skip from the beginning // 'cut' is the number of bytes to cut from the end SkipCutBuffer(int32_t skip, int32_t cut); - virtual ~SkipCutBuffer(); // Submit one MediaBuffer for skipping and cutting. This may consume all or // some of the data in the buffer, or it may add data to it. @@ -42,6 +41,9 @@ class SkipCutBuffer { void clear(); size_t size(); // how many bytes are currently stored in the buffer + protected: + virtual ~SkipCutBuffer(); + private: void write(const char *src, size_t num); size_t read(char *dst, size_t num); |
