2.5.37 IDeckLinkEncoderVideoPacket Interface

The IDeckLinkEncoderVideoPacket interface represents an encoded video packet which has been captured by an IDeckLinkEncoderInput interface. IDeckLinkEncoderVideoPacket is a subclass of IDeckLinkEncoderPacket and inherits all its methods.

The data in the encoded packet is encoded according to the pixel format returned by GetPixelFormat - see BMDPixelFormat for details.

Objects with an IDeckLinkEncoderPacket interface are passed to the IDeckLinkEncoderInputCallback::VideoPacketArrived() callback.

Related Interfaces

Interface

Interface ID

Description

IDeckLinkEncoderInputCallback

IID_IDeckLinkEncoderInputCallback

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

IDeckLinkEncoderPacket

IID_IDeckLinkEncoderPacket

IDeckLinkEncoderVideoPacket subclasses IDeckLinkEncoderPacket

IDeckLinkTimecode

IID_IDeckLinkTimecode

IDeckLinkEncoderVideoPacket::GetTimecode() outputs an IDeckLinkTimecode object interface

IDeckLinkH265NALPacket

IID_IDeckLinkH265NALPacket

An IDeckLinkH265NALPacket object interface may be obtained from IDeckLinkEncoderVideoPacket using QueryInterface

IDeckLinkH265NALPacket

IID_IDeckLinkH265NALPacket

IDeckLinkH265NALPacket subclasses IDeckLinkEncoderVideoPacket

2.5.37.1 IDeckLinkEncoderVideoPacket::GetPixelFormat method

BMDPixelFormat IDeckLinkEncoderVideoPacket::GetPixelFormat();

The GetPixelFormat method returns the pixel format of the encoded packet.

Returns:

Pixel format of encoded packet (BMDPixelFormat)

2.5.37.2 IDeckLinkEncoderVideoPacket::GetHardwareReferenceTimestamp method

HRESULT IDeckLinkEncoderVideoPacket::GetHardwareReferenceTimestamp(BMDTimeScale timeScale, BMDTimeValue *frameTime, BMDTimeValue *frameDuration);

The GetHardwareReferenceTimestamp method returns timestamp at the point of video packet arrival and frame duration for a given timescale. The absolute values returned by this method are meaningless, however the relative differences between subsequent calls can be used to determine elapsed time between video packets.

Parameters:
  • timeScale – The time scale (see BMDTimeScale for details).

  • frameTime – The frame time (see BMDTimeValue for details).

  • frameDuration – The frame duration (see BMDTimeValue for details).

Return values:
  • E_INVALIDARG – Timescale is not set

  • S_OK – Success

2.5.37.3 IDeckLinkEncoderVideoPacket::GetTimecode method

HRESULT IDeckLinkEncoderVideoPacket::GetTimecode(BMDTimecodeFormat format, IDeckLinkTimecode **timecode);

The GetTimecode method returns the value specified in the ancillary data for the specified timecode type. If the specified timecode type is not found or is invalid, GetTimecode returns S_FALSE.

Parameters:
Return values:
  • E_ACCESSDENIED – An invalid or unsupported timecode format was requested.

  • E_FAIL – Failure

  • S_FALSE – The requested timecode format was not present or valid in the ancillary data.

  • S_OK – Success