From e048e90967aa52e01b6b3ca445e4ade75c0dc878 Mon Sep 17 00:00:00 2001 From: Chih-Chung Chang Date: Mon, 1 Aug 2011 12:15:59 +0800 Subject: [PATCH] Remove PreviewLocalRenderer (simplify the code). Change-Id: I1f04e591cd0a33eb70bd93d5600aba12e727386e --- libvideoeditor/lvpp/PreviewPlayer.cpp | 112 +++------------------------------- libvideoeditor/lvpp/PreviewPlayer.h | 14 +---- 2 files changed, 9 insertions(+), 117 deletions(-) diff --git a/libvideoeditor/lvpp/PreviewPlayer.cpp b/libvideoeditor/lvpp/PreviewPlayer.cpp index f2b82d9924..0f04c0ad66 100755 --- a/libvideoeditor/lvpp/PreviewPlayer.cpp +++ b/libvideoeditor/lvpp/PreviewPlayer.cpp @@ -72,102 +72,6 @@ private: PreviewPlayerEvent &operator=(const PreviewPlayerEvent &); }; - -struct PreviewLocalRenderer : public PreviewPlayerRenderer { - - static PreviewLocalRenderer* initPreviewLocalRenderer ( - bool previewOnly, - OMX_COLOR_FORMATTYPE colorFormat, - const sp &surface, - size_t displayWidth, size_t displayHeight, - size_t decodedWidth, size_t decodedHeight, - int32_t rotationDegrees = 0) - { - PreviewLocalRenderer* mLocalRenderer = new - PreviewLocalRenderer( - previewOnly, - colorFormat, - surface, - displayWidth, displayHeight, - decodedWidth, decodedHeight, - rotationDegrees); - - if ( mLocalRenderer->init(previewOnly, - colorFormat, surface, - displayWidth, displayHeight, - decodedWidth, decodedHeight, - rotationDegrees) != OK ) - { - delete mLocalRenderer; - return NULL; - } - return mLocalRenderer; - } - - virtual void render(MediaBuffer *buffer) { - render((const uint8_t *)buffer->data() + buffer->range_offset(), - buffer->range_length()); - } - - void render(const void *data, size_t size) { - mTarget->render(data, size, NULL); - } - void render() { - mTarget->renderYV12(); - } - void getBuffer(uint8_t **data, size_t *stride) { - mTarget->getBufferYV12(data, stride); - } - -protected: - virtual ~PreviewLocalRenderer() { - delete mTarget; - mTarget = NULL; - } - -private: - PreviewRenderer *mTarget; - - PreviewLocalRenderer( - bool previewOnly, - OMX_COLOR_FORMATTYPE colorFormat, - const sp &surface, - size_t displayWidth, size_t displayHeight, - size_t decodedWidth, size_t decodedHeight, - int32_t rotationDegrees = 0) - : mTarget(NULL) { - } - - - int init( - bool previewOnly, - OMX_COLOR_FORMATTYPE colorFormat, - const sp &surface, - size_t displayWidth, size_t displayHeight, - size_t decodedWidth, size_t decodedHeight, - int32_t rotationDegrees = 0); - - PreviewLocalRenderer(const PreviewLocalRenderer &); - PreviewLocalRenderer &operator=(const PreviewLocalRenderer &);; -}; - -int PreviewLocalRenderer::init( - bool previewOnly, - OMX_COLOR_FORMATTYPE colorFormat, - const sp &surface, - size_t displayWidth, size_t displayHeight, - size_t decodedWidth, size_t decodedHeight, - int32_t rotationDegrees) { - - mTarget = PreviewRenderer::CreatePreviewRenderer ( - colorFormat, surface, displayWidth, displayHeight, - decodedWidth, decodedHeight, rotationDegrees); - if (mTarget == M4OSA_NULL) { - return UNKNOWN_ERROR; - } - return OK; -} - PreviewPlayer::PreviewPlayer() : PreviewPlayerBase(), mCurrFramingEffectIndex(0) , @@ -232,8 +136,7 @@ PreviewPlayer::~PreviewPlayer() { mResizedVideoBuffer = NULL; } - mVideoRenderer.clear(); - mVideoRenderer = NULL; + delete mVideoRenderer; } void PreviewPlayer::cancelPlayerEvents(bool keepBufferingGoing) { @@ -768,12 +671,12 @@ status_t PreviewPlayer::initRenderer_l() { // allocate their buffers in local address space. if(mVideoRenderer == NULL) { - mVideoRenderer = PreviewLocalRenderer:: initPreviewLocalRenderer ( - false, // previewOnly + mVideoRenderer = PreviewRenderer::CreatePreviewRenderer( OMX_COLOR_FormatYUV420Planar, mSurface, mOutputVideoWidth, mOutputVideoHeight, - mOutputVideoWidth, mOutputVideoHeight); + mOutputVideoWidth, mOutputVideoHeight, + 0); if ( mVideoRenderer == NULL ) { @@ -1220,7 +1123,7 @@ void PreviewPlayer::onVideoEvent() { if (mVideoRenderer != NULL) { LOGV("mVideoRenderer CALL render()"); - mVideoRenderer->render(); + mVideoRenderer->renderYV12(); } if (mLastVideoBuffer) { @@ -1510,7 +1413,7 @@ M4OSA_ERR PreviewPlayer::doMediaRendering() { uint8_t* outBuffer; size_t outBufferStride = 0; - mVideoRenderer->getBuffer(&outBuffer, &outBufferStride); + mVideoRenderer->getBufferYV12(&outBuffer, &outBufferStride); bufferOffset = index*frameSize; inBuffer = (M4OSA_UInt8 *)mVideoBuffer->data()+ @@ -1712,7 +1615,8 @@ M4OSA_ERR PreviewPlayer::doVideoPostProcessing() { postProcessParams.overlayFrameRGBBuffer = mFrameRGBBuffer; postProcessParams.overlayFrameYUVBuffer = mFrameYUVBuffer; - mVideoRenderer->getBuffer(&(postProcessParams.pOutBuffer), &(postProcessParams.outBufferStride)); + mVideoRenderer->getBufferYV12(&(postProcessParams.pOutBuffer), + &(postProcessParams.outBufferStride)); err = applyEffectsAndRenderingMode(&postProcessParams, mReportedWidth, mReportedHeight); return err; diff --git a/libvideoeditor/lvpp/PreviewPlayer.h b/libvideoeditor/lvpp/PreviewPlayer.h index ccd88a7a6f..266bd5edca 100755 --- a/libvideoeditor/lvpp/PreviewPlayer.h +++ b/libvideoeditor/lvpp/PreviewPlayer.h @@ -37,18 +37,6 @@ struct MediaBuffer; struct MediaExtractor; struct MediaSource; -struct PreviewPlayerRenderer : public RefBase { - PreviewPlayerRenderer() {} - - virtual void render(MediaBuffer *buffer) = 0; - virtual void render() = 0; - virtual void getBuffer(uint8_t **data, size_t *stride) = 0; - -private: - PreviewPlayerRenderer(const PreviewPlayerRenderer &); - PreviewPlayerRenderer &operator=(const PreviewPlayerRenderer &); -}; - struct PreviewPlayer : public PreviewPlayerBase { PreviewPlayer(); ~PreviewPlayer(); @@ -126,7 +114,7 @@ private: status_t startAudioPlayer_l(); bool mIsChangeSourceRequired; - sp mVideoRenderer; + PreviewRenderer *mVideoRenderer; int32_t mVideoWidth, mVideoHeight; -- 2.11.0