| | 354 | [=#building] |
| | 355 | == Building GStreamer from source |
| | 356 | GStreamer has recently converted to a single repository which made things much easier to build. |
| | 357 | |
| | 358 | Example building on Ubuntu 20.04 Focal: |
| | 359 | * build |
| | 360 | {{{#!bash |
| | 361 | # install a few dependencies |
| | 362 | sed -i "s/# deb-src/deb-src/" /etc/apt/sources.list |
| | 363 | apt update |
| | 364 | apt build-dep gstreamer1.0-plugins-good |
| | 365 | apt build-dep gstreamer1.0-plugins-bad |
| | 366 | apt build-dep gstreamer1.0-plugins-ugly |
| | 367 | apt install git python3-pip flex bison ninja-build |
| | 368 | # meson version on Ubuntu focal is too old...download a local one |
| | 369 | apt purge meson |
| | 370 | apt install python3-pip |
| | 371 | pip3 install --user meson |
| | 372 | PATH=~/.local/bin:$PATH |
| | 373 | # clone repo |
| | 374 | git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git |
| | 375 | cd gstreamer |
| | 376 | # create Makefiles with meson to build with objects in 'build' subdir |
| | 377 | meson build |
| | 378 | # use ninja to build in 'build' subdir |
| | 379 | ninja -C build |
| | 380 | # use ninja to create a development environment to use locally without installing |
| | 381 | ninja -C build devenv |
| | 382 | }}} |
| | 383 | - to reconfigure use 'meson build --reconfigure' |
| | 384 | |