@@ -8,7 +8,7 @@ GStreamer plugins collection for building Dolby Home Audio media pipeline.
88## Dependencies
99 - [ Python] ( https://python.org ) 3.5 or later
1010 - [ Ninja] ( https://ninja-build.org ) 1.7 or later
11- - [ Meson] ( https://mesonbuild.com/ ) 0.54 or later
11+ - [ Meson] ( https://mesonbuild.com/ ) 0.58 or later
1212 - [ GStreamer] ( https://gstreamer.freedesktop.org/ ) 1.16.2 or later
1313 - more, see building section...
1414
@@ -45,8 +45,8 @@ $ ninja -C build
4545
4646### Windows
4747Support for Windows is enabled via [ MSYS2] ( https://www.msys2.org/ ) . Follow
48- instructions on [ MSYS2 install page] ( https://www.msys2.org/ ) . You should have
49- the gcc toolchain on MSYS environment.
48+ instructions on [ MSYS2 install page] ( https://www.msys2.org/#installation ) .
49+ You should have the gcc toolchain on MSYS environment.
5050
5151** Note:** * Run ` MSYS2 MinGW 64-bit ` .*
5252
@@ -58,13 +58,14 @@ $ pacman -S mingw-w64-x86_64-meson mingw-w64-x86_64-ninja
5858Install the GStreamer dependencies (required to build plugins):
5959``` console
6060$ pacman -S mingw-w64-x86_64-gstreamer mingw-w64-x86_64-gst-plugins-base \
61- mingw-w64-x86_64-json-glib mingw-w64-x86_64-gst-python
61+ mingw-w64-x86_64-gst-plugins-good mingw-w64-x86_64-json-glib \
62+ mingw-w64-x86_64-gst-python
6263```
6364
6465Install some useful plugins (optional)
6566``` console
66- $ pacman -S mingw-w64-x86_64-gst-plugins-good mingw-w64-x86_64-gst-plugins-bad \
67- mingw-w64-x86_64-gst-plugins-ugly mingw-w64-x86_64-gst- libav
67+ $ pacman -S mingw-w64-x86_64-gst-plugins-bad mingw-w64-x86_64-gst-plugins-ugly \
68+ mingw-w64-x86_64-gst-libav
6869```
6970
7071Build and install
@@ -91,7 +92,8 @@ $ ninja -C build
9192
9293## Building from source
9394GStreamer and the plugins can be built from source by using
94- [ gst-build] ( https://gitlab.freedesktop.org/gstreamer/gst-build ) .
95+ [ gst-build] ( https://gitlab.freedesktop.org/gstreamer/gst-build ) , or starting
96+ from GStreamer 1.20, [ GStreamer mono repo] ( https://gitlab.freedesktop.org/gstreamer/gstreamer ) .
9597
9698Install ` meson ` and ` ninja ` as instructed in the [ Linux] ( #linux ) and
9799[ Windows] ( #windows ) sections above.
@@ -180,13 +182,33 @@ configuration files: a stream configuration file, and a device configuration
180182file.
181183** Note:** * The configuration files are generated by a propietary tool.*
182184
183- To decode a bitstream, type
185+ To decode a bitstream, type:
184186``` console
185187$ ./gst-ha-flexr -i input.ec3 -s stream.conf -d device.dconf -o output.wav
186188```
189+ #### Playback
190+ Playback is supported on Windows, Linux and macOS. Note that 48kHz output is required, and macOS supports playback up to eight channels only.
191+
192+ ** Note:** * This feature is mutually exclusive with decoding to file.*
193+
194+ To decode and play a bitstream, type:
195+ ``` console
196+ $ ./gst-ha-flexr -i input.ec3 -s stream.conf -d device.dconf -p
197+ ```
198+ First the command invokes the device selection menu to allow a user to choose a target device.
199+ ** Note:** * Device selection menu is not available on macOS, audio will be played to default device.*
200+
201+ To decode and play a bitstream directly on a device, type:
202+ ``` console
203+ $ ./gst-ha-flexr -i input.ec3 -s stream.conf -d device.dconf -p < device id>
204+ ```
205+ It will skip device selection menu and start playback immediately. Running ` gst-device-monitor-1.0 ` will show all connected devices with their ids.\
206+ ** On macOS, the feature is not supported.**
207+
208+ ** Note:** * On Linux, ensure that your device id is correct so that a pipeline does not get stuck*
187209
188210### gst-ha-dap
189- This integration binary wraps the following plugins:
211+ The integration binary wraps the following plugins:
190212``` console
191213filesrc ! dlbaudiodecbin ! dlbdap ! wavenc ! filesink
192214```
0 commit comments