[Pkg-voip-commits] [janus] 162/282: Added info on emitter (server name) to Janus handlers events

Jonas Smedegaard dr at jones.dk
Wed Dec 20 21:53:37 UTC 2017


This is an automated email from the git hooks/post-receive script.

js pushed a commit to annotated tag debian/0.2.6-1
in repository janus.

commit 6b55b063cc740500fdd1e7a74c929fe8b7ccf4b7
Author: Lorenzo Miniero <lminiero at gmail.com>
Date:   Tue Oct 31 15:31:36 2017 +0100

    Added info on emitter (server name) to Janus handlers events
---
 events.c | 8 +++++++-
 events.h | 3 ++-
 janus.c  | 3 ++-
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/events.c b/events.c
index 9e1704e..28b591e 100644
--- a/events.c
+++ b/events.c
@@ -16,6 +16,7 @@
 #include "utils.h"
 
 static gboolean eventsenabled = FALSE;
+static char *server = NULL;
 static GHashTable *eventhandlers = NULL;
 
 static GAsyncQueue *events = NULL;
@@ -24,7 +25,7 @@ static json_t exit_event;
 static GThread *events_thread;
 void *janus_events_thread(void *data);
 
-int janus_events_init(gboolean enabled, GHashTable *handlers) {
+int janus_events_init(gboolean enabled, char *server_name, GHashTable *handlers) {
 	/* We setup a thread for passing events to the handlers */
 	GError *error = NULL;
 	events_thread = g_thread_try_new("janus events thread", janus_events_thread, NULL, &error);
@@ -32,6 +33,8 @@ int janus_events_init(gboolean enabled, GHashTable *handlers) {
 		JANUS_LOG(LOG_ERR, "Got error %d (%s) trying to launch the Events handler thread...\n", error->code, error->message ? error->message : "??");
 		return -1;
 	}
+	if(server_name != NULL)
+		server = g_strdup(server_name);
 	events = g_async_queue_new();
 	eventhandlers = handlers;
 	eventsenabled = enabled;
@@ -49,6 +52,7 @@ void janus_events_deinit(void) {
 	}
 	if(events != NULL)
 		g_async_queue_unref(events);
+	g_free(server);
 }
 
 gboolean janus_events_is_enabled(void) {
@@ -96,6 +100,8 @@ void janus_events_notify_handlers(int type, guint64 session_id, ...) {
 
 	/* Prepare the event to notify as a Jansson json_t object */
 	json_t *event = json_object();
+	if(server != NULL)
+		json_object_set_new(event, "emitter", json_string(server));
 	json_object_set_new(event, "type", json_integer(type));
 	json_object_set_new(event, "timestamp", json_integer(janus_get_real_time()));
 	if(type != JANUS_EVENT_TYPE_CORE) {			/* Core events don't have a session ID */
diff --git a/events.h b/events.h
index a552f4a..0ae0e2f 100644
--- a/events.h
+++ b/events.h
@@ -18,9 +18,10 @@
 
 /*! \brief Initialize the event handlers broadcaster
  * @param[in] enabled Whether broadcasting events should be supported at all
+ * @param[in] server_name The name of this server, to be added to all events
  * @param[in] handlers Map of all registered event handlers
  * @returns 0 on success, a negative integer otherwise */
-int janus_events_init(gboolean enabled, GHashTable *handlers);
+int janus_events_init(gboolean enabled, char *server_name, GHashTable *handlers);
 
 /*! \brief De-initialize the event handlers broadcaster */
 void janus_events_deinit(void);
diff --git a/janus.c b/janus.c
index 39044ac..bb12d00 100644
--- a/janus.c
+++ b/janus.c
@@ -4063,7 +4063,7 @@ gint main(int argc, char *argv[])
 			g_strfreev(disabled_eventhandlers);
 		disabled_eventhandlers = NULL;
 		/* Initialize the event broadcaster */
-		if(janus_events_init(enable_events, eventhandlers) < 0) {
+		if(janus_events_init(enable_events, (server_name ? server_name : (char *)JANUS_SERVER_NAME), eventhandlers) < 0) {
 			JANUS_LOG(LOG_FATAL, "Error initializing the Event handlers mechanism...\n");
 			exit(1);
 		}
@@ -4333,6 +4333,7 @@ gint main(int argc, char *argv[])
 	if(janus_events_is_enabled()) {
 		json_t *info = json_object();
 		json_object_set_new(info, "status", json_string("started"));
+		json_object_set_new(info, "info", janus_info(NULL));
 		janus_events_notify_handlers(JANUS_EVENT_TYPE_CORE, 0, info);
 	}
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-voip/janus.git



More information about the Pkg-voip-commits mailing list