diff options
author | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2019-02-21 16:45:48 +0200 |
---|---|---|
committer | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2019-06-04 18:48:19 +0300 |
commit | d1f8f301ad225cad8d6dba320c97914cbd64c40e (patch) | |
tree | c9281f84b9ae3b226e3b6e069e6c366d5c1d51fe /binding | |
parent | 32dfec3cdb14ddc916248c183d7176c977b04d10 (diff) |
binding: make 4A truly optional
The non-4A codepaths were totally broken here
Bug-AGL: SPEC-2473
Change-Id: I1c3c49688566684455bf9522f68f506eaf6aa6c3
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Diffstat (limited to 'binding')
-rw-r--r-- | binding/radio-binding.c | 4 | ||||
-rw-r--r-- | binding/radio_impl_kingfisher.c | 32 |
2 files changed, 11 insertions, 25 deletions
diff --git a/binding/radio-binding.c b/binding/radio-binding.c index 02135fc..19cea20 100644 --- a/binding/radio-binding.c +++ b/binding/radio-binding.c @@ -57,6 +57,7 @@ static void scan_callback(uint32_t frequency, void *data) static int set_role_state(bool state, char **output) { +#ifdef HAVE_4A_FRAMEWORK int rc; json_object *response = NULL; json_object *jsonData = json_object_new_object(); @@ -114,6 +115,9 @@ failed_malformed: failed: return rc; +#else + return 0; +#endif } /* diff --git a/binding/radio_impl_kingfisher.c b/binding/radio_impl_kingfisher.c index 8bfc6ff..5600ff6 100644 --- a/binding/radio_impl_kingfisher.c +++ b/binding/radio_impl_kingfisher.c @@ -23,9 +23,6 @@ #include <fcntl.h> #include <sys/stat.h> #include <json-c/json.h> -#ifndef HAVE_4A_FRAMEWORK -#include <gst/gst.h> -#endif /* !HAVE_4A_FRAMEWORK */ #include <afb/afb-binding.h> @@ -37,13 +34,6 @@ #define SI_CTL_CMDLINE_MAXLEN 128 #define SI_CTL_OUTPUT_MAXLEN 128 -#ifndef HAVE_4A_FRAMEWORK -#define GST_SINK_OPT_LEN 128 -#define GST_PIPELINE_LEN 256 -// GStreamer state -static GstElement *pipeline; -#endif /* !HAVE_4A_FRAMEWORK */ - // Structure to describe FM band plans, all values in Hz. typedef struct { char *name; @@ -86,6 +76,11 @@ static int kf_init(void) char cmd[SI_CTL_CMDLINE_MAXLEN]; int rc; +#ifndef HAVE_4A_FRAMEWORK + /* this code will only work with 4A */ + return -1; +#endif + if(present) return 0; @@ -327,10 +322,7 @@ static void kf_start(void) else { AFB_ERROR("afb_service_call_sync failed\n"); } -#else /* !HAVE_4A_FRAMEWORK */ - // Start pipeline - gst_element_set_state(pipeline, GST_STATE_PLAYING); -#endif /* !HAVE_4A_FRAMEWORK */ +#endif /* HAVE_4A_FRAMEWORK */ running = true; } @@ -356,17 +348,7 @@ static void kf_stop(void) else { AFB_ERROR("afb_service_call_sync failed\n"); } -#else /* !HAVE_4A_FRAMEWORK */ - gst_element_set_state(pipeline, GST_STATE_PAUSED); - GstEvent *event; - - // Flush pipeline - // This seems required to avoid stutters on starts after a stop - event = gst_event_new_flush_start(); - gst_element_send_event(GST_ELEMENT(pipeline), event); - event = gst_event_new_flush_stop(TRUE); - gst_element_send_event(GST_ELEMENT(pipeline), event); -#endif /* !HAVE_4A_FRAMEWORK */ +#endif /* HAVE_4A_FRAMEWORK */ running = false; } |