diff options
author | Steve Kondik <steve@cyngn.com> | 2015-11-19 00:33:58 -0800 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-11-24 04:02:48 -0800 |
commit | 3a0bcf107182665d5b8628245750f1e210ef0936 (patch) | |
tree | 5e530ee0e0da1b786466dcbf8362d671c6ea6057 /media/libmediaplayerservice | |
parent | 29c75250c58bdcc3b38513813ba521cba82d5c61 (diff) | |
download | frameworks_av-3a0bcf107182665d5b8628245750f1e210ef0936.zip frameworks_av-3a0bcf107182665d5b8628245750f1e210ef0936.tar.gz frameworks_av-3a0bcf107182665d5b8628245750f1e210ef0936.tar.bz2 |
stagefright: Act V: I am become death, the destroyer of worlds
* In which our hero unites the legions of distant worlds together
as one at last to fight anew until the segfaults boil the lands
and the New Version cometh.
Change-Id: I869b2ab254968ed7a133827ea9e5ba6056f68a5c
Diffstat (limited to 'media/libmediaplayerservice')
7 files changed, 27 insertions, 6 deletions
diff --git a/media/libmediaplayerservice/Android.mk b/media/libmediaplayerservice/Android.mk index c4c5b47..7c4aa3d 100644 --- a/media/libmediaplayerservice/Android.mk +++ b/media/libmediaplayerservice/Android.mk @@ -64,6 +64,10 @@ LOCAL_MODULE:= libmediaplayerservice #LOCAL_32_BIT_ONLY := true +ifeq ($(TARGET_BOARD_PLATFORM),msm8974) + LOCAL_CFLAGS += -DTARGET_8974 +endif + include $(BUILD_SHARED_LIBRARY) include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/media/libmediaplayerservice/MediaRecorderClient.h b/media/libmediaplayerservice/MediaRecorderClient.h index 2e77d21..cfe332c 100644 --- a/media/libmediaplayerservice/MediaRecorderClient.h +++ b/media/libmediaplayerservice/MediaRecorderClient.h @@ -49,7 +49,6 @@ public: virtual status_t prepare(); virtual status_t getMaxAmplitude(int* max); virtual status_t start(); - virtual status_t pause(); virtual status_t stop(); virtual status_t reset(); virtual status_t init(); @@ -72,8 +71,11 @@ private: Mutex mLock; MediaRecorderBase *mRecorder; sp<MediaPlayerService> mMediaPlayerService; -}; +public: + virtual status_t pause(); + +}; }; // namespace android #endif // ANDROID_MEDIARECORDERCLIENT_H diff --git a/media/libmediaplayerservice/StagefrightRecorder.h b/media/libmediaplayerservice/StagefrightRecorder.h index 26c5582..6c14993 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.h +++ b/media/libmediaplayerservice/StagefrightRecorder.h @@ -60,7 +60,6 @@ struct StagefrightRecorder : public MediaRecorderBase { virtual status_t setParameters(const String8& params); virtual status_t setListener(const sp<IMediaRecorderClient>& listener); virtual status_t setClientName(const String16& clientName); - virtual status_t setSourcePause(bool pause); virtual status_t prepare(); virtual status_t start(); virtual status_t pause(); @@ -199,6 +198,9 @@ protected: StagefrightRecorder(const StagefrightRecorder &); StagefrightRecorder &operator=(const StagefrightRecorder &); + +public: + virtual status_t setSourcePause(bool pause); }; } // namespace android diff --git a/media/libmediaplayerservice/nuplayer/Android.mk b/media/libmediaplayerservice/nuplayer/Android.mk index 6729cd5..cc1bdb4 100644 --- a/media/libmediaplayerservice/nuplayer/Android.mk +++ b/media/libmediaplayerservice/nuplayer/Android.mk @@ -34,6 +34,10 @@ ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) LOCAL_CFLAGS += -DENABLE_STAGEFRIGHT_EXPERIMENTS endif +ifeq ($(TARGET_BOARD_PLATFORM),msm8974) +LOCAL_CFLAGS += -DTARGET_8974 +endif + LOCAL_CLANG := true LOCAL_MODULE:= libstagefright_nuplayer diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.cpp b/media/libmediaplayerservice/nuplayer/GenericSource.cpp index c0355d7..d761bdf 100644 --- a/media/libmediaplayerservice/nuplayer/GenericSource.cpp +++ b/media/libmediaplayerservice/nuplayer/GenericSource.cpp @@ -179,9 +179,14 @@ status_t NuPlayer::GenericSource::initFromDataSource() { } extractor = mWVMExtractor; } else { +#ifndef TARGET_8974 + int32_t flags = AVNuUtils::get()->getFlags(); +#else + int32_t flags = 0; +#endif extractor = MediaExtractor::Create(mDataSource, mimeType.isEmpty() ? NULL : mimeType.string(), - mIsStreaming ? 0 : AVNuUtils::get()->getFlags()); + mIsStreaming ? 0 : flags); } if (extractor == NULL) { @@ -211,10 +216,12 @@ status_t NuPlayer::GenericSource::initFromDataSource() { } } +#ifndef TARGET_8974 if (AVNuUtils::get()->canUseSetBuffers(mFileMeta)) { mUseSetBuffers = true; ALOGI("setBuffers mode enabled"); } +#endif int32_t totalBitrate = 0; diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp index 98eff88..1710076 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp @@ -597,7 +597,9 @@ bool NuPlayer::Decoder::handleAnOutputBuffer( buffer->meta()->clear(); buffer->meta()->setInt64("timeUs", timeUs); setPcmFormat(buffer->meta()); +#ifdef TARGET_8974 AVNuUtils::get()->addFlagsInMeta(buffer, flags, mIsAudio); +#endif bool eos = flags & MediaCodec::BUFFER_FLAG_EOS; // we do not expect CODECCONFIG or SYNCFRAME for decoder diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp index 307e0cb..52f99e4 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp @@ -1827,7 +1827,7 @@ status_t NuPlayer::Renderer::onOpenAudioSink( const PcmInfo info = { (audio_channel_mask_t)channelMask, (audio_output_flags_t)pcmFlags, - AVNuUtils::get()->getPCMFormat(format), + getPCMFormat(format), numChannels, sampleRate }; @@ -1862,7 +1862,7 @@ status_t NuPlayer::Renderer::onOpenAudioSink( sampleRate, numChannels, (audio_channel_mask_t)channelMask, - AVNuUtils::get()->getPCMFormat(format), + getPCMFormat(format), 0 /* bufferCount - unused */, mUseAudioCallback ? &NuPlayer::Renderer::AudioSinkCallback : NULL, mUseAudioCallback ? this : NULL, |