#include <applevideoencoder.h>
|
| static void | MagicCookieEncodedCallback (void *outputCallbackRefCon, void *sourceFrameRefCon, OSStatus status, VTEncodeInfoFlags infoFlags, CMSampleBufferRef sampleBuffer) |
| |
| static void | FrameEncodedCallback (void *outputCallbackRefCon, void *sourceFrameRefCon, OSStatus status, VTEncodeInfoFlags infoFlags, CMSampleBufferRef sampleBuffer) |
| |
◆ AppleVideoEncoder()
| ttv::broadcast::AppleVideoEncoder::AppleVideoEncoder |
( |
| ) |
|
◆ ~AppleVideoEncoder()
| virtual ttv::broadcast::AppleVideoEncoder::~AppleVideoEncoder |
( |
| ) |
|
|
virtual |
◆ FrameEncodedCallback()
| static void ttv::broadcast::AppleVideoEncoder::FrameEncodedCallback |
( |
void * |
outputCallbackRefCon, |
|
|
void * |
sourceFrameRefCon, |
|
|
OSStatus |
status, |
|
|
VTEncodeInfoFlags |
infoFlags, |
|
|
CMSampleBufferRef |
sampleBuffer |
|
) |
| |
|
staticprivate |
◆ GetName()
| virtual std::string ttv::broadcast::AppleVideoEncoder::GetName |
( |
| ) |
const |
|
overridevirtual |
◆ GetReceiverImplementation()
◆ GetSpsPps()
| virtual TTV_ErrorCode ttv::broadcast::AppleVideoEncoder::GetSpsPps |
( |
std::vector< uint8_t > & |
sps, |
|
|
std::vector< uint8_t > & |
pps |
|
) |
| |
|
overridevirtual |
◆ Initialize()
| virtual TTV_ErrorCode ttv::broadcast::AppleVideoEncoder::Initialize |
( |
| ) |
|
|
overridevirtual |
◆ InternalStop()
| void ttv::broadcast::AppleVideoEncoder::InternalStop |
( |
| ) |
|
|
private |
◆ MagicCookieEncodedCallback()
| static void ttv::broadcast::AppleVideoEncoder::MagicCookieEncodedCallback |
( |
void * |
outputCallbackRefCon, |
|
|
void * |
sourceFrameRefCon, |
|
|
OSStatus |
status, |
|
|
VTEncodeInfoFlags |
infoFlags, |
|
|
CMSampleBufferRef |
sampleBuffer |
|
) |
| |
|
staticprivate |
◆ SetFrameWriter()
| virtual TTV_ErrorCode ttv::broadcast::AppleVideoEncoder::SetFrameWriter |
( |
const std::shared_ptr< IFrameWriter > & |
frameWriter | ) |
|
|
overridevirtual |
◆ SetTargetBitRate()
| virtual TTV_ErrorCode ttv::broadcast::AppleVideoEncoder::SetTargetBitRate |
( |
uint32_t |
kbps | ) |
|
|
overridevirtual |
Sets the desired bitrate in 1000s of bits per second. This will only have an effect if SupportsBitrateAdjustment() returns true. TTV_EC_UNSUPPORTED will be returned if not supported.
Implements ttv::broadcast::IVideoEncoder.
◆ SetupMagicCookie()
| OSStatus ttv::broadcast::AppleVideoEncoder::SetupMagicCookie |
( |
| ) |
|
|
private |
◆ SetupVTCompressionSession()
| OSStatus ttv::broadcast::AppleVideoEncoder::SetupVTCompressionSession |
( |
VTCompressionOutputCallback |
encodedFrameCallback | ) |
|
|
private |
◆ Shutdown()
| virtual TTV_ErrorCode ttv::broadcast::AppleVideoEncoder::Shutdown |
( |
| ) |
|
|
overridevirtual |
◆ Start()
◆ Stop()
| virtual TTV_ErrorCode ttv::broadcast::AppleVideoEncoder::Stop |
( |
| ) |
|
|
overridevirtual |
◆ SubmitFrame()
| virtual TTV_ErrorCode ttv::broadcast::AppleVideoEncoder::SubmitFrame |
( |
const std::shared_ptr< VideoFrame > & |
videoFrame | ) |
|
|
overridevirtual |
This will be called periodically to kick off an encode of a frame. This should not block to encode the frame synchronously.
Implements ttv::broadcast::IVideoEncoder.
◆ SupportsBitRateAdjustment()
| virtual bool ttv::broadcast::AppleVideoEncoder::SupportsBitRateAdjustment |
( |
| ) |
const |
|
overridevirtual |
◆ SupportsReceiverProtocol() [1/2]
◆ SupportsReceiverProtocol() [2/2]
template<typename T >
| bool ttv::broadcast::IVideoEncoder::SupportsReceiverProtocol |
( |
| ) |
const |
|
inlineinherited |
Determines if the concrete implementation supports the given protocol. The template parameter must be known to derive from IVideoFrameReceiver.
◆ ValidateFrame()
| virtual TTV_ErrorCode ttv::broadcast::AppleVideoEncoder::ValidateFrame |
( |
const std::shared_ptr< VideoFrame > & |
videoframe | ) |
|
|
overridevirtual |
◆ ValidateVideoParams()
◆ WriteEncodedFrame()
| void ttv::broadcast::AppleVideoEncoder::WriteEncodedFrame |
( |
std::unique_ptr< Packet > && |
packet | ) |
|
◆ mInternalData
| std::shared_ptr<AppleVideoEncoderInternalData> ttv::broadcast::AppleVideoEncoder::mInternalData |
|
private |
The documentation for this class was generated from the following file: