Browse Source

MT#56447 output "streams" list with "configured" event

... and adapt tests

Change-Id: I25561bd712fcf9c4d53edf7b883230882213878a
pull/1611/head
Richard Fuchs 3 years ago
parent
commit
16c99e9d07
2 changed files with 137 additions and 11 deletions
  1. +42
    -11
      daemon/janus.c
  2. +95
    -0
      t/auto-daemon-tests-websocket.py

+ 42
- 11
daemon/janus.c View File

@ -735,15 +735,13 @@ static const char *janus_videoroom_configure(struct websocket_message *wm, struc
json_builder_set_member_name(builder, "configured");
json_builder_add_string_value(builder, "ok");
json_builder_set_member_name(builder, "streams");
json_builder_begin_array(builder);
const char *a_codec = NULL, *v_codec = NULL;
for (GList *l = ml->medias.head; l; l = l->next) {
struct call_media *media = l->data;
const char *ent = NULL;
if (media->type_id == MT_AUDIO)
ent = "audio_codec";
else if (media->type_id == MT_VIDEO)
ent = "video_codec";
else
continue;
const char *codec = NULL;
for (GList *k = media->codecs.codec_prefs.head; k; k = k->next) {
@ -752,13 +750,46 @@ static const char *janus_videoroom_configure(struct websocket_message *wm, struc
// XXX check codec support?
break;
}
if (!codec)
continue;
json_builder_set_member_name(builder, ent);
json_builder_add_string_value(builder, codec);
json_builder_begin_object(builder);
json_builder_set_member_name(builder, "type");
json_builder_add_string_value(builder, media->type.s);
json_builder_set_member_name(builder, "mindex");
json_builder_add_int_value(builder, media->index - 1);
json_builder_set_member_name(builder, "mid");
if (media->media_id.s)
json_builder_add_string_value(builder, media->media_id.s);
else
json_builder_add_null_value(builder);
json_builder_set_member_name(builder, "codec");
if (codec)
json_builder_add_string_value(builder, codec);
else
json_builder_add_null_value(builder);
json_builder_end_object(builder);
if (media->type_id == MT_AUDIO)
a_codec = codec;
else if (media->type_id == MT_VIDEO)
v_codec = codec;
}
json_builder_end_array(builder);
json_builder_set_member_name(builder, "audio_codec");
if (a_codec)
json_builder_add_string_value(builder, a_codec);
else
json_builder_add_null_value(builder);
json_builder_set_member_name(builder, "video_codec");
if (v_codec)
json_builder_add_string_value(builder, v_codec);
else
json_builder_add_null_value(builder);
janus_notify_publishers(wm, room_id, handle->id);
}


+ 95
- 0
t/auto-daemon-tests-websocket.py View File

@ -467,6 +467,15 @@ class TestVideoroom(unittest.TestCase):
"room": room,
"configured": "ok",
"audio_codec": "PCMA",
"video_codec": None,
"streams": [
{
"codec": "PCMA",
"mid": None,
"mindex": 0,
"type": "audio",
},
],
},
},
"jsep": {"type": "answer", "sdp": sdp},
@ -742,6 +751,15 @@ class TestVideoroom(unittest.TestCase):
"room": room,
"configured": "ok",
"audio_codec": "PCMA",
"video_codec": None,
"streams": [
{
"codec": "PCMA",
"mid": None,
"mindex": 0,
"type": "audio",
},
],
},
},
"jsep": {"type": "answer", "sdp": sdp},
@ -1001,6 +1019,15 @@ class TestVideoroom(unittest.TestCase):
"room": room,
"configured": "ok",
"audio_codec": "PCMA",
"video_codec": None,
"streams": [
{
"codec": "PCMA",
"mid": None,
"mindex": 0,
"type": "audio",
},
],
},
},
"jsep": {"type": "answer", "sdp": sdp},
@ -1089,6 +1116,15 @@ class TestVideoroom(unittest.TestCase):
"room": room,
"configured": "ok",
"audio_codec": "PCMA",
"video_codec": None,
"streams": [
{
"codec": "PCMA",
"mid": None,
"mindex": 0,
"type": "audio",
},
],
},
},
"jsep": {"type": "answer", "sdp": sdp},
@ -1179,6 +1215,15 @@ class TestVideoroom(unittest.TestCase):
"room": room,
"configured": "ok",
"audio_codec": "PCMA",
"video_codec": None,
"streams": [
{
"codec": "PCMA",
"mid": "audio",
"mindex": 0,
"type": "audio",
},
],
},
},
"jsep": {"type": "answer", "sdp": sdp},
@ -1264,6 +1309,15 @@ class TestVideoroom(unittest.TestCase):
"room": room,
"configured": "ok",
"audio_codec": "PCMA",
"video_codec": None,
"streams": [
{
"codec": "PCMA",
"mid": "audio",
"mindex": 0,
"type": "audio",
},
],
},
},
"jsep": {"type": "answer", "sdp": sdp},
@ -1541,6 +1595,20 @@ class TestVideoroom(unittest.TestCase):
"configured": "ok",
"audio_codec": "opus",
"video_codec": "VP8",
"streams": [
{
"codec": "opus",
"mid": "0",
"mindex": 0,
"type": "audio",
},
{
"codec": "VP8",
"mid": "1",
"mindex": 1,
"type": "video",
},
],
},
},
"jsep": {"type": "answer", "sdp": sdp},
@ -1758,6 +1826,15 @@ class TestVideoroom(unittest.TestCase):
"room": room,
"configured": "ok",
"audio_codec": "PCMA",
"video_codec": None,
"streams": [
{
"codec": "PCMA",
"mid": "audio",
"mindex": 0,
"type": "audio",
},
],
},
},
"jsep": {"type": "answer", "sdp": sdp},
@ -2081,6 +2158,15 @@ class TestVideoroom(unittest.TestCase):
"room": room,
"configured": "ok",
"audio_codec": "opus",
"video_codec": None,
"streams": [
{
"codec": "opus",
"mid": None,
"mindex": 0,
"type": "audio",
},
],
},
},
"jsep": {"type": "answer", "sdp": sdp},
@ -2268,6 +2354,15 @@ class TestVideoroom(unittest.TestCase):
"room": room,
"configured": "ok",
"audio_codec": "PCMA",
"video_codec": None,
"streams": [
{
"codec": "PCMA",
"mid": "audio",
"mindex": 0,
"type": "audio",
},
],
},
},
"jsep": {"type": "answer", "sdp": sdp},


Loading…
Cancel
Save