2.5.35 IDeckLinkEncoderInputCallback Interface

The IDeckLinkEncoderInputCallback interface is a callback class which is called to provide encoded video packets and audio data during an encoded capture operation. This method is abstract in the base interface and must be implemented by the application developer. The result parameter (required by COM) is ignored by the caller.

An object with an IDeckLinkEncoderInputCallback interface may be registered as a callback with the IDeckLinkEncoderInput interface.

Related Interfaces

Interface

Interface ID

Description

IDeckLinkDisplayMode

IID_IDeckLinkDisplayMode

An IDeckLinkDisplayMode object interface is passed to IDeckLinkEncoderInputCallback::VideoInputSignalChanged()

IDeckLinkEncoderVideoPacket

IID_IDeckLinkEncoderVideoPacket

An IDeckLinkEncoderVideoPacket object interface is passed to IDeckLinkEncoderInputCallback::VideoPacketArrived()

IDeckLinkEncoderAudioPacket

IID_IDeckLinkEncoderAudioPacket

An IDeckLinkEncoderAudioPacket object interface is passed to IDeckLinkEncoderInputCallback::AudioPacketArrived()

IDeckLinkEncoderInput

IID_IDeckLinkEncoderInput

An IDeckLinkEncoderInputCallback object interface is registered with IDeckLinkEncoderInput::SetCallback()

2.5.35.1 IDeckLinkEncoderInputCallback::VideoInputSignalChanged method

HRESULT IDeckLinkEncoderInputCallback::VideoInputSignalChanged(BMDVideoInputFormatChangedEvents notificationEvents, IDeckLinkDisplayMode *newDisplayMode, BMDDetectedVideoInputFormatFlags detectedSignalFlags);

The VideoInputSignalChanged method is called when a video signal change has been detected by the hardware. The method is abstract in the base interface and must be implemented by the application developer. The result parameter (required by COM) is ignored by the caller.

To enable this feature, the bmdVideoInputEnableFormatDetection flag must be set when calling IDeckLinkEncoderInput::EnableVideoInput().

Parameters:
  • notificationEvents – The notification events that indicate the aspects of the incoming signal that have changed.

  • newDisplayMode – The new display mode.

  • detectedSignalFlags – The detected signal flags.

2.5.35.2 IDeckLinkEncoderInputCallback::VideoPacketArrived method

HRESULT IDeckLinkEncoderInputCallback::VideoPacketArrived(IDeckLinkEncoderVideoPacket *videoPacket);

The VideoPacketArrived method is called when an encoded packet has arrived. The method is abstract in the base interface and must be implemented by the application developer. The result parameter (required by COM) is ignored by the caller.

When encoded capture is started using bmdFormatH265, this callback is used to deliver VCL and non-VCL NAL units.

Parameters:

videoPacket – The encoded packet that has arrived. The packet is only valid for the duration of the callback. To hold on to the packet beyond the callback call IDeckLinkEncoderVideoPacket::AddRef, and to release the packet when it is no longer required call IDeckLinkEncoderVideoPacket::Release.

2.5.35.3 IDeckLinkEncoderInputCallback::AudioPacketArrived method

HRESULT IDeckLinkEncoderInputCallback::AudioPacketArrived(IDeckLinkEncoderAudioPacket *audioPacket);

The AudioPacketArrived method is called when audio capture is enabled with IDeckLinkEncoderInput::EnableAudioInput(), and an audio packet has arrived. The method is abstract in the base interface and must be implemented by the application developer.

The result parameter (required by COM) is ignored by the caller.

Parameters:

audioPacket – The audio packet that has arrived. The audio packet is only valid for the duration of the callback. To hold on to the audio packet beyond the callback call IDeckLinkEncoderAudioPacket::AddRef, and to release the audio packet when it is no longer required call IDeckLinkEncoderAudioPacket::Release.