Age | Commit message (Collapse) | Author | Files | Lines |
|
Repurpose repository into a spiritual successor of the previous
binding. The backend code is retained behind a new gRPC API
defined in protos/radio.proto. The simpler synchronous gRPC API
had been used for expediency, this may warrant revisiting to
rework into an async or callback API based server instead. As
well, authentication has been left until some consensus on an
approach can be worked out.
Bug-AGL: SPEC-4665
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I28b122ce6e0ecfc7504aa08b90394cb1b9e22976
(cherry picked from commit dd23c157bdba1b25bbb50cdb99a60aa597735f43)
|
|
The lazy startup of the separate helper program for the RTL-SDR
backend on playback start was incorrect with respect to the expected
behavior the frequency setting verbs. This was not visible during
usage by the radio application, but was triggering failures in
several tests in the pyagl binding wrapper test suite. To facilitate
starting the helper during backend initialization, the probing part
of the backend "init" has been split into a separate "probe" function,
and all backends have been updated to reflect this change. Logic has
been added to enforce that "init" is only called after "probe" has
succeeded for a backend, and a comment has been added to radio_impl.h
to document this intended behavior.
Bug-AGL: SPEC-3717
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ic37331a92bae7cc01ee448e69894fa5f49d08a74
|
|
Bug-AGL: SPEC-2745
Change-Id: I5ee9d3118a302f0edf5fe79a43590818d3d829c3
Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
Bug-AGL: SPEC-2473
Change-Id: I89f754bd83687159c3aecb3074cba4fcf16c7d37
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
|
|
Rework things so that the 4A audio role is only opened while playing,
and closed when stopped. Further work will need to be done to handle
the possibility of the output device changing on subsequent opens,
both the RTL SDR and Kingfisher case have complications around doing
so:
- The RTL SDR helper application needs to be enhanced to add an
output setting command. Killing it and starting it again would
also work, but likely will add noticeable UI latency.
- On the Kingfisher, the binding currently has no control over the
output used for the loopback, as it is being set up down in the
soft-mixer based on HAL values.
Change-Id: I4aa83c937972ec5d91f7b78421a11148c7fe0afc
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
(cherry picked from commit f1d5902c92eafd3aad62e29298502603a9b56d81)
|
|
Setting AFB_BINDING_VERSION is cmake makes merges
easier between branches, since it is always defined
once at a single place instead that in each file
that need it.
Also removed the "INSTALL" section with LIBRARY_DESTINATION
since it is now treated in app-templates.
Change-Id: I7ef5f3b4d2009ab6ec296ac70bfc0a5647f9534c
Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
|
|
and fixes some complication warnings
Change-Id: I3e9031eb215c3331ffb2264afad5ff07fca2bb46
Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
|
|
Fixed all the compilation warning that appeared
with the latest version of gcc.
There are still warnings in the gstreamer headers,
that would likely be fixed by a gstreamer bump.
Change-Id: I3ae7698dbff47303be366d9755a643a013bb4e51
Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
|
|
When building for 4A, switch to new gstreamer-based ALSA output for
the RTL-SDR backend, and the Kingfisher backend now uses a gstreamer
pipeline for its loopback to either an ALSA or Pulse sink depending
on 4A or not. Using gstreamer instead of direct ALSA output has the
benefit of transparently handling resampling to the M3ULCB hardware's
required 48 KHz sample rate for the RTL-SDR backend.
Change-Id: I2bfbf924927bb461cce88b04aba0e626f8d71215
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
To avoid the GPL licensed code in rtl_fm.c making all of the binding
GPL, rework things to wrap it with a simple standalone helper
executable that is driven via stdin/stdout. While this could
potentially be done by running the original unmodified rtl_fm utility
itself, it would be impossible to implement scanning with that
approach without some compromising of playback latency and quality.
The current helper implementation is simple enough that replacing it
with an alternate one should be relatively straightforward if that is
desired.
Change-Id: If83b834da3999f5807d1453524ae72b1c3559c90
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
Add conditionally compilable support for the Si4689 radio on the
M3ULCB Kingfisher infotainment board. The codebase has been
refactored to allow multiple radio implementations, and when
Kingfisher support is enabled, the binding will first look for a
USB RTL-SDR adapter, then fallback to the Kingfisher Si4689 if
one is not found. This allows easily switching to a RTL-SDR
adapter if this initial Kingfisher support encounters issues.
The back end implementation relies on a patched version of the
"si_ctl" utility from Cogent Embedded's Kingfisher BSP changes.
The modifications to it add FM band plan selection and scanning
threshold tweaking for poor radio environments. Audio output is
achieved by looping the radio's PulseAudio source to the
appropriate sink depending on 4A or non-4A operation. For 4A
compatibility, the PulseAudio source is created if it does not
exist, which currently is the case due to PulseAudio's udev
module being disabled when 4A is enabled.
Additionally, the FM band plan for Japan has been corrected to go
to 95 MHz, and a README.md file has been added documenting the
optional configuration that can be done via /etc/xdg/AGL.conf for
band plan selection and scanning sensitivity.
Change-Id: I204906fed741d917fc3b8be962deadb4e59989db
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Harunobu Kurokawa <harunobu.kurokawa.dn@renesas.com>
|
|
Radio binding is now standalone so the qmake build scripts need
to be updated to reflect that
Bug-AGL: SPEC-832
Change-Id: Iab9cd5d18536e416d22d91c492ef489159a62d0d
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|