13 #include <CoreGraphics/CoreGraphics.h> 14 #include <VideoToolbox/VideoToolbox.h> 20 class AppleVideoEncoder;
23 class AppleVideoEncoderInternalData;
34 virtual std::string
GetName()
const override;
56 static void MagicCookieEncodedCallback(
void* outputCallbackRefCon,
void* sourceFrameRefCon, OSStatus status, VTEncodeInfoFlags infoFlags, CMSampleBufferRef sampleBuffer);
57 static void FrameEncodedCallback(
void* outputCallbackRefCon,
void* sourceFrameRefCon, OSStatus status, VTEncodeInfoFlags infoFlags, CMSampleBufferRef sampleBuffer);
bool SupportsReceiverProtocol() const
Definition: ivideoencoder.h:100
virtual TTV_ErrorCode Start(uint32_t streamIndex, const VideoParams &vidParams) override
virtual TTV_ErrorCode SubmitFrame(const std::shared_ptr< VideoFrame > &videoFrame) override
Definition: applevideoencoder.h:27
virtual ~AppleVideoEncoder()
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
virtual TTV_ErrorCode SetTargetBitRate(uint32_t kbps) override
std::shared_ptr< AppleVideoEncoderInternalData > mInternalData
Definition: applevideoencoder.h:60
virtual TTV_ErrorCode ValidateVideoParams(const VideoParams &videoParams) const override
virtual bool SupportsBitRateAdjustment() const override
Definition: broadcasttypes.h:80
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
OSStatus SetupVTCompressionSession(VTCompressionOutputCallback encodedFrameCallback)
static void FrameEncodedCallback(void *outputCallbackRefCon, void *sourceFrameRefCon, OSStatus status, VTEncodeInfoFlags infoFlags, CMSampleBufferRef sampleBuffer)
Definition: ivideoencoder.h:40
virtual TTV_ErrorCode SetFrameWriter(const std::shared_ptr< IFrameWriter > &frameWriter) override
virtual std::shared_ptr< IVideoFrameReceiver > GetReceiverImplementation(IVideoFrameReceiver::ReceiverTypeId typeId) override
virtual std::string GetName() const override
virtual TTV_ErrorCode Shutdown() override
virtual TTV_ErrorCode Initialize() override
void WriteEncodedFrame(std::unique_ptr< Packet > &&packet)
static void MagicCookieEncodedCallback(void *outputCallbackRefCon, void *sourceFrameRefCon, OSStatus status, VTEncodeInfoFlags infoFlags, CMSampleBufferRef sampleBuffer)
virtual TTV_ErrorCode ValidateFrame(const std::shared_ptr< VideoFrame > &videoframe) override
virtual TTV_ErrorCode Stop() override
OSStatus SetupMagicCookie()
size_t ReceiverTypeId
Definition: ivideoframereceiver.h:28
virtual TTV_ErrorCode GetSpsPps(std::vector< uint8_t > &sps, std::vector< uint8_t > &pps) override