Fix Audio/Radio reinitialization issue
authorManuel Bachmann <manuel.bachmann@iot.bzh>
Wed, 6 Jan 2016 12:56:00 +0000 (13:56 +0100)
committerManuel Bachmann <manuel.bachmann@iot.bzh>
Wed, 6 Jan 2016 12:56:00 +0000 (13:56 +0100)
Audio and Radio plugins init() functions were re-creating
a new client context each time, but it is actually unwanted
as afb-radio <TokenRefresh> widgets uses this function to
initialize AND refresh the context.

Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
plugins/audio/audio-api.c
plugins/radio/radio-api.c

index 3877ce5..8350377 100644 (file)
@@ -64,7 +64,8 @@ STATIC json_object* init (AFB_request *request) {        /* AFB_SESSION_CHECK */
     int idx;
 
     /* create a private client context */
-    request->context = initAudioCtx();
+    if (!request->context)
+        request->context = initAudioCtx();
     
     _alsa_init("default", request->context);
     
index b09cea8..d6855fe 100644 (file)
@@ -131,7 +131,8 @@ STATIC json_object* init (AFB_request *request) {        /* AFB_SESSION_CHECK */
     json_object *jresp;
 
     /* create a private client context */
-    request->context = initRadioCtx();
+    if (!request->context)
+        request->context = initRadioCtx();
 
     jresp = json_object_new_object();
     json_object_object_add(jresp, "info", json_object_new_string ("Radio initialized"));