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)