Skip to content

Commit 83a5a8e

Browse files
committed
delta_board_type_is_dv: distinguish mixed IF
For the deltacast (SDI) probe also mixed interfaces were skipped which shouldn't be.
1 parent a4a7211 commit 83a5a8e

File tree

5 files changed

+9
-9
lines changed

5 files changed

+9
-9
lines changed

src/deltacast_common.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,18 +1039,18 @@ delta_print_slot_stats(HANDLE StreamHandle, ULONG *SlotsDroppedLast,
10391039
}
10401040

10411041
bool
1042-
delta_board_type_is_dv(ULONG BoardIndex)
1042+
delta_board_type_is_dv(ULONG BoardIndex, [[maybe_unused]] bool include_mixed)
10431043
{
10441044
const ULONG BoardType = get_board_type(BoardIndex);
10451045
return BoardType == VHD_BOARDTYPE_DVI ||
10461046
BoardType == VHD_BOARDTYPE_HDMI ||
10471047
#if defined VHD_MIN_6_00
10481048
BoardType == VHD_BOARDTYPE_HDMI20 ||
1049-
BoardType == VHD_BOARDTYPE_FLEX_DP ||
1050-
BoardType == VHD_BOARDTYPE_FLEX_HMI ||
1049+
(include_mixed && BoardType == VHD_BOARDTYPE_FLEX_DP) ||
1050+
(include_mixed && BoardType == VHD_BOARDTYPE_FLEX_HMI) ||
10511051
#endif
10521052
#if defined VHD_MIN_6_21
1053-
BoardType == VHD_BOARDTYPE_MIXEDINTERFACE ||
1053+
(include_mixed && BoardType == VHD_BOARDTYPE_MIXEDINTERFACE) ||
10541054
#endif
10551055
false;
10561056
}

src/deltacast_common.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ const char *delta_get_board_type_name(ULONG BoardType);
205205
bool delta_chn_type_is_sdi(ULONG ChnType);
206206
void delta_print_slot_stats(HANDLE StreamHandle, ULONG *SlotsDroppedLast,
207207
const char *action);
208-
bool delta_board_type_is_dv(ULONG BoardIndex);
208+
bool delta_board_type_is_dv(ULONG BoardIndex, bool include_mixed);
209209
const char *delta_get_model_name(ULONG BoardIndex);
210210

211211
#ifdef HAVE_VHD_STRING

src/video_capture/deltacast.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ static void vidcap_deltacast_probe(device_info **available_cards, int *count, vo
150150
*available_cards =
151151
(struct device_info *) calloc(NbBoards, sizeof(struct device_info));
152152
for (ULONG i = 0; i < NbBoards; ++i) {
153-
if (delta_board_type_is_dv(i)) { // skip DVI/HDMI boards
153+
if (delta_board_type_is_dv(i, false)) { // skip DVI/HDMI-only boards
154154
continue;
155155
}
156156
auto &card = (*available_cards)[*count];
@@ -516,7 +516,7 @@ vidcap_deltacast_init(struct vidcap_params *params, void **state)
516516
VHD_GetBoardProperty(s->BoardHandle, Property, &ChnType);
517517
if (!delta_chn_type_is_sdi(ChnType)) {
518518
MSG(ERROR, "ERROR : The selected channel is not a SDI one\n");
519-
if (delta_board_type_is_dv(BrdId)) {
519+
if (delta_board_type_is_dv(BrdId, false)) {
520520
MSG(NOTICE, "Use 'deltacast-dv' capture device\n");
521521
}
522522
HANDLE_ERROR

src/video_capture/deltacast_dvi.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ static void vidcap_deltacast_dvi_probe(device_info **available_cards, int *count
243243

244244
*available_cards = (struct device_info *) calloc(NbBoards, sizeof(struct device_info));
245245
for (ULONG i = 0; i < NbBoards; ++i) {
246-
if (!delta_board_type_is_dv(i)) { // skip SDI baords
246+
if (!delta_board_type_is_dv(i, true)) { // skip SDI baords
247247
continue;
248248
}
249249
auto &card = (*available_cards)[*count];

src/video_display/deltacast.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ static void display_deltacast_probe(struct device_info **available_cards, int *c
312312
/* Query DELTA boards information */
313313
for (ULONG i = 0; i < NbBoards; i++)
314314
{
315-
if (delta_board_type_is_dv(i)) { // skip DVI/HDMI boards
315+
if (delta_board_type_is_dv(i, false)) { // skip DVI/HDMI-only boards
316316
continue;
317317
}
318318
*count += 1;

0 commit comments

Comments
 (0)