MyCometG3 / DLABridging

Simple Objective-C++ wrapper for Blackmagic DeckLink API (C++ APIs).
MIT License
15 stars 7 forks source link

Passthrough mode #10

Closed kisso closed 2 years ago

kisso commented 2 years ago

Hi, is there any way to capture video and audio from one port, and play it to another port?

MyCometG3 commented 2 years ago

It depends on devices.

If your device have passthrough playback feature, Desktop Video Setup application shows

Video Output > General > During capture

For my Intensity shuttle thunderbolt, it is not available.

If it is available, you can manage mode using BMDDeckLinkCapturePassthroughMode / DLABDeckLinkCapturePassthroughMode.

kisso commented 2 years ago

I can manage DLABDeckLinkCapturePassthroughMode via which method?

MyCometG3 commented 2 years ago

You can review SDK docs and header files in following way.

1) DLABDeckLinkCapturePassthroughMode is an alias of BMDDeckLinkCapturePassthroughMode (DLABConstants.h) 2) BMDDeckLinkCapturePassthroughMode is one of BMDDeckLinkConfigurationID (SDK PDF 3.18) 3) type of BMDDeckLinkCapturePassthroughMode is Int(64) (SDK PDF 3.18) 4) an alias of BMDDeckLinkConfigurationID is DLABConfiguration (DLABConstants.h) 5) DLABConfiguration can be used in DLABridging APIs (DLABridging.h) 6) now you can use DLABDevice methods as getter/setter: (DLABridging.h)

To confirm how C++ API called via Objective-C++ method: 1) BMDDeckLinkConfigurationID can be used by IDeckLinkConfiguration Interface. (SDK PDF 3.18) 2) For Int(64) value, IDeckLinkConfiguration::SetInt and ::GetInt is available (SDK PDF 2.5.15) 3) You can find getter call in line 1065 (DLABDevice.mm) 4) You can find setter call in linie 1141 (DLABDevice.mm)

kisso commented 2 years ago

Thank you for explanation, now I understand how it works, thank you so much :).

kisso commented 2 years ago

do you think that can I map input to any outputs? or just, when I have input on SDI1, output can be only on SDI2

MyCometG3 commented 2 years ago

I am not sure, but you could refer Section "Device Profiles" (SDK 2.4.11) for further information.