diff options
-rw-r--r-- | media/libstagefright/ACodec.cpp | 4 | ||||
-rw-r--r-- | media/libstagefright/Android.mk | 5 | ||||
-rw-r--r-- | media/libstagefright/SurfaceMediaSource.cpp | 17 |
3 files changed, 23 insertions, 3 deletions
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 3c80d03..f40a3c4 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -2073,7 +2073,11 @@ status_t ACodec::configureCodec( } err = setupG711Codec(encoder, sampleRate, numChannels); } +#ifdef QTI_FLAC_DECODER } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_FLAC) && encoder) { +#else + } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_FLAC)) { +#endif int32_t numChannels = 0, sampleRate = 0, compressionLevel = -1; if (encoder && (!msg->findInt32("channel-count", &numChannels) diff --git a/media/libstagefright/Android.mk b/media/libstagefright/Android.mk index b2729af..9687c7d 100644 --- a/media/libstagefright/Android.mk +++ b/media/libstagefright/Android.mk @@ -132,6 +132,11 @@ LOCAL_SHARED_LIBRARIES += \ LOCAL_CFLAGS += -Wno-multichar -Werror -Wno-error=deprecated-declarations -Wall +ifeq ($(TARGET_USES_QCOM_BSP), true) + LOCAL_C_INCLUDES += hardware/qcom/display/libgralloc + LOCAL_CFLAGS += -DQTI_BSP +endif + # enable experiments only in userdebug and eng builds ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) LOCAL_CFLAGS += -DENABLE_STAGEFRIGHT_EXPERIMENTS diff --git a/media/libstagefright/SurfaceMediaSource.cpp b/media/libstagefright/SurfaceMediaSource.cpp index e8abf48..147eb45 100644 --- a/media/libstagefright/SurfaceMediaSource.cpp +++ b/media/libstagefright/SurfaceMediaSource.cpp @@ -35,6 +35,9 @@ #include <utils/String8.h> #include <private/gui/ComposerService.h> +#if QTI_BSP +#include <gralloc_priv.h> +#endif namespace android { @@ -59,8 +62,12 @@ SurfaceMediaSource::SurfaceMediaSource(uint32_t bufferWidth, uint32_t bufferHeig BufferQueue::createBufferQueue(&mProducer, &mConsumer); mConsumer->setDefaultBufferSize(bufferWidth, bufferHeight); - mConsumer->setConsumerUsageBits(GRALLOC_USAGE_HW_VIDEO_ENCODER | - GRALLOC_USAGE_HW_TEXTURE); + mConsumer->setConsumerUsageBits(GRALLOC_USAGE_HW_VIDEO_ENCODER + | GRALLOC_USAGE_HW_TEXTURE +#if QTI_BSP + | GRALLOC_USAGE_PRIVATE_WFD +#endif + ); sp<ISurfaceComposer> composer(ComposerService::getComposerService()); @@ -360,7 +367,11 @@ status_t SurfaceMediaSource::read( mNumFramesEncoded++; // Pass the data to the MediaBuffer. Pass in only the metadata - + if (mSlots[mCurrentSlot].mGraphicBuffer == NULL) { + ALOGV("Read: SurfaceMediaSource mGraphicBuffer is null. Returning" + "ERROR_END_OF_STREAM."); + return ERROR_END_OF_STREAM; + } passMetadataBuffer(buffer, mSlots[mCurrentSlot].mGraphicBuffer->handle); (*buffer)->setObserver(this); |