Page 1 of 1

RCA Audio Input support glitch

PostPosted: Sun Sep 17, 2017 1:09 am
by Takashi Mochizuki
Hello,

I have bought Intensity Shuttle Thunderbolt and am trying to create Objective-C++ wrapper to use this device from Swift language.
I have found an buggy behavior of Intensity Shuttle driver. Please give some advice.

Current status;
- Basic capture now works from Swift app.
- Test using Analog Composite video + RCA audio
- Basic connection test is confirmed by Legacy QuickTime 7 app.
- Blackmagic_Desktop_Video_Macintosh_10.9.5.zip is installed
- Working with macOS 10.12 Sierra + Xcode 8.3.3
- Working with Blackmagic DeckLink SDK 10.9.5

Problem:
- For Audio RCA Input support it seems some strange (to me) behavior is found
- User have to change Audio input to RCA with HDMI input combination prior to switch Composite video input (see following test case)

My Question:
- Is it possible to recover this situation programatically?

//

##### Test 1 - RCA Audio input "does not work" scenario

1. Just After hot add Intensity shuttle
2. Change 1
Launch Decktop Video Setup App and show config screen
Video Input to HDMI
Audio Input to Embedded
Save
Quit Decktop Video Setup App

3. Hot remove/add Intensity Shuttle w/ 10 sec interval

4. Change 2
Launch Decktop Video Setup App and show config screen
Video Input to Composite
Audio Input : no change - Both Analog Input/Analog Output level is available
Save
Quit Decktop Video Setup App

5. Hot remove/add Intensity Shuttle w/ 10 sec interval

6. Check
Launch Decktop Video Setup App and show config screen
Video : It shows Composite as previous
Audio Input : Missing Analog Input level
Save
Quit Decktop Video Setup App

7. Test using QuickTime Player 7
- Video capture from Composite works
- Audio capture from RCA does not work (Zero Level)

//

##### Test 2 - RCA Audio input "works" scenario

1. Just After hot add Intensity shuttle
2. Change 1
Launch Decktop Video Setup App and show config screen
Video Input to HDMI
Audio Input to RCA
Save
Quit Decktop Video Setup App

3. Hot remove/add Intensity Shuttle w/ 10 sec interval

4. Change 2
Launch Decktop Video Setup App and show config screen
Video Input to Composite
Audio Input : no change - Both Analog Input/Analog Output level is available
Save
Quit Decktop Video Setup App

5. Hot remove/add Intensity Shuttle w/ 10 sec interval

6. Check
Launch Decktop Video Setup App and show config screen
Video : It shows Composite as previous
Audio Input : Now Both Analog Input/Analog Output level is available
Save
Quit Decktop Video Setup App

7. Test using QuickTime Player 7
- Video capture from Composite works
- Audio capture from RCA works now

//

Re: RCA Audio Input support glitch

PostPosted: Tue Sep 26, 2017 12:02 am
by Cameron Nichols
Hi Takashi-san,

Thank you for your detailed description of this issue. I have been able to replicate this issue locally. It appears that when switching from HDMI to Composite, the Audio is retained as Embedded, it should be reverted to RCA.

To workaround, before changing Video Input from HDMI to Composite (or Component), ensure Audio Input is changed from Embedded to RCA Input.

I will lodge this to be resolved and update you when fixed.

Kind Regards
Cameron Nichols

Re: RCA Audio Input support glitch

PostPosted: Sun Dec 31, 2017 5:12 pm
by Federico Muñoz
HI, I'm interested in using BM SDK API with Swift in XCode, but I dont know how include and configure my project to do work this API's in Swift Language.

Could you help me using Obj-C wrapping or else???

Thanks in advance

Re: RCA Audio Input support glitch

PostPosted: Wed Jan 03, 2018 12:15 am
by Cameron Nichols
Hi Federico,

Unfortunately we do not have SDK samples written in Swift, although we may look into this for a future SDK release. Currently our Cocoa-based samples are implemented in Obj-C++ (.mm) so we can mix C++/Obj-C in same file.

As you cannot directly mix Swift/C++, the solution will require 3-stage implementation:
1) C++ delegates for the interface to DeckLinkAPI. I suggest looking at the delegate implementations in the CapturePreview and SignalGenerator samples.

2) Obj-C wrapper to provide NSObject interface to the delegates. I have included a reference to good description on how to mix C++/Obj-C [1]:

3) Swift application, implementing the Obj-C wrappers via bridging header [2]

Regards
Cameron

Refs:
[1] http://philjordan.eu/article/mixing-obj ... ective-c++
[2] https://developer.apple.com/library/con ... CH10-ID122

Re: RCA Audio Input support glitch

PostPosted: Wed Jan 03, 2018 12:01 pm
by Takashi Mochizuki
Hi
I hope this would help you. MyCurrent project as swift wrapper api.
>https://github.com/MyCometG3/DLABridging

MyCometG3/Takashi Mochizuki