#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;
|
|
PL_AndroidSurfaceViewRender_Config() :
|
windowSurface(nullptr),
|
outputOriginFrame(false),
|
outputRenderFrame(true),
|
scaleToWidth(0),
|
scaleToHeight(0)
|
{}
|
};
|
|
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
|