ondemandnavi: add patches for pipewire and running as non-root 62/21762/1 7.99.2 halibut/7.99.2 halibut_7.99.2
authorScott Murray <scott.murray@konsulko.com>
Thu, 27 Jun 2019 01:04:24 +0000 (21:04 -0400)
committerScott Murray <scott.murray@konsulko.com>
Thu, 27 Jun 2019 01:09:36 +0000 (21:09 -0400)
Changes include:
* Add a patch to replace the use of 4A via 4a-play with just using
  ALSA via a gst-launch pipeline.  gstreamer is used to provide the
  flexibility to easily switch to a pipewire output sink and likely
  add back setting a role via a property.
* Add a patch to set the new audio and display permissions for running
  as non-root.

These patches should be removed when they get upstream.

Bug-AGL: SPEC-2576

Change-Id: I5d24bb7c1d263a664d1c924f01d118d6d351d232
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
recipes-demo-hmi/navigation/ondemandnavi/0001-switch-to-alsa-output.patch [new file with mode: 0644]
recipes-demo-hmi/navigation/ondemandnavi/0002-update-permissions.patch [new file with mode: 0644]
recipes-demo-hmi/navigation/ondemandnavi_git.bb [changed mode: 0755->0644]

diff --git a/recipes-demo-hmi/navigation/ondemandnavi/0001-switch-to-alsa-output.patch b/recipes-demo-hmi/navigation/ondemandnavi/0001-switch-to-alsa-output.patch
new file mode 100644 (file)
index 0000000..a93e8f9
--- /dev/null
@@ -0,0 +1,34 @@
+ondemandnavi: Switch to ALSA output
+
+Update the talk scripts to use ALSA output via gst-launch-1.0 instead
+of 4A's 4a-play.  gstreamer is used since it is likely that a further
+revision will change to a pipewire output sink and add back setting a
+role property.
+
+Upstream-Status: pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+diff --git a/package/flite b/package/flite
+index 4c17b80..c837149 100755
+--- a/package/flite
++++ b/package/flite
+@@ -1,5 +1,4 @@
+ #!/bin/sh
+ TMP=/tmp/navi.wav
+ echo "$1" | flite_hts_engine -m  /usr/share/Voice/us/cmu_us_arctic_slt.htsvoice -o $TMP
+-4a-play $TMP hw:0,0,3 navigation
+-
++gst-launch-1.0 filesrc location=$TMP ! decodebin ! audioconvert ! audioresample ! alsasink
+diff --git a/package/jtalk b/package/jtalk
+index ed82281..c075317 100755
+--- a/package/jtalk
++++ b/package/jtalk
+@@ -1,6 +1,4 @@
+ #!/bin/sh
+ TMP=/tmp/navi.wav
+ echo "$1" | open_jtalk -ow $TMP -m /usr/share/Voice/mei/mei_normal.htsvoice -x /usr/share/dic/
+-4a-play $TMP hw:0,0,3 navigation
+-
+-
++gst-launch-1.0 filesrc location=$TMP ! decodebin ! audioconvert ! audioresample ! alsasink
diff --git a/recipes-demo-hmi/navigation/ondemandnavi/0002-update-permissions.patch b/recipes-demo-hmi/navigation/ondemandnavi/0002-update-permissions.patch
new file mode 100644 (file)
index 0000000..cff5fa9
--- /dev/null
@@ -0,0 +1,22 @@
+ondemandnavi: Update permissions
+
+Add the new display and audio permissions required with the change to
+running as non-root.
+
+Upstream-Status: pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+diff --git a/package/config.xml b/package/config.xml
+index ae5c1f6..10b2d99 100755
+--- a/package/config.xml
++++ b/package/config.xml
+@@ -13,6 +13,8 @@
+   <feature name="urn:AGL:widget:required-permission">
+     <param name="urn:AGL:permission::public:no-htdocs" value="required"/>
+     <param name="http://tizen.org/privilege/internal/dbus" value="required"/>
++    <param name="urn:AGL:permission::public:display" value="required" />
++    <param name="urn:AGL:permission::public:audio" value="required" />
+   </feature>
+ </widget>
old mode 100755 (executable)
new mode 100644 (file)
index 1e85ef4..6cc2681
@@ -9,6 +9,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
 inherit qmake5 aglwgt pkgconfig
 
 SRC_URI = "git://github.com/YoshitoMomiyama/aglqtnavigation.git;branch=master \
+           file://0001-switch-to-alsa-output.patch \
+           file://0002-update-permissions.patch \
            file://org.agl.naviapi.conf \
            "
 SRCREV  = "a6930c2dff988e45e18f91a2368d829c08942b30"
@@ -20,7 +22,9 @@ DEPENDS += " qtbase qtquickcontrols2 \
            "
 
 RDEPENDS_${PN} += " qtlocation \
-                    flite openjtalk \
+                    flite \
+                    openjtalk \
+                    gstreamer1.0 \
                     ondemandnavi-config \
                   "