2018-07-22 03:22:00 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "decoder.h"
|
|
|
|
|
|
|
|
#include <SLVideo.h>
|
|
|
|
|
|
|
|
class SLVideoDecoder : public IVideoDecoder
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SLVideoDecoder();
|
|
|
|
virtual ~SLVideoDecoder();
|
|
|
|
virtual bool initialize(StreamingPreferences::VideoDecoderSelection vds,
|
|
|
|
SDL_Window* window,
|
|
|
|
int videoFormat,
|
|
|
|
int width,
|
|
|
|
int height,
|
2018-08-21 01:19:42 +00:00
|
|
|
int frameRate,
|
|
|
|
bool enableVsync);
|
2018-07-22 03:22:00 +00:00
|
|
|
virtual bool isHardwareAccelerated();
|
2018-08-25 19:38:04 +00:00
|
|
|
virtual int getDecoderCapabilities();
|
2018-07-22 03:22:00 +00:00
|
|
|
virtual int submitDecodeUnit(PDECODE_UNIT du);
|
|
|
|
|
|
|
|
// Unused since rendering is done directly from the decode thread
|
|
|
|
virtual void renderFrame(SDL_UserEvent*) {}
|
|
|
|
virtual void dropFrame(SDL_UserEvent*) {}
|
|
|
|
|
|
|
|
private:
|
|
|
|
CSLVideoContext* m_VideoContext;
|
|
|
|
CSLVideoStream* m_VideoStream;
|
|
|
|
};
|