diff --git a/src/stores/video.ts b/src/stores/video.ts
index 599ba61db..e835af9cc 100644
--- a/src/stores/video.ts
+++ b/src/stores/video.ts
@@ -30,6 +30,7 @@ export const useVideoStore = defineStore('video', () => {
console.debug('[WebRTC] Using webrtc-adapter for', adapter.browserDetails)
const allowedIceIps = useStorage('cockpit-allowed-stream-ips', [])
+ const allowedIceProtocols = useStorage('cockpit-allowed-stream-protocols', [])
const activeStreams = ref<{ [key in string]: StreamData | undefined }>({})
const mainWebRTCManager = new WebRTCManager(webRTCSignallingURI.val, rtcConfiguration)
const availableIceIps = ref([])
@@ -691,6 +692,7 @@ export const useVideoStore = defineStore('video', () => {
return {
availableIceIps,
allowedIceIps,
+ allowedIceProtocols,
namesAvailableStreams,
videoStoringDB,
tempVideoChunksDB,
diff --git a/src/views/ConfigurationVideoView.vue b/src/views/ConfigurationVideoView.vue
index 8130378d4..348b9f18f 100644
--- a/src/views/ConfigurationVideoView.vue
+++ b/src/views/ConfigurationVideoView.vue
@@ -15,6 +15,12 @@
available IPs, like those from WiFi and Hotspot connections, preventing lag and stuttering in your video
streams.
+
+
+ Additionally, you can choose specific protocols that will be permitted for use in your video streams. This
+ selection allows you to choose protocols that could perform better in your network infrastructure, enhancing
+ the quality of your video streams.
+
@@ -30,6 +36,21 @@
hint="IP Addresses of the Vehicle allowed to be used for the WebRTC ICE Routing. Usually, the IP of the tether/cabled interface. Blank means any route. E.g: 192.168.2.2"
/>
+
+
+
+
@@ -41,6 +62,12 @@ import { useVideoStore } from '@/stores/video'
import BaseConfigurationView from './BaseConfigurationView.vue'
+/**
+ * Available ICE protocols as described in
+ * https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate/protocol
+ */
+const availableICEProtocols = ['udp', 'tcp']
+
const videoStore = useVideoStore()
-const { allowedIceIps, availableIceIps } = storeToRefs(videoStore)
+const { allowedIceIps, allowedIceProtocols, availableIceIps } = storeToRefs(videoStore)