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