Skip to content

Commit 32447e8

Browse files
author
Tomasz Andrzejak
committed
Release 0.9.3
1 parent 99988ca commit 32447e8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+6616
-714
lines changed

COPYING

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Dolby Home Audio GStreamer Plugins
2-
Copyright (C) 2020-2021, Dolby Laboratories
2+
Copyright (C) 2020-2022, Dolby Laboratories
33

44
This library is free software; you can redistribute it and/or
55
modify it under the terms of the GNU Lesser General Public

README.md

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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
4747
Support 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
5858
Install 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

6465
Install 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

7071
Build and install
@@ -91,7 +92,8 @@ $ ninja -C build
9192

9293
## Building from source
9394
GStreamer 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

9698
Install `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
180182
file.
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
191213
filesrc ! dlbaudiodecbin ! dlbdap ! wavenc ! filesink
192214
```

config.h.in

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*******************************************************************************
22
33
* Dolby Home Audio GStreamer Plugins
4-
* Copyright (C) 2020-2021, Dolby Laboratories
4+
* Copyright (C) 2020-2022, Dolby Laboratories
55
66
* This library is free software; you can redistribute it and/or
77
* modify it under the terms of the GNU Lesser General Public
@@ -33,26 +33,31 @@
3333

3434
#mesondefine HAVE_WINAPI
3535

36+
#mesondefine DLB_AUDIO_PARSER_LIBNAME
3637
#mesondefine DLB_AUDIO_PARSER_OPEN_DYNLIB
3738
#ifdef DLB_AUDIO_PARSER_OPEN_DYNLIB
3839
OPEN_DYNLIB_FUN(dlb_audio_parser)
3940
#endif
4041

42+
#mesondefine DLB_FLEXR_LIBNAME
4143
#mesondefine DLB_FLEXR_OPEN_DYNLIB
4244
#ifdef DLB_FLEXR_OPEN_DYNLIB
4345
OPEN_DYNLIB_FUN(dlb_flexr)
4446
#endif
4547

48+
#mesondefine DLB_DAP_LIBNAME
4649
#mesondefine DLB_DAP_OPEN_DYNLIB
4750
#ifdef DLB_DAP_OPEN_DYNLIB
4851
OPEN_DYNLIB_FUN(dlb_dap)
4952
#endif
5053

54+
#mesondefine DLB_OAR_LIBNAME
5155
#mesondefine DLB_OAR_OPEN_DYNLIB
5256
#ifdef DLB_OAR_OPEN_DYNLIB
5357
OPEN_DYNLIB_FUN(dlb_oar)
5458
#endif
5559

60+
#mesondefine DLB_UDC_LIBNAME
5661
#mesondefine DLB_UDC_OPEN_DYNLIB
5762
#ifdef DLB_UDC_OPEN_DYNLIB
5863
OPEN_DYNLIB_FUN(dlb_udc)

docker/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2424
gstreamer1.0-plugins-good \
2525
libgtest-dev \
2626
libjson-glib-dev \
27-
ssh
27+
ssh \
28+
valgrind\
29+
wget
2830

2931
RUN pip3 install --no-cache-dir meson
3032

integration/frontend-flexr.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ def main():
1919

2020
settings = create_settings(args)
2121
run_pipeline(os.path.abspath(plugin_path),
22-
settings,
23-
args.pipeline_graph)
22+
settings)
2423

2524

2625
if __name__ == '__main__':

integration/gst_ha_dap/interface.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
VERSION_MAJOR = 0
1313
VERSION_MINOR = 9
14-
VERSION_BUGFIX = 1
14+
VERSION_BUGFIX = 3
1515

1616
PREAMBLE = """
1717
Dolby Atmos for home audio executable

0 commit comments

Comments
 (0)