1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #pragma once
- /*!
- * \brief 亿连解码渲染接口
- */
- class ECMirrorRender
- {
- public:
- /*!
- * \brief 镜像方向
- */
- enum MirrorDirection {
- LANDSCAPE, /*! 横屏 */
- VERTICAL, /*! 竖屏 */
- };
- public:
- /*!
- * \brief 初始化解码器
- * 根据实现需要内部可直接使用成员变量中的屏幕和镜像分辨率
- */
- virtual void initialize() = 0;
- /*!
- * \brief 解码渲染
- * \param[in] data 镜像数据
- * \param[in] len 镜像数据长度
- * \param[in] direction 镜像的显示方向,即横屏或竖屏
- */
- virtual void play(const void *data, int len, MirrorDirection direction = LANDSCAPE) = 0;
- /*!
- * \brief 显示镜像画面
- */
- virtual void show() = 0;
- /*!
- * \brief 隐层镜像画面
- */
- virtual void hide() = 0;
- /*!
- * \brief 释放解码器
- */
- virtual void release() = 0;
- /*!
- * \brief 设置屏幕分辨率
- * 该方法会在初始化之前被调用
- */
- inline void setScreenSize(int screenW, int screenH) {
- mScreenW = screenW;
- mScreenH = screenH;
- }
- /*!
- * \brief 设置镜像分辨率
- * 该方法会在初始化之前被调用
- */
- inline void setMirrorSize(int mirrorW, int mirrorH) {
- mMirrorW = mirrorW;
- mMirrorH = mirrorH;
- }
- protected:
- int mScreenW; /*! 屏幕宽度 */
- int mScreenH; /*! 屏幕高度 */
- int mMirrorW; /*! 镜像宽度 */
- int mMirrorH; /*! 镜像宽度 */
- };
|