⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mobile_video_render.h

📁 audio-video-codecs.rar语音编解码器
💻 H
字号:
/*
//
//                  INTEL CORPORATION PROPRIETARY INFORMATION
//     This software is supplied under the terms of a license agreement or
//     nondisclosure agreement with Intel Corporation and may not be copied
//     or disclosed except in accordance with the terms of that agreement.
//       Copyright(c) 2003-2006 Intel Corporation. All Rights Reserved.
//
*/

#ifndef __MOBILE_VIDEO_RENDER_H__
#define __MOBILE_VIDEO_RENDER_H__

#include "umc_semaphore.h"
#include "umc_video_render.h"

namespace UMC
{

class MobileVideoRender: public VideoRender
{
public:
    // Default constructor
    MobileVideoRender();

    // Initialize the render, return false if failed, call Close anyway
    virtual Status Init(MediaReceiverParams* pInit);

    // Break waiting(s)
    virtual Status Stop();

    // Warning:
    // Outdated functions - don't use it, use MediaReceiver interface instead

    //  Temporary stub, will be removed in future
    virtual Status Init(VideoRenderParams& rInit)
    {   return Init(&rInit); }

    // Reserve a frame buffer for decoding the current frame
    virtual Ipp32s ReserveBuffer(Ipp8u** vidmem);

    // Buffer the decoded frame
    virtual Status BufferReserved(Ipp64f frame_time, FrameType frame_type);

    virtual void BufferEndOfClip();

    // VideoRender interface extension above MediaReceiver

    // Peek presentation of next frame, return presentation time
    virtual Status GetRenderFrame(Ipp64f *pTime);

    // Rendering the current frame
    virtual Status RenderFrame();

    // Rendering the current frame
    virtual Status ShowLastFrame(){return UMC_OK;};

    // Set/Reset full screen playback
    virtual Status SetFullScreen(ModuleContext& rContext, bool full);

    // Resize the display rectangular
    virtual Status ResizeDisplay(UMC::RECT &disp, UMC::RECT &range);

    // Show/Hide Surface
    virtual void ShowSurface();
    virtual void HideSurface();

protected:
    Semaphore           m_ReadySema;
    Semaphore           m_DoneSema;
    Ipp64f              m_dfFrameTime;
    bool                m_bStopFlag;
}; // class MobileVideoRender

} // namespace UMC

#endif // __MOBILE_VIDEO_RENDER_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -