]> git.parisson.com Git - teleforma.git/commitdiff
prepare multiple video id management tc/feature/multicam
authorGuillaume Pellerin <guillaume.pellerin@free.fr>
Mon, 4 Mar 2024 21:37:25 +0000 (22:37 +0100)
committerGuillaume Pellerin <guillaume.pellerin@free.fr>
Mon, 4 Mar 2024 21:37:25 +0000 (22:37 +0100)
teleforma/views/core.py

index d71341c06cc59c376478576aca7cf9b399b496ce..4d751749c127ec4a59171b29f7ecfb619e3acf11 100644 (file)
@@ -632,8 +632,11 @@ class ConferenceRecordView(FormView):
             type = station['type']
             conf = station['conf']
             port = station['port']
+            conf = get_conf_dict(station['conf'])
+
             server_type = station['server_type']
             server, c = StreamingServer.objects.get_or_create(host=status.ip, port=port, type=server_type)
+
             station = Station(conference=conference, public_id=uuid)
             station.setup(conf)
             try:
@@ -641,14 +644,19 @@ class ConferenceRecordView(FormView):
             except:
                 continue
             station.save()
-            stream = LiveStream(conference=conference, server=server,
-                            stream_type=type, streaming=True)
-            stream.save()
-            if server_type == 'stream-m':
-                try:
-                    self.snapshot('http://localhost:8080/snapshot/monitor', station.output_dir)
-                except:
-                    pass
+
+            video_ids = []
+            for conf_station in conf['deefuzzer']['station']:
+                if 'id' in conf_station:
+                    video_ids.append(conf_station['id'])
+            if not video_ids:
+                video_ids = [None]
+
+            for video_id in video_ids:
+                stream = LiveStream(conference=conference, server=server,
+                        stream_type=type, streaming=True, video_id=video_id)
+                stream.save()
+
         if conference.streaming:
             try:
                 live_message(self.conference)