From a6078dc0a08295613baee8366f4b332aa4dcbd87 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 21 Mar 2023 13:41:39 -0400 Subject: [PATCH] MT#56447 add convenience janus_json_print() Functional no-op. Change-Id: I98d8dfe987229aaf3d4daffd4750c377f0846e47 --- daemon/janus.c | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/daemon/janus.c b/daemon/janus.c index 8e64857a4..47f025ab3 100644 --- a/daemon/janus.c +++ b/daemon/janus.c @@ -90,8 +90,8 @@ static uint64_t jr_str_int(JsonReader *r) { } -// frees 'builder' -static const char *janus_send_json_msg(struct websocket_message *wm, JsonBuilder *builder, int code, bool done) { +// frees 'builder', returns g_malloc'd string +static char *janus_json_print(JsonBuilder *builder) { JsonGenerator *gen = json_generator_new(); JsonNode *root = json_builder_get_root(builder); json_generator_set_root(gen, root); @@ -101,6 +101,14 @@ static const char *janus_send_json_msg(struct websocket_message *wm, JsonBuilder g_object_unref(gen); g_object_unref(builder); + return result; +} + + +// frees 'builder' +static const char *janus_send_json_msg(struct websocket_message *wm, JsonBuilder *builder, int code, bool done) { + char *result = janus_json_print(builder); + const char *ret = NULL; if (wm->method == M_WEBSOCKET) @@ -1045,14 +1053,7 @@ void janus_rtc_up(struct call_monologue *ml) { json_builder_add_int_value(builder, handle); json_builder_end_object(builder); // } - JsonGenerator *gen = json_generator_new(); - JsonNode *root = json_builder_get_root(builder); - json_generator_set_root(gen, root); - char *result = json_generator_to_data(gen, NULL); - - json_node_free(root); - g_object_unref(gen); - g_object_unref(builder); + char *result = janus_json_print(builder); // lock order constraint: janus_session lock first, websocket_conn lock second @@ -1107,14 +1108,7 @@ void janus_media_up(struct call_media *media) { json_builder_add_boolean_value(builder, true); json_builder_end_object(builder); // } - JsonGenerator *gen = json_generator_new(); - JsonNode *root = json_builder_get_root(builder); - json_generator_set_root(gen, root); - char *result = json_generator_to_data(gen, NULL); - - json_node_free(root); - g_object_unref(gen); - g_object_unref(builder); + char *result = janus_json_print(builder); // lock order constraint: janus_session lock first, websocket_conn lock second