2018-11-09 16:44:01 +01:00
|
|
|
//
|
|
|
|
// Created by Grishka on 10.08.2018.
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef LIBTGVOIP_VIDEORENDERER_H
|
|
|
|
#define LIBTGVOIP_VIDEORENDERER_H
|
|
|
|
|
|
|
|
#include <vector>
|
2020-01-22 12:43:51 +01:00
|
|
|
#include "../tools/tools/Buffers.h"
|
2018-11-09 16:44:01 +01:00
|
|
|
|
|
|
|
namespace tgvoip{
|
|
|
|
namespace video{
|
|
|
|
class VideoRenderer{
|
|
|
|
public:
|
2019-02-05 12:41:00 +01:00
|
|
|
static std::vector<uint32_t> GetAvailableDecoders();
|
2018-11-09 16:44:01 +01:00
|
|
|
virtual ~VideoRenderer(){};
|
|
|
|
virtual void Reset(uint32_t codec, unsigned int width, unsigned int height, std::vector<Buffer>& csd)=0;
|
2019-02-05 12:41:00 +01:00
|
|
|
virtual void DecodeAndDisplay(Buffer frame, uint32_t pts)=0;
|
|
|
|
virtual void SetStreamEnabled(bool enabled)=0;
|
2019-04-15 01:43:10 +02:00
|
|
|
virtual void SetRotation(uint16_t rotation)=0;
|
|
|
|
virtual void SetStreamPaused(bool paused)=0;
|
2019-02-05 12:41:00 +01:00
|
|
|
static int GetMaximumResolution();
|
2018-11-09 16:44:01 +01:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif //LIBTGVOIP_VIDEORENDERER_H
|