#include "PL_StaticJpegSource.h" extern "C" { #include } struct PL_StaticJpegSource_Internal { uint8_t buffer[1920*1080*4]; size_t buffSize; size_t buffSizeMax; bool payError; PL_StaticJpegSource_Internal() : buffSize(0), buffSizeMax(sizeof(buffer)), payError(true) { } ~PL_StaticJpegSource_Internal() { } void reset() { buffSize = 0; payError = true; } }; PipeLineElem* create_PL_StaticJpegSource() { return new PL_StaticJpegSource; } PL_StaticJpegSource::PL_StaticJpegSource() : internal(new PL_StaticJpegSource_Internal) { } PL_StaticJpegSource::~PL_StaticJpegSource() { delete (PL_StaticJpegSource_Internal*)internal; internal= nullptr; } bool PL_StaticJpegSource::init(void* args) { PL_StaticJpegSource_Internal* in = (PL_StaticJpegSource_Internal*)internal; in->reset(); return true; } void PL_StaticJpegSource::finit() { PL_StaticJpegSource_Internal* in = (PL_StaticJpegSource_Internal*)internal; } bool PL_StaticJpegSource::pay(const PipeMaterial& pm) { PL_StaticJpegSource_Internal* in = (PL_StaticJpegSource_Internal*)internal; //in->buffer readly //static size_t f=0; //char fname[50]; //sprintf(fname, "%u.bgra", ++f); //FILE * pFile = fopen (fname,"wb"); //fwrite (in->buffer , sizeof(char), in->buffSize, pFile); //fclose(pFile); return true; } bool PL_StaticJpegSource::gain(PipeMaterial& pm) { PL_StaticJpegSource_Internal* in = (PL_StaticJpegSource_Internal*)internal; pm.buffer = in->buffer; pm.buffSize = in->buffSize; pm.former = this; return true; }