18#ifndef _VIDEO_RECEIVE_THREAD_H_
19#define _VIDEO_RECEIVE_THREAD_H_
60 std::shared_ptr<SinkClient>&
getSink() {
return sink_; }
87 std::unique_ptr<MediaDecoder> videoDecoder_;
90 const std::string id_;
92 std::istringstream stream_;
93 MediaIOHandle sdpContext_;
94 std::unique_ptr<MediaIOHandle> demuxContext_;
95 std::shared_ptr<SinkClient> sink_;
96 bool isVideoConfigured_ {
false};
100 std::mutex rotationMtx_;
103 static int interruptCb(
void* ctx);
105 bool configureVideoOutput();
114 std::function<
void(
void)> keyFrameRequestCallback_;
116 std::function<
void(
const MediaStream& ms)> recorderCallback_;
MediaStream getInfo() const
void setSuccessfulSetupCb(const std::function< void(MediaType, bool)> &cb)
AVPixelFormat getPixelFormat() const
std::shared_ptr< SinkClient > & getSink()
void setRotation(int angle)
Set angle of rotation to apply to the video by the decoder.
void setRecorderCallback(const std::function< void(const MediaStream &ms)> &cb)
void addIOContext(SocketPair &socketPair)
void setRequestKeyFrameCallback(std::function< void(void)> cb)
std::unique_ptr< AVBufferRef, AVBufferRef_deleter > AVBufferPtr
void emitSignal(Args... args)
Simple macro to hide class' copy constructor and assignment operator.
#define NON_COPYABLE(ClassName)
DeviceParams Parameters used by MediaDecoder and MediaEncoder to open a LibAV device/stream.