#ifndef _PL_AndroidSurfaceViewRender_H_ #define _PL_AndroidSurfaceViewRender_H_ #include "PipeLine.h" struct PL_AndroidSurfaceViewRender_Config { void* windowSurface; bool outputOriginFrame; bool outputRenderFrame; int scaleToWidth; // <=0 to fit size by windowSurfaceDecode int scaleToHeight; bool directlyDisplay; PL_AndroidSurfaceViewRender_Config() : windowSurface(nullptr), outputOriginFrame(false), outputRenderFrame(true), scaleToWidth(0), scaleToHeight(0), directlyDisplay(false) {} }; class PL_AndroidSurfaceViewRender : public PipeLineElem { public: PL_AndroidSurfaceViewRender(); virtual ~PL_AndroidSurfaceViewRender(); virtual bool init(void* args); virtual void finit(); virtual bool pay(const PipeMaterial& pm); virtual bool gain(PipeMaterial& pm); private: static bool pay_breaker_MBFT_YUV(const PipeMaterial* pm, void* args); private: void* internal; }; PipeLineElem* create_PL_AndroidSurfaceViewRender(); #endif