39struct AVFormatContext;
46struct MediaDescription;
126 void openIOContext();
142 int getHWFrame(
const std::shared_ptr<VideoFrame>& input, std::shared_ptr<VideoFrame>&
output);
148 std::vector<AVCodecContext*> encoders_;
151 int currentStreamIdx_ = -1;
152 unsigned sent_samples = 0;
153 bool initialized_ {
false};
154 bool fileIO_ {
false};
155 const AVCodec* outputCodec_ =
nullptr;
156 std::mutex encMutex_;
157 bool linkableHW_ {
false};
159 bool fecEnabled_ {
false};
162 video::VideoScaler scaler_;
166 std::vector<uint8_t> scaledFrameBuffer_;
167 int scaledFrameBufferSize_ = 0;
171 std::unique_ptr<video::HardwareAccel>
accel_;
void emitSignal(Args... args)
libjami::VideoFrame VideoFrame
Simple macro to hide class' copy constructor and assignment operator.
#define NON_COPYABLE(ClassName)