2018-07-21 20:22:00 -07:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "decoder.h"
|
|
|
|
|
|
|
|
#include <SLVideo.h>
|
|
|
|
|
|
|
|
class SLVideoDecoder : public IVideoDecoder
|
|
|
|
{
|
|
|
|
public:
|
2019-02-12 18:42:53 -08:00
|
|
|
SLVideoDecoder(bool testOnly);
|
2018-07-21 20:22:00 -07:00
|
|
|
virtual ~SLVideoDecoder();
|
2019-04-11 22:27:20 -07:00
|
|
|
virtual bool initialize(PDECODER_PARAMETERS params);
|
2018-07-21 20:22:00 -07:00
|
|
|
virtual bool isHardwareAccelerated();
|
2020-02-09 11:35:05 -08:00
|
|
|
virtual bool isAlwaysFullScreen();
|
2018-08-25 12:38:04 -07:00
|
|
|
virtual int getDecoderCapabilities();
|
2019-12-14 15:25:56 -08:00
|
|
|
virtual int getDecoderColorspace();
|
2020-02-23 00:43:43 -08:00
|
|
|
virtual QSize getDecoderMaxResolution();
|
2018-07-21 20:22:00 -07:00
|
|
|
virtual int submitDecodeUnit(PDECODE_UNIT du);
|
|
|
|
|
|
|
|
// Unused since rendering is done directly from the decode thread
|
2019-04-09 21:46:14 -07:00
|
|
|
virtual void renderFrameOnMainThread() {}
|
2018-07-21 20:22:00 -07:00
|
|
|
|
|
|
|
private:
|
2019-04-28 11:01:54 -07:00
|
|
|
static void slLogCallback(void* context, ESLVideoLog logLevel, const char* message);
|
|
|
|
|
2018-07-21 20:22:00 -07:00
|
|
|
CSLVideoContext* m_VideoContext;
|
|
|
|
CSLVideoStream* m_VideoStream;
|
|
|
|
};
|