diff --git a/Daemons/vmpserverd/config.plist.in b/Daemons/vmpserverd/config.plist.in
index 8753392..c1930a1 100644
--- a/Daemons/vmpserverd/config.plist.in
+++ b/Daemons/vmpserverd/config.plist.in
@@ -171,6 +171,7 @@
- The type specifies the type of the channel.
- The properties are specific to the channel type:
- "v4l2": device (required)
+ - "decklink": deviceNumber (required), connection (required)
- "pulse": device (required)
- "videoTest": width (required), height (required)
- "audioTest": channels (required)
diff --git a/Daemons/vmpserverd/profiles/com.hugomelder.software.plist b/Daemons/vmpserverd/profiles/com.hugomelder.software.plist
index 1af9038..6d9f483 100644
--- a/Daemons/vmpserverd/profiles/com.hugomelder.software.plist
+++ b/Daemons/vmpserverd/profiles/com.hugomelder.software.plist
@@ -66,7 +66,7 @@
v4l2
v4l2src device={V4L2DEV} ! videoconvertscale add-borders=1 ! video/x-raw, width=1920, height=1080 ! queue ! intervideosink channel={VIDEOCHANNEL.0}
decklink
- decklinksrc device-number={DEV} ! videoconvert ! videoscale ! videorate ! video/x-raw, width=1920, height=1080 ! intervideosink channel={VIDEOCHANNEL.0}
+ decklinkvideosrc device-number={DEV} connection={CON} ! videoconvert ! videoscale ! videorate ! video/x-raw, width=1920, height=1080 ! intervideosink channel={VIDEOCHANNEL.0}
videoTest
videotestsrc is-live=1 ! video/x-raw,width={WIDTH},height={HEIGHT},format=NV12 !
intervideosink channel={VIDEOCHANNEL.0}
diff --git a/Daemons/vmpserverd/profiles/com.hugomelder.vaapi.plist b/Daemons/vmpserverd/profiles/com.hugomelder.vaapi.plist
index 527daef..72f8a0a 100644
--- a/Daemons/vmpserverd/profiles/com.hugomelder.vaapi.plist
+++ b/Daemons/vmpserverd/profiles/com.hugomelder.vaapi.plist
@@ -98,7 +98,7 @@
-->
v4l2src device={V4L2DEV} ! videoconvertscale add-borders=1 ! video/x-raw, width=1920, height=1080 ! intervideosink channel={VIDEOCHANNEL.0}
decklink
- decklinksrc device-number={DEV} ! videoconvert ! videoscale ! videorate ! video/x-raw, width=1920, height=1080 ! intervideosink channel={VIDEOCHANNEL.0}
+ decklinkvideosrc device-number={DEV} connection={CON} ! videoconvert ! videoscale ! videorate ! video/x-raw, width=1920, height=1080 ! intervideosink channel={VIDEOCHANNEL.0}
videoTest
videotestsrc is-live=1 ! video/x-raw,width={WIDTH},height={HEIGHT},format=NV12 ! intervideosink channel={VIDEOCHANNEL.0}
diff --git a/Daemons/vmpserverd/src/VMPRTSPServer.m b/Daemons/vmpserverd/src/VMPRTSPServer.m
index 7918548..49ec96c 100644
--- a/Daemons/vmpserverd/src/VMPRTSPServer.m
+++ b/Daemons/vmpserverd/src/VMPRTSPServer.m
@@ -367,12 +367,14 @@ - (BOOL)_startChannelPipelinesWithError:(NSError **)error {
CONFIG_ERROR(error, @"decklink channel is missing 'deviceNumber' property")
return NO;
}
+ NSString *connection = properties[@"connection"];
+ if (!connection) {
+ CONFIG_ERROR(error, @"decklink channel is missing 'connection' property");
+ return NO;
+ }
// Substitution dictionary for pipeline template
- vars = @{
- @"VIDEOCHANNEL.0" : name,
- @"DEV" : [device stringValue],
- };
+ vars = @{@"VIDEOCHANNEL.0" : name, @"DEV" : [device stringValue], @"CON" : connection};
}
// Skip pipeline creation if type is unknown