[package] name = "examples" version.workspace = true license = "MIT" authors = ["Sebastian Dröge "] edition.workspace = true rust-version.workspace = true [dependencies] glib.workspace = true gst.workspace = true gst-gl = { workspace = true, optional = true } gst-gl-egl = { workspace = true, optional = true } gst-gl-x11 = { workspace = true, optional = true } gst-app.workspace = true gst-audio.workspace = true gst-base.workspace = true gst-video.workspace = true gst-pbutils.workspace = true gst-play = { workspace = true, optional = true } gst-player = { workspace = true, optional = true } ges = { workspace = true, optional = true } gst-sdp = { workspace = true, optional = true } gst-rtsp = { workspace = true, optional = true } gst-rtsp-server = { workspace = true, optional = true } gst-allocators = { workspace = true, optional = true } gio = { workspace = true, optional = true } anyhow = "1.0" byte-slice-cast = "1" cairo-rs = { workspace = true, features=["use_glib"], optional = true } derive_more = "0.99.5" futures = "0.3" # Since there's nothing Windows-specific to enable on gstreamer-rs, unconditionally enable glutin's WGL backend glutin = { version = "0.31", optional = true, default-features = false, features = ["wgl"] } glutin-winit = { version = "0.4", optional = true, default-features = false, features = ["wgl"] } image = { version = "0.24", optional = true, default-features = false, features = ["png", "jpeg"] } memfd = { version = "0.6", optional = true } memmap2 = { version = "0.9", optional = true } pango = { workspace = true, optional = true } pangocairo = { workspace = true, optional = true } raw-window-handle = { version = "0.5", optional = true } uds = { version = "0.4", optional = true } winit = { version = "0.29", optional = true, default-features = false, features = ["rwh_05"] } atomic_refcell = "0.1" data-encoding = "2.0" once_cell = "1" [target.'cfg(windows)'.dependencies] windows = { version = "0.58", features=["Win32_Graphics_Direct3D11", "Win32_Foundation", "Win32_Graphics_Direct3D", "Win32_Graphics_Dxgi", "Win32_Graphics_Dxgi_Common", "Win32_Graphics_Direct2D", "Win32_Graphics_Direct2D_Common", "Win32_Graphics_DirectWrite", "Win32_Graphics_Imaging", "Win32_System_Com", "Foundation_Numerics"], optional = true } [target.'cfg(target_os = "macos")'.dependencies] cocoa = "0.25" objc = "0.2.7" [build-dependencies] gl_generator = { version = "0.14", optional = true } [features] default = [] rtsp-server = ["gst-rtsp-server", "gst-rtsp", "gst-sdp"] rtsp-server-record = ["gst-rtsp-server", "gst-rtsp", "gio"] pango-cairo = ["pango", "pangocairo", "cairo-rs"] overlay-composition = ["pango", "pangocairo", "cairo-rs"] gl = ["dep:gst-gl", "dep:gl_generator", "dep:glutin", "dep:glutin-winit", "dep:winit", "dep:raw-window-handle"] gst-gl-x11 = ["dep:gst-gl-x11", "glutin-winit?/glx"] # glx turns on x11 gst-gl-egl = ["dep:gst-gl-egl", "glutin-winit?/egl", "glutin-winit?/x11", "glutin-winit?/wayland"] # Use X11 or Wayland via EGL allocators = ["gst-allocators", "memmap2", "memfd", "uds"] [[bin]] name = "appsink" [[bin]] name = "appsrc" [[bin]] name = "custom_events" [[bin]] name = "custom_meta" [[bin]] name = "decodebin" [[bin]] name = "debug_ringbuffer" [[bin]] name = "encodebin" [[bin]] name = "events" [[bin]] name = "iterator" [[bin]] name = "launch_glib_main" [[bin]] name = "launch" [[bin]] name = "transmux" [[bin]] name = "pad_probes" [[bin]] name = "play" required-features = ["gst-play"] [[bin]] name = "playbin" [[bin]] name = "player" required-features = ["gst-player"] [[bin]] name = "queries" [[bin]] name = "rtpfecclient" [[bin]] name = "rtpfecserver" [[bin]] name = "rtsp-server" required-features = ["rtsp-server"] [[bin]] name = "rtsp-server-subclass" required-features = ["rtsp-server"] [[bin]] name = "rtsp-server-custom-auth" required-features = ["rtsp-server", "gst-rtsp-server/v1_22"] [[bin]] name = "tagsetter" [[bin]] name = "toc" [[bin]] name = "futures" [[bin]] name = "glib-futures" [[bin]] name = "rtsp-server-record" required-features = ["rtsp-server-record"] [[bin]] name = "discoverer" [[bin]] name = "pango-cairo" required-features = ["pango-cairo"] [[bin]] name = "overlay-composition" required-features = ["overlay-composition"] [[bin]] name = "overlay-composition-d2d" required-features = ["windows"] [[bin]] name = "ges" required-features = ["ges"] [[bin]] name = "glwindow" required-features = ["gl"] [[bin]] name = "glfilter" required-features = ["gl"] [[bin]] name = "subclass" [[bin]] name = "video_converter" [[bin]] name = "thumbnail" required-features = ["image"] [[bin]] name = "fd_allocator" required-features = ["allocators"] [[bin]] name = "cairo_compositor" required-features = ["cairo-rs", "gst-video/v1_18"] [[bin]] name = "d3d11videosink" required-features = ["windows"] [[bin]] name = "audio_multichannel_interleave"