[package]
name = "examples"
version = "0.20.0"
license = "MIT"
authors = ["Sebastian Dröge <sebastian@centricular.com>"]
edition = "2021"
rust-version = "1.64"

[dependencies]
glib = { git = "https://github.com/gtk-rs/gtk-rs-core" }
gst = { package = "gstreamer", path = "../gstreamer" }
gst-gl = { package = "gstreamer-gl", path = "../gstreamer-gl", optional = true }
gst-gl-egl = { package = "gstreamer-gl-egl", path = "../gstreamer-gl/egl", optional = true }
gst-gl-wayland = { package = "gstreamer-gl-wayland", path = "../gstreamer-gl/wayland", optional = true }
gst-gl-x11 = { package = "gstreamer-gl-x11", path = "../gstreamer-gl/x11", optional = true }
gst-app = { package = "gstreamer-app", path = "../gstreamer-app" }
gst-audio = { package = "gstreamer-audio", path = "../gstreamer-audio" }
gst-base = { package = "gstreamer-base", path = "../gstreamer-base" }
gst-video = { package = "gstreamer-video", path = "../gstreamer-video" }
gst-pbutils = { package = "gstreamer-pbutils", path = "../gstreamer-pbutils" }
gst-play = { package = "gstreamer-play", path = "../gstreamer-play", optional = true }
gst-player = { package = "gstreamer-player", path = "../gstreamer-player", optional = true }
ges = { package = "gstreamer-editing-services", path = "../gstreamer-editing-services", optional = true }
gst-sdp = { package = "gstreamer-sdp", path = "../gstreamer-sdp", optional = true }
gst-rtsp = { package = "gstreamer-rtsp", path = "../gstreamer-rtsp", optional = true }
gst-rtsp-server = { package = "gstreamer-rtsp-server", path = "../gstreamer-rtsp-server", optional = true }
gst-allocators = { package = "gstreamer-allocators", path = "../gstreamer-allocators", optional = true }
gtk = { git = "https://github.com/gtk-rs/gtk3-rs", optional = true }
gdk = { git = "https://github.com/gtk-rs/gtk3-rs", optional = true }
gio = { git = "https://github.com/gtk-rs/gtk-rs-core", optional = true }
anyhow = "1.0"
derive_more = "0.99.5"
futures = "0.3"
byte-slice-cast = "1"
cairo-rs = { git = "https://github.com/gtk-rs/gtk-rs-core", features=["use_glib"], optional = true }
pango = { git = "https://github.com/gtk-rs/gtk-rs-core", optional = true }
pangocairo = { git = "https://github.com/gtk-rs/gtk-rs-core", optional = true }
glutin = { version = "0.29", optional = true }
once_cell = "1.0"
image = { version = "0.24", optional = true }
memmap2 = { version = "0.5", optional = true }
memfd = { version = "0.6", optional = true }
uds = { version = "0.2", optional = true }

[target.'cfg(windows)'.dependencies]
windows = { version = "0.44", 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",
    "Foundation_Numerics"], optional = true }

[target.'cfg(target_os = "macos")'.dependencies]
cocoa = "0.24"

[build-dependencies]
gl_generator = { version = "0.14", optional = true }

[features]
default = []
gtksink = ["gtk", "gio"]
gtkvideooverlay = ["gtk", "gdk", "gio"]
gtkvideooverlay-x11 = ["gtkvideooverlay"]
gtkvideooverlay-quartz = ["gtkvideooverlay"]
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 = ["gst-gl", "gl_generator", "glutin"]
gst-gl-x11 = ["dep:gst-gl-x11"]
gst-gl-egl = ["dep:gst-gl-egl"]
gst-gl-wayland = ["dep:gst-gl-wayland"]
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 = "gtksink"
required-features = ["gtksink"]

[[bin]]
name = "gtkvideooverlay"
required-features = ["gtkvideooverlay"]

[[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 = "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 = "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"]
