2.6.6 IBMDStreamingDeviceInput Interface

The IBMDStreamingDeviceInput interface represents a physical streaming video encoder device.

Related Interfaces

Interface

Interface ID

Description

IDeckLink

IID_IDeckLink

An IBMDStreamingDeviceInput object interface may be obtained from IDeckLink using QueryInterface

IDeckLinkDisplayModeIterator

IID_IDeckLinkDisplayModeIterator

IBMDStreamingDeviceInput::GetVideoInputModeIterator() outputs an IDeckLinkDisplayModeIterator object interface

IBMDStreamingVideoEncodingMode

IID_IBMDStreamingVideoEncodingMode

IBMDStreamingDeviceInput::GetVideoEncodingMode() outputs an IBMDStreamingVideoEncodingMode object interface

IBMDStreamingVideoEncodingMode

IID_IBMDStreamingVideoEncodingMode

IBMDStreamingDeviceInput::DoesSupportVideoEncodingMode() outputs an IBMDStreamingVideoEncodingMode object interface

IBMDStreamingVideoEncodingModePresetIterator

IID_IBMDStreamingVideoEncodingModePresetIterator

IBMDStreamingDeviceInput::GetVideoEncodingModePresetIterator() outputs an IBMDStreamingVideoEncodingModePresetIterator object interface

2.6.6.1 IBMDStreamingDeviceInput::DoesSupportVideoInputMode method

HRESULT IBMDStreamingDeviceInput::DoesSupportVideoInputMode(BMDDisplayMode inputMode, Boolean *result);

The DoesSupportVideoInputMode method indicates whether a given video input mode is supported on the device.

Parameters:
  • inputModeBMDDisplayMode to test for input support.

  • result – Boolean value indicating whether the mode is supported.

Return values:
  • E_POINTER – The result parameter is invalid.

  • E_INVALIDARG – The inputMode parameter is invalid

  • S_OK – Success

2.6.6.2 IBMDStreamingDeviceInput::GetVideoInputModeIterator method

HRESULT IBMDStreamingDeviceInput::GetVideoInputModeIterator(IDeckLinkDisplayModeIterator **iterator);

The GetVideoInputModeIterator method returns an iterator which enumerates the available video input modes.

Parameters:

iterator – Display mode iterator

Return values:
  • E_POINTER – The iterator parameter is invalid.

  • E_FAIL – Failure

  • S_OK – Success

2.6.6.3 IBMDStreamingDeviceInput::SetVideoInputMode method

HRESULT IBMDStreamingDeviceInput::SetVideoInputMode(BMDDisplayMode inputMode);

The SetVideoInputMode method configures the device to use the specified video display mode for input.

Parameters:

inputMode – Display mode to set as the input display mode

Return values:
  • E_INVALIDARG – The inputMode parameter is invalid

  • E_FAIL – Failure

  • S_OK – Success

2.6.6.4 IBMDStreamingDeviceInput::GetCurrentDetectedVideoInputMode method

HRESULT IBMDStreamingDeviceInput::GetCurrentDetectedVideoInputMode(BMDDisplayMode *detectedMode);

The GetCurrentDetectedVideoInputMode method returns the current video input display mode as detected by the device.

Parameters:

detectedMode – Display mode the device detected for video input

Return values:
  • E_INVALIDARG – The detectedMode parameter is invalid

  • E_FAIL – Failure

  • S_OK – Success

2.6.6.5 IBMDStreamingDeviceInput::GetVideoEncodingMode method

HRESULT IBMDStreamingDeviceInput::GetVideoEncodingMode(IBMDStreamingVideoEncodingMode **encodingMode);

The GetVideoEncodingMode method returns the currently configured video encoding mode.

Parameters:

encodingMode – Current video encoding mode

Return values:
  • E_INVALIDARG – The encodingMode parameter is invalid

  • E_FAIL – Failure

  • S_OK – Success

2.6.6.6 IBMDStreamingDeviceInput::GetVideoEncodingModePresetIterator method

HRESULT IBMDStreamingDeviceInput::GetVideoEncodingModePresetIterator(BMDDisplayMode inputMode, IBMDStreamingVideoEncodingModePresetIterator **iterator);

The GetVideoEncodingModePresetIterator method returns an iterator which enumerates the available video encoding mode presets.

Different video display modes may have different encoding mode presets.

Parameters:
  • inputMode – The DisplayMode to iterate encoding mode presets for

  • iterator – Video encoding mode preset iterator

Return values:
  • E_INVALIDARG – The iterator parameter is invalid

  • E_FAIL – Failure

  • S_OK – Success

2.6.6.7 IBMDStreamingDeviceInput::DoesSupportVideoEncodingMode method

HRESULT IBMDStreamingDeviceInput::DoesSupportVideoEncodingMode(BMDDisplayMode inputMode, IBMDStreamingVideoEncodingMode *encodingMode, BMDStreamingEncodingSupport *result, IBMDStreamingVideoEncodingMode **changedEncodingMode);

The DoesSupportVideoEncodingMode method indicates whether a given video encoding mode is support by the device for the given input display mode.

Modes may be supported, not supported or supported with changes. If a mode is supported with changes, the changed mode will be returned by the changedEncodingMode parameter.

Parameters:
  • inputMode – Display mode to be used with the video encoding mode

  • encodingMode – Video encoding mode to be tested for support

  • result – Indicates whether the mode is supported, not supported or supported with changes

  • changedEncodingMode – Changed encoding mode when the mode is supported with changes

Return values:
  • E_POINTER – One or more out parameters are invalid

  • E_INVALIDARG – The encodingMode parameter is invalid

  • E_FAIL – Failure

  • S_OK – Success

2.6.6.8 IBMDStreamingDeviceInput::SetVideoEncodingMode method

HRESULT IBMDStreamingDeviceInput::SetVideoEncodingMode(IBMDStreamingVideoEncodingMode *encodingMode);

The SetVideoEncodingMode method sets the given video encoding mode as the device’s current video encoding mode. It is necessary to set a video encoding mode before calling the StartCapture method.

Parameters:

encodingMode – Video encoding mode to be used by the device.

Return values:
  • E_INVALIDARG – The encodingMode parameter is invalid

  • E_FAIL – Failure

  • S_OK – Success

2.6.6.9 IBMDStreamingDeviceInput::StartCapture method

HRESULT IBMDStreamingDeviceInput::StartCapture();

The StartCapture method starts a capture on the device using the current video encoding mode.

If a callback implementing the IBMDStreamingH264InputCallback interface has been set by the SetCallback method, calls will be made as new compressed video and audio packets are made available by the device.

Return values:
  • E_FAIL – Failure

  • S_OK – Success

2.6.6.10 IBMDStreamingDeviceInput::StopCapture method

HRESULT IBMDStreamingDeviceInput::StopCapture();

The StopCapture method stops a capture if a capture is currently in progress.

Return values:
  • E_FAIL – Failure

  • S_OK – Success

2.6.6.11 IBMDStreamingDeviceInput::SetCallback method

HRESULT IBMDStreamingDeviceInput::SetCallback(IUnknown *theCallback);

The SetCallback method configures a callback which will be called for new input from the device or when the device input changes.

An object shall be passed implementing the IBMDStreamingH264InputCallback interface as the callback to receive callbacks An existing callback can be removed by passing NULL in the callback parameter.

Parameters:

theCallback – Callback object implementing the IUnknown interface

Return values:
  • E_FAIL – Failure

  • S_OK – Success