aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-09-05binding: mediaplayer: process audio tags in message handlerMatt Ranostay1-26/+31
To reduce blocking api calls, and to avoid race conditions interactions beween UI and binding on startup, change to parsing album art from GST_MESSAGE_TAG event. Bug-AGL: SPEC-2774 Change-Id: I67463824a6966f175bf2c3c423d75d0edd183c4d Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-08-26binding: mediaplayer: switch from pthread mutexes to GMutexMatt Ranostay1-21/+21
For allowing of the use of other glib functionality switch to GMutex wrapper over using pthread mutexes directly. Bug-AGL: SPEC-2774 Change-Id: I85fa6260e2e2c5b38bf4d94477b1ef1567d91ab6 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-08-26binding: mediaplayer: fix compiler warning from gst_util_set_object_arg callMatt Ranostay1-1/+2
First argument to the gst_util_set_object_arg call should be cast via G_OBJECT macro afm-mediaplayer-binding.c: In function ‘gstreamer_init’: afm-mediaplayer-binding.c:883:30: warning: passing argument 1 of ‘gst_util_set_object_arg’ from incompatible pointer type [-Wincompatible-pointer-types] gst_util_set_object_arg(data.audio_sink, "stream-properties", "p,media.role=Multimedia"); Bug-AGL: SPEC-2774 Change-Id: I5c93e7e6621f2db229a2a154f0c9d09853c78981 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-07-12mediaplayer: gstreamer: use pwaudiosink instead of alsasinkhalibut_8.0.0halibut_7.99.3halibut/8.0.0halibut/7.99.38.0.07.99.3George Kiagiadakis1-8/+9
This native pipewire sink has better performance and allows 1) properly selecting the role of the app 2) proper handling of the situation where another app with higher priority has taken over the audio stream Bug-AGL: SPEC-2634 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: Ib40300ee6a74804c8491451267041d0554215d05
2019-06-19Merge "Adding tests for agl-service-mediaplayer"halibut_7.99.2halibut/7.99.27.99.2Jan-Simon Moeller8-0/+199
2019-06-18Adding tests for agl-service-mediaplayerEdi Feschiyan8-0/+199
Bug-AGL: SPEC-2525 Change-Id: Ib95aeaf94ead93a96c90041569db2714928e686d Signed-off-by: Edi Feschiyan <edi.feschiyan@konsulko.com>
2019-06-14Add permission to use display and audioJosé Bollo1-0/+2
Add the permission required to access the display through the wayland socket and to access audio. Bug-AGL: SPEC-2357 Change-Id: I360d48e8f6a695c25b11daa608df7cb4ca1c2014 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-06-10binding: remove support for 4A and use plain alsasinkGeorge Kiagiadakis2-45/+1
GStreamer alsasink will redirect the stream to pipewire. Bug-AGL: SPEC-2473 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: I696b338e99d28f97f1e0fe3c466e711d2171d1ad
2019-06-05binding: mediaplayer: fix refcount imbalanceMatt Ranostay1-0/+1
JSON response that was passed to onevent callback was being resent in an event without refcount being increased. Resulting assertion failure: json_object_put: Assertion `jso->_ref_count > 0' failed. Bug-AGL: SPEC-2488 Change-Id: I40cf36f0e7e96c5974bd6b6c49b5044bbe199b77 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-04-30binding: mediaplayer: fix segfault in volume commandhalibut_7.99.1halibut/7.99.17.99.1Matt Ranostay1-1/+9
When no volume field is passed it caused a null pointer dereference Bug-AGL: SPEC-2368 Change-Id: Ia11ae28b38455a597d1b31a044a711e21928b0cc Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-04-03binding: mediaplayer: correct g_object_unref on non-gobjectMatt Ranostay1-2/+1
Calling g_object_unref on gchar* is incorrect since it isn't an gobject, and thus g_free should be used instead. Change-Id: I5a982a4f083e2b7de340deaa26be99fb6caf63de Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-03-15binnding: mediaplayer: remove useless .gitmodulesMatt Ranostay1-3/+0
Bug-AGL: SPEC-2268 Change-Id: Ia30c22c559c8dd6f402f792915c9dad604391f53 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-03-05binding: mediaplayer: add functionality to switch loop playback typesMatt Ranostay2-9/+43
Allow client to request between playlist and track looping Bug-AGL: SPEC-2181 Change-Id: I05097426e827a891e14811dad1763944d3f2fd89 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-03-02autobuild: fix warnings due to cp command exit codeRaquel Medina4-120/+158
- bring latest version of autobuild script in - move conf.d/autobuild to root folder - update autobuild script to fix warnings triggered by cp operation error. Change-Id: I11643e0664127ed7fd0f34bd8492afa3c4bc0e1a Bug-AGL: SPEC-2164 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
2018-12-19binding: mediaplayer: fix segfault without playlist and A2DP connectedhalibut_7.90.0halibut/7.90.0guppy_6.99.4guppy_6.99.3guppy/6.99.4guppy/6.99.37.90.06.99.46.99.3Matt Ranostay1-0/+4
A2DP connection and events with no local media playlist will result in segfaults. Change-Id: I8034d5ae88d2f81ffd74263800c32ded0645d4d8 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-12-19binding: mediaplayer: allow open/close of mediaplayer rolesMatt Ranostay5-79/+73
When streams are paused or stopped the mediaplayer role needs to be released to allow playback from other applications (i.e. radio) Change-Id: Idd324d0695bfaa35401f05a95380d56df848009e Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-12-17binding: mediaplayer: fix reporting to mediaplayer UIMatt Ranostay1-2/+19
1) local media wasn't stopping playback when a2dp transport was connected 2) when disconnecting a2dp the local media metadata wasn't being displayed 3) pausing wasn't sending an event to the UI subscriber Bug-AGL: SPEC-1630 Change-Id: I67eee3af44169c8138d03aff591200884f1dd6ae Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-12-14binding: mediaplayer: fix connect/disconnect of a2dp/avrcp profilesMatt Ranostay1-12/+21
Bug-AGL: SPEC-1630 Change-Id: I38fc2c131b3d56a4b5a0a87f3bcd0eb27af5bb66 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-11-23Fix an issue in 4a support due to change in APIv3guppy_6.99.2guppy_6.99.1guppy/6.99.2guppy/6.99.16.99.26.99.1Loïc Collignon1-12/+7
In APIv3 there is a change in the response json from a call to an API. This prevent multimedia to get the right device to play audio on. Bug: SPEC-1974 Change-Id: Iea60421e229a3f24633065b9b81ab4b5c574fcc4 Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
2018-11-16binding: mediaplayer: remove metadata verbMatt Ranostay2-35/+22
Since no client actually uses the metadata verb, but just the events this can be removed. Also the verb wouldn't show avrcp metadata. Bug-AGL: SPEC-1630 Change-Id: Iae7ba5a2e63107cb920566c83507bb2c7365a168 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-11-16binding: mediaplayer: add avrcp supportMatt Ranostay5-29/+129
Proxy avrcp metadata from bluetooth binding to mediaplayer service subscribers. Also allow transparent access to local and avrcp controls. Bug-AGL: SPEC-1630 Change-Id: I75cfd71ee62976a9312474b81469b8eb13a06015 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-11-16binding: mediaplayer: update local media metadata to match avrcpMatt Ranostay1-8/+13
To allow the mediaplayer application to not care if an media is local or a2dp stream the reported metadata events should be the same. Bug-AGL: SPEC-1630 Change-Id: I0fb00aa94d8b44e4babced0c87f3eeb6c3dd15e5 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-10-31Migrate app-templates to CMake moduleRomain Forlot2-5/+9
Bug-AGL SPEC-1682 Change-Id: Id9da76563f384387162a5b52e037fd98606a9315 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-18binding: mediaplayer: upgrade to version 3 of afb frameworkMatt Ranostay1-21/+19
Change-Id: I8b3ff798f022da30cf6a05b54cfcfdca399dac5b Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-10-18binding: mediaplayer: quiet some compile warningsMatt Ranostay1-1/+3
Change-Id: I48d54c05bfb8f74f280ac914f13aa30ce79fad00 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-10-11Merge "binding: mediaplayer: update version of conf.d/app-templates submodule"Jan-Simon Moeller3-5/+2
2018-10-09Use feature 'required-binding'Jose Bollo2-0/+6
The feature "urn:AGL:widget:required-binding" is now preferred to the feature "urn:AGL:widget:required-api" for requiring a local binding. Bug-AGL: SPEC-1800 Change-Id: I971e4ded174d731559fcb34fe450b6d8d87712b6 Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2018-10-09binding: mediaplayer: update version of conf.d/app-templates submoduleMatt Ranostay3-5/+2
To allow coverage tests to be run it requires the app-templates to be updated to a recent release. Bug-AGL: SPEC-1799 Change-Id: I3e33500d7e25e833071ff42c2c6ecd4a104734f3 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-08-13Mediaplayer now works on 4a rolesguppy_6.90.0guppy/6.90.0flounder_5.99.6flounder_5.99.5flounder_5.99.4flounder_5.99.3flounder/5.99.6flounder/5.99.5flounder/5.99.4flounder/5.99.36.90.05.99.65.99.55.99.45.99.3Loïc Collignon1-10/+40
Fixes the issue that makes the mediaplayer not playing anything on 4a. Also added a lot a debugging messages to help to understand what is going on. Change-Id: I313da264ecb2bcc7075018c29595df3cdce52557 Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
2018-06-14afm-mediaplayer-binding.c: Fix coding styleflounder_5.99.2flounder_5.99.1flounder/5.99.2flounder/5.99.15.99.25.99.1Leon Anavi1-2/+4
Set the opening brace at the beginning of the next line for each function. Bug-AGL: SPEC-1515 Change-Id: I8277e52fd2093e0df5ab998e990bed3d5c2ab32c Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2018-06-12binding: mediaplayer: fix race condition with initial album artMatt Ranostay1-5/+8
gst_init and audio sinks weren't always getting setup in time for a subscriber to get the initial album art. Solution is to move the setup out of the pthread callback and confirm they are ran before .init() returns Bug-AGL: SPEC-1496 Change-Id: I70779bcb1ca539146c98718f5b0edd781f9899b4 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-05-08binding: mediaplayer: fix duplicate entries being added to playlistMatt Ranostay1-1/+7
Check playlist for an entry with the current media_path and refuse to add to the list if it exists Bug-AGL: SPEC-1375 Change-Id: Idc5fb4b2570ed7ac9cf63aa3c37e44b8e35d6b34 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-04-09binding: mediaplayer: add image metadata to eventMatt Ranostay1-19/+49
Give new subscribers to metadata image data, and also give metadata image data in event when track changes. Bug-AGL: SPEC-1375 Change-Id: Ic32d1f3004948fe3bc38c958a136fd0cf9967e53 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-04-06binding: mediaplayer: give initial playlist to new subscribersMatt Ranostay1-0/+9
On initial subscription to playlist event request the playlist via event Bug-AGL: SPEC-1375 Change-Id: Id2d7565b384ce117873827392c1e5f2a3e123098 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-04-06binding: mediaplayer: add loop control to documentationMatt Ranostay1-0/+1
Change-Id: Ife2788568b84d744b7ff203494e686b77f7ed738 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-01-18binding: mediaplayer: add check GST_TAG_PREVIEW_IMAGE for album artMatt Ranostay1-3/+14
Add support for using GST_TAG_PREVIEW_IMAGE in case GST_TAG_IMAGE tags aren't available Bug-AGL: SPEC-1241 Change-Id: I3bb4edf8c9350deffa3cf407285a333042403ec9 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-01-16Merge "binding: mediaplayer: only get audio results"Jan-Simon Moeller2-2/+15
2018-01-11binding: mediaplayer: only get audio resultsMatt Ranostay2-2/+15
Since video playback doesn't work yet don't populate the playlist with video media entries. Bug-AGL: SPEC-1236 Change-Id: I3b161351d975442e512bdbf2215174be2301069d Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-01-10binding: mediaplayer: add binding documentationMatt Ranostay1-0/+80
Add initial documentation for agl-service-mediaplayer service Bug-AGL: SPEC-1245 Change-Id: I3f9b6b4fd584a0530006d9a0a726c0eb32fed885 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2017-12-21Add 4A supportRonan Le Martret4-1/+62
Add conditional compilation option to enable using the 4A high-level API to request Multimedia role access. Change-Id: I85c19e33a355f9133bdda837e9374776fc92efe9 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> Signed-off-by: Scott Murray <scott.murray@konsulko.com> (cherry picked from commit d03590991d2c7104e7cd4b2a18e710008b2759ab)
2017-11-28Fix a crash when playing empty listJosé Bollo1-3/+10
Change-Id: I4037ab08715bea231bb8e9d725ffba9718c7daca Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-13binding: mediaplayer: add tag size checkeel_4.99.3eel/4.99.34.99.3Matt Ranostay1-1/+2
Slight chance to have an infinite tag check for album art data, and this patchset avoids that possibility by checking the max index of tags. Bug-AGL: SPEC-1091 Change-Id: I63836ea6e9795c97cfd0c07231c556bbbb8d9528 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2017-11-06binding: mediaplayer: add support for initial metadata on startupMatt Ranostay1-8/+27
Use a fakesink to get initial album art metadata on startup of service Bug-AGL: SPEC-1052 Change-Id: If3563e65480ba1a159d60e04d8fe7e63d12301a4 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2017-10-25binding: mediaplayer: assume play after seek commandeel_4.99.2eel/4.99.24.99.2Matt Ranostay1-2/+3
Assume to enter playing state when next/previous track commands, and this allows loading of metadata via gstreamer Bug-AGL: SPEC-931 Change-Id: Id7eeb1e354d3c2e7ad63a166b8dbd64afb453332 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2017-10-25binding: mediaplayer: fixup double conversion for volumeMatt Ranostay1-3/+3
Fix compiler warning of incorrect 'long int' to double conversions that for volume settings Bug-AGL: SPEC-931 Change-Id: I6645506f5636adb589256f101763b5433fc66603 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2017-10-25binding: mediaplayer: signaling of selected track during updateMatt Ranostay1-10/+21
Notify subscribers of the current playing selection on a playlist update. This is used to keep the UI selection of media in a playlist correct. Bug-AGL: SPEC-931 Change-Id: I8888bb6c1882695ba8ffd4a8aed2914ad0441388 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2017-10-23binding: mediaplayer: add stop verb for playbackMatt Ranostay3-0/+5
Add stop verb mostly for resetting playback on media removal Bug-AGL: SPEC-931 Change-Id: Ic564d2329aab300bbff0bb8afcf47a65dc73103b Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2017-10-23binding: mediaplayer: ending of playlist needs to send an eventMatt Ranostay1-1/+18
When ending a playlist an event needs to be sent to notify the UI Bug-AGL: SPEC-931 Change-Id: Ib96ee49775a90d9ca969031443cb9e9e2ec4610e Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2017-10-23binding: mediaplayer: add looping of playlistMatt Ranostay3-1/+13
Allow playlist to be looped when it reachs the end of it. Bug-AGL: SPEC-931 Change-Id: I482c51d12234a5e70f76fbb981249a643b6b78fc Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2017-10-23binding: mediaplayer: fix index/volume selectionMatt Ranostay1-2/+2
First track or volume of 0% couldn't ever be selected due to a invalid logic condition Bug-AGL: SPEC-931 Change-Id: I6bc7d9026eac24eef66ab1ec13b1a8766da7d586 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>