Page 1 of 1

no audio while using "DeckLink Quad HDMI Recorder" capturing

PostPosted: Fri Jan 03, 2020 10:04 am
by ninesunqian
Hi,
I use "DeckLink Quad HDMI Recorder" capturing hdmi signals.
If I capture one port signal, everything is OK.
If I capture two ports, the audio of one hdmi signal is mute after about an hours.
If I capture three ports, the program will hang on BMDConfig::GetSelectedDeckLink or IDeckLink::Release.

I use Linux/Samples/Capture in sdk 11.4 to detect the signal format, and use ffmpeg 4.2.1 to capture.
The code of modified Capture and ffmpeg starting script is in the attachment (Capture.tar.gz).

the os and kernel is "centos 7.4" and "3.10.0-1062.9.1.el7.x86_64"

I don't know what the problem is, and how to resolve it, and need help.

Sincerely looking forward to your reply, Thank you!

Re: no audio while using "DeckLink Quad HDMI Recorder" captu

PostPosted: Tue Jan 07, 2020 2:59 am
by ninesunqian
I fixed an audio bug of ffmpeg, but the problem still exists. the patch is
diff --git a/libavdevice/decklink_dec.cpp b/libavdevice/decklink_dec.cpp
index 4da9122..3db7bec 100644
--- a/libavdevice/decklink_dec.cpp
+++ b/libavdevice/decklink_dec.cpp
@@ -902,6 +902,10 @@ HRESULT decklink_input_callback::VideoInputFrameArrived(
pkt.stream_index = ctx->audio_st->index;
pkt.data = (uint8_t *)audioFrameBytes;

+ pkt.buf = av_buffer_create(pkt.data, pkt.size, decklink_object_free, audioFrame, 0);
+ if (pkt.buf)
+ audioFrame->AddRef();
+
if (avpacket_queue_put(&ctx->queue, &pkt) < 0) {
++ctx->dropped;
}