aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-03-04mediaplayer: don't execute PLAY_CMD if already playingicefish_9.0.4icefish_9.0.3icefish_9.0.2icefish_9.0.1icefish/9.0.4icefish/9.0.3icefish/9.0.2icefish/9.0.19.0.49.0.39.0.29.0.1icefishMatt Ranostay1-0/+6
Using Mediaplayer UI it is possible to send multiple play events before the Pause button is displayed. This seems to cause unexpected side effects on playback. Bug-AGL: SPEC-3197 Change-Id: Iad6b0998e8bcc1331cb78d8f45081d0e6185913a Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2020-01-29Add gitreview file for icefish branchicefish_9.0.0icefish/9.0.09.0.0Jan-Simon Möller1-1/+1
Change-Id: If67eeac8eba33845cdcf75478aaa9ef6a5dc6607 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
2020-01-13steering-wheel: add event.media.mode functionalityicefish_8.99.5icefish/8.99.58.99.5Matt Ranostay1-1/+5
Allow mode event to switch between AVRCP and local media. Bug-AGL: SPEC-3047 Change-Id: Id7f697b8608695fd56a57a4f41eafc4c7c31a26d Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-12-19Some fixes for corked state trackingicefish_8.99.4icefish/8.99.48.99.4Scott Murray1-0/+8
Fixes: - Clear the corked state flag on stop and track changes to keep it in sync. - Add changing of pipeline state in response to the GstBus GST_MESSAGE_REQUEST_STATE message, this is required to have the second request to switch back to PLAYING state be sent, and hence properly keeping track of corked state. Bug-AGL: SPEC-3061, SPEC-3047 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I7a7727e1671b82aaafe816d30481bef720f19037
2019-12-17steering-wheel: add AVRCP controls to signal-composer eventsMatt Ranostay1-10/+18
Add Previous/Next AVRCP controls to respective events from signal-composer. Bug-AGL: SPEC-3047 Change-Id: I3f8d2576508ce03d667273f273202726aea50ceb Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-12-17Add workaround for Wireplumber policy implementationScott Murray1-0/+23
Add hopefully temporary workarounds for current Wireplumber policy implementation that requires taking gstreamer state to READY or STOPPED to trigger policy. Bug-AGL: SPEC-3061 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I9ade3615945b6821ce78c22ffea292b16a4fb93c
2019-12-14mediaplayer: check for corking from PipeWireicefish_8.99.3icefish/8.99.38.99.3Matt Ranostay1-0/+28
Check if PipeWire is corking the audio stream and if so don't process signal-composer events till uncorked. Bug-AGL: SPEC-3023 Change-Id: Ib4d4de1f1627426d69e3f19501d38ff2d3c88a62 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-12-13steering-wheel: add AFB_WARNING for unimplemented featuresMatt Ranostay1-2/+8
Currently the steering wheel events from the signal-composer binding aren't handled for AVRCP. Put in AFB_WARNINGs for when events are triggered. Bug-AGL: SPEC-3047 Change-Id: I755ef4e89065560bea08b9d0a874746914fe9a14 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-12-12Initial steering wheel event supportScott Murray2-1/+76
Add initial basic support for next/previous events from signal composer, mapping them to track forward/back. More work will be required to handle the issues around both mediaplayer and radio both being running and differentiating which should handle the events. Bug-AGL: SPEC-3047 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I789181e1921aa55f4a9ec84deffe3f27560289c3
2019-09-16Merge "mediaplayer: report metadata on playlist events and subscription"icefish_8.99.2icefish_8.99.1icefish/8.99.2icefish/8.99.18.99.28.99.1Jan-Simon Moeller1-0/+10
2019-09-12mediaplayer: report metadata on playlist events and subscriptionMatt Ranostay1-0/+10
Report metadata on initial metadata event subsciption, and also when the playlist changes. Bug-AGL: SPEC-2774 Change-Id: Ieb68d6d5e53af889ad66c52887023b8c94c40080 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-09-12Merge "fix(test/CMakeLists.txt): make test wgt work"Jan-Simon Moeller1-1/+1
2019-09-06fix(confg.cmake): set PROJECT_URL to slience CMake warningLi Xiaoming1-0/+1
CMake Warning at /xdt/sdk/sysroots/x86_64-aglsdk-linux/usr/share/ cmake-3.12/Modules/CMakeAfbTemplates/cmake/cmake.d/ 02-variables.cmake:98 (message): No homepage url found. Please set a PROJECT_URL cmake variable in your config.cmake. Call Stack (most recent call first): /xdt/sdk/sysroots/x86_64-aglsdk-linux/usr/share/cmake-3.12/Modules/ CMakeAfbTemplates/cmake/common.cmake:101 (include) /xdt/sdk/sysroots/x86_64-aglsdk-linux/usr/share/cmake-3.12/Modules/ CMakeAfbTemplates.cmake:19 (include) conf.d/cmake/config.cmake:158 (include) CMakeLists.txt:21 (include) Bug-AGL: SPEC-2804 Change-Id: Ib6d057f428cde13930d2db313cba8746d67410e4 Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
2019-09-05fix(test/CMakeLists.txt): make test wgt workLi Xiaoming1-1/+1
Bug-AGL: SPEC-2795 Change-Id: I1b48d229fd822aad96d81b98038817bdb897a122 Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
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>