summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJooncheol Park <jooncheol.park@windriver.com>2015-04-16 02:57:31 +0900
committerJooncheol Park <jooncheol.park@windriver.com>2015-04-16 02:57:31 +0900
commitac6e18e8110f3e98c6dde723138c5bc1a97ca286 (patch)
tree96d2e02ec50ee0423a492485a1dfa1460bc4b99b
parent7d989b3024428e47a7514d224d65e5209cdb7241 (diff)
downloadaudiomanagerdemo-ac6e18e8110f3e98c6dde723138c5bc1a97ca286.tar.gz
update README
-rw-r--r--README102
1 files changed, 90 insertions, 12 deletions
diff --git a/README b/README
index 3f5f928..62589f1 100644
--- a/README
+++ b/README
@@ -1,16 +1,94 @@
-Audio Manager Monitor
-=====================
+=========================================
+AM Monitor (GENIVI Audio Manager Monitor)
+=========================================
-Author: JoonCheol Park <jooncheol.park@windriver.com>
- Daewon Park <daewon.park@windriver.com>
+Authors: JoonCheol Park <jooncheol.park@windriver.com>
+ Daewon Park <daewon.park@windriver.com>
-Build Instruction
-=================
-[build on Ubuntu 14.04]
- $ qtchooser -run-tool=qmake -qt=qt5 INCLUDEPATH=$PREFIX-OF-AM/include
- $ make
+Introduction
+------------
-[Run on Ubuntu 14.04]
- $ . pc-env # for testing audio environment
- $ ./AudioManagerMonitor
+The AM Monitor shows to working flow of the AM. In this demo, we use the AM with 2 Plugins for PulseAudio and Audio Policy Control. When we play the audio in this app, we can see the internal status of connections in AM and status of the PulseAudio.
+
+
+Dependencies
+------------
+
+- Audio Manager (branch Intreprid_stable_branch, Version 6.1)
+ + 2 patches for PulseAudio Routing Plugin and Audio Policy Control Plugin
+ (http://git.projects.genivi.org/?p=meta-genivi-demo.git;a=tree;f=recipes-multimedia/audiomanager/audiomanager;h=f134ecaf6190ec272bd6136ee88f0e86a8b86047;hb=HEAD)
+- PulseAudio
+- DBus
+- Qt5
+
+
+Build Instruction for Ubuntu 14.04 PC
+-------------------------------------
+
+- Build Audio Manager + 2 patches
+
+ $ git clone git://git.projects.genivi.org/AudioManager.git
+ $ curl "http://git.projects.genivi.org/?p=meta-genivi-demo.git;a=blob_plain;f=recipes-multimedia/audiomanager/audiomanager/0001-Porting-Pulse-Routing-Interface-from-AM-v1.x-to-AM-v.patch;h=7d6ebbf710d0a0d46d99797f5ef6dd3712a888fe;hb=HEAD" > 0001-Porting-Pulse-Routing-Interface-from-AM-v1.x-to-AM-v.patch
+ $ curl "http://git.projects.genivi.org/?p=meta-genivi-demo.git;a=blob_plain;f=recipes-multimedia/audiomanager/audiomanager/0001-Porting-Pulse-Control-Interface-from-AM-v1.x-to-AM-v.patch;hb=HEAD" > 0001-Porting-Pulse-Control-Interface-from-AM-v1.x-to-AM-v.patch
+ $ cd AudioManager
+ $ patch -p1 < ../0001-Porting-Pulse-Routing-Interface-from-AM-v1.x-to-AM-v.patch
+ $ patch -p1 < ../0001-Porting-Pulse-Control-Interface-from-AM-v1.x-to-AM-v.patch
+ $ mkdir build
+ $ cd build
+ $ cmake -DWITH_PULSE_ROUTING_PLUGIN=ON -DWITH_PULSE_CONTROL_PLUGIN=ON -DWITH_ENABLED_IPC=DBUS -DWITH_DATABASE_STORAGE=ON -DWITH_DLT=OFF -DCMAKE_INSTALL_PREFIX=(PREFIX on your dev environment) ..
+ $ make
+ $ make install
+
+- Build AM Monitor
+
+ $ git clone git://git.projects.genivi.org/AudioManagerDemo.git
+ $ qmake
+ or
+ $ qmake INCLUDEPATH=(PREFIX-OF-AM)/include
+ $ make
+
+
+Running AM Monitor on Ubuntu 14.04 PC
+-------------------------------------
+
+1. Set testing environment
+
+ $ . pc-env
+
+ This script creates 2 virtual sink device for PulseAudio Daemon. You can check with "pacmd list-sinks". If you want to remove created sink device, execute 'deactivate' on the shell
+
+2. Execute AM
+
+ $ AudioManager -V -c(PREFIX-OF-AM)/lib/audioManager/control/libPluginControlInterface.so -l(PREFIX-OF-AM)/lib/audioManager/command/ -r(PREFIX-OF-AM)/lib/audioManager/routing/
+
+3. Execute AM Monitor
+
+ $ ./AudioManagerMonitor --debug
+
+ If you don't use any argument, AM Monitor will be running as fullscreen mode. Please refer the usage with "--help" option.
+
+
+Audio Policy Rule Configuration example
+----------------------------------------
+
+- Preset of AM Sources and Sinks
+ (PREFIX-OF-AM)/lib/audiomanager/routing/libPluginRoutingInterfacePULSE.conf
+ It defines 5 preset of AM Sources - Entertainment, Navigation, TTS ...
+- Policy Rule
+ (PREFIX-OF-AM)/lib/audiomanager/control/libPluginControlInterface.conf
+ It defines audio policy scenario. E.g - When play the NAVI sound alert during Media playing, Sink Volume of previous Media goes down to 50%.
+
+
+To do items
+------------
+
+- AM Monitor
+ - Use CommonAPI for command interface in AM Monitor App
+
+- AM Plugins
+ - Enhance the Routing Plugin for PulseAudio
+ - Implement missing code for all Routing Plugin APIs
+ - Enhance the configuration syntax
+ - Enhance the Conrol Plugin for Audio Policy
+ - More flexible and programmable audio policy configuration using JavaScript