Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CODEOWNERS

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 16 additions & 3 deletions README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions recipe/install_rtsp_server.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
@ECHO ON

:: set pkg-config path so that host deps can be found
:: (set as env var so it's used by both meson and during build with g-ir-scanner)
set "PKG_CONFIG_PATH=%LIBRARY_LIB%\pkgconfig;%LIBRARY_PREFIX%\share\pkgconfig;%BUILD_PREFIX%\Library\lib\pkgconfig"

:: get mixed path (forward slash) form of prefix so host prefix replacement works
set "LIBRARY_PREFIX_M=%LIBRARY_PREFIX:\=/%"

cd rtsp_server

%BUILD_PREFIX%\Scripts\meson.exe setup builddir --wrap-mode=nofallback --buildtype=release --prefix=%LIBRARY_PREFIX_M% --backend=ninja -Dexamples=disabled -Dintrospection=enabled -Dtests=disabled -Dc_link_args=intl.dll.lib
if errorlevel 1 exit 1

ninja -v -C builddir -j %CPU_COUNT%
if errorlevel 1 exit 1

ninja -C builddir install -j %CPU_COUNT%
if errorlevel 1 exit 1

del %LIBRARY_PREFIX%\bin\*.pdb
32 changes: 32 additions & 0 deletions recipe/install_rtsp_server.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash

set -ex

pushd rtsp_server

mkdir build
pushd build

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$PREFIX/lib/pkgconfig:$BUILD_PREFIX/lib/pkgconfig
EXTRA_FLAGS="-Dintrospection=enabled"
if [[ $CONDA_BUILD_CROSS_COMPILATION == "1" ]]; then
# Use Meson cross-file flag to enable cross compilation
EXTRA_FLAGS="--cross-file $BUILD_PREFIX/meson_cross_file.txt -Dintrospection=disabled"
fi

export PKG_CONFIG=$(which pkg-config)

meson_options=(
-Dexamples=disabled
-Dtests=disabled
)

meson --prefix=${PREFIX} \
--libdir=$PREFIX/lib \
--buildtype=release \
$EXTRA_FLAGS \
--wrap-mode=nofallback \
"${meson_options[@]}" \
..
ninja -j${CPU_COUNT}
ninja install
60 changes: 58 additions & 2 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ package:
source:
- url: https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-{{ version }}.tar.xz
sha256: 18a5e214114dc501407697dd458514bba62cadd5414c60f793cf70141a4d0bb3
- url: https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-{{ version }}.tar.xz
sha256: 4f234594aea692e3c1bfaa969965039aaf7483bdfc5862b31d614a59e6718abf
folder: rtsp_server
- url: https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-{{ version }}.tar.xz
sha256: 969e3cbf05dfab92cf37e94840fbe398517d7ba3275331d1c216a2e30a7208d0
folder: plugins_base
Expand Down Expand Up @@ -153,7 +156,60 @@ outputs:
GStreamer Base Plug-ins is a well-groomed and well-maintained collection of
GStreamer plug-ins and elements, spanning the range of possible types of
elements one would want to write for GStreamer.
doc_source_url: https://github.com/GStreamer/gst-plugins-base/tree/master/docs
doc_source_url: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/tree/main/subprojects/gst-plugins-base/docs
license: LGPL-2.0-or-later
license_file: COPYING

- name: gst-rtsp-server
script: install_rtsp_server.sh # [unix]
script: install_rtsp_server.bat # [win]
build:
activate_in_script: true
ignore_run_exports:
# we need cross-python to build, but this isn't a python package
- python # [build_platform != target_platform]
- python_abi # [build_platform != target_platform]
run_exports:
- {{ pin_subpackage('gst-rtsp-server', max_pin='x.x') }}
requirements:
build:
- {{ compiler('c') }}
- {{ stdlib('c') }}
- {{ compiler('cxx') }}
- pkg-config
- meson
- ninja
- gettext-tools
- gobject-introspection
- cross-python_{{ target_platform }} 3.10 # [build_platform != target_platform]
host:
- python 3.10 # [build_platform != target_platform]
- {{ pin_subpackage('gstreamer', exact=True) }}
- {{ pin_subpackage('gst-plugins-base', exact=True) }}
- glib
- libintl-devel # [not linux]
- libiconv
- zlib
run:
- {{ pin_subpackage('gstreamer', exact=True) }}
- {{ pin_subpackage('gst-plugins-base', exact=True) }}
- libsoup # [not ppc64le]
- glib-networking # [not ppc64le]

test:
commands:
- test -f $PREFIX/include/gstreamer-1.0/gst/rtsp-server/rtsp-server.h # [unix]
- test -f $PREFIX/lib/libgstrtspserver-1.0${SHLIB_EXT} # [unix]
- test -f $PREFIX/lib/gstreamer-1.0/libgstrtspclientsink${SHLIB_EXT} # [unix]
- if not exist %LIBRARY_INC%\\gstreamer-1.0\\gst\\rtsp-server\\rtsp-server.h # [win]
- if not exist %LIBRARY_LIB%\\libgstrtspserver-1.0.dll # [win]
- if not exist %LIBRARY_LIB%\\libgstrtspclientsink.dll # [win]
- gst-inspect-1.0 --plugin rtspclientsink
about:
summary: GStreamer RTSP Server
description: |
GStreamer RTSP Server is a library on top of GStreamer for building an RTSP server.
doc_source_url: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/tree/main/subprojects/gst-rtsp-server/docs
license: LGPL-2.0-or-later
license_file: COPYING

Expand Down Expand Up @@ -245,7 +301,7 @@ outputs:
all: good looks, good code, and good licensing. Documented and
dressed up in tests. If you're looking for a role model to
base your own plug-in on here it is.
doc_source_url: https://github.com/GStreamer/gst-plugins-good/tree/master/docs
doc_source_url: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/tree/main/subprojects/gst-plugins-good/docs
license: LGPL-2.0-or-later
license_file: COPYING

Expand Down
Loading