[package] name = "gst-plugin-webrtc" version.workspace = true edition.workspace = true authors = ["Mathieu Duponchelle ", "Thibault Saunier "] license = "MPL-2.0" description = "GStreamer plugin for high level WebRTC elements and a simple signaling server" repository.workspace = true rust-version.workspace = true [dependencies] gst = { workspace = true, features = ["v1_20", "serde"] } gst-app = { workspace = true, features = ["v1_20"] } gst-video = { workspace = true, features = ["v1_20", "serde"] } gst-webrtc = { workspace = true, features = ["v1_20"] } gst-sdp = { workspace = true, features = ["v1_20"] } gst-rtp = { workspace = true, features = ["v1_20"] } gst-utils.workspace = true gst-base.workspace = true uuid = { version = "1", features = ["v4"] } anyhow = "1" thiserror = "1" futures = "0.3" tokio = { version = "1", features = ["fs", "macros", "rt-multi-thread", "time"] } tokio-native-tls = "0.3.0" tokio-stream = "0.1.11" async-tungstenite = { version = "0.25", features = ["tokio-runtime", "tokio-native-tls"] } serde = { version = "1", features = ["derive"] } serde_json = "1" fastrand = "2.0" gst_plugin_webrtc_protocol = { path="protocol", package = "gst-plugin-webrtc-signalling-protocol", version = "0.12" } human_bytes = "0.4" url = "2" aws-config = "1.0" aws-types = "1.0" aws-credential-types = "1.0" aws-sigv4 = "1.0" aws-smithy-http = { version = "0.60", features = [ "rt-tokio" ] } aws-smithy-types = "1.0" aws-sdk-kinesisvideo = "1.0" aws-sdk-kinesisvideosignaling = "1.0" http = "1.0" chrono = "0.4" data-encoding = "2.3.3" url-escape = "0.1.1" regex = "1" reqwest = { version = "0.11", features = ["default-tls"] } parse_link_header = {version = "0.3", features = ["url"]} async-recursion = "1.0.0" livekit-protocol = { version = "0.3" } livekit-api = { version = "0.3", default-features = false, features = ["signal-client", "access-token", "native-tls"] } warp = "0.3" crossbeam-channel = "0.5" rand = "0.8" once_cell.workspace = true [dev-dependencies] tracing = { version = "0.1", features = ["log"] } tracing-subscriber = { version = "0.3", features = ["registry", "env-filter"] } tracing-log = "0.2" clap = { version = "4", features = ["derive"] } [lib] name = "gstrswebrtc" crate-type = ["cdylib", "rlib"] path = "src/lib.rs" [build-dependencies] gst-plugin-version-helper.workspace = true [features] default = ["v1_22"] static = [] capi = [] v1_22 = ["gst/v1_22", "gst-app/v1_22", "gst-video/v1_22", "gst-webrtc/v1_22", "gst-sdp/v1_22", "gst-rtp/v1_22"] doc = [] [package.metadata.capi] min_version = "0.9.21" [package.metadata.capi.header] enabled = false [package.metadata.capi.library] install_subdir = "gstreamer-1.0" versioning = false import_library = false [package.metadata.capi.pkg_config] requires_private = "gstreamer-rtp-1.0 >= 1.20, gstreamer-webrtc-1.0 >= 1.20, gstreamer-1.0 >= 1.20, gstreamer-app-1.0 >= 1.20, gstreamer-video-1.0 >= 1.20, gstreamer-sdp-1.0 >= 1.20, gobject-2.0, glib-2.0, gmodule-2.0" [[example]] name = "webrtcsink-stats-server" [[example]] name = "webrtcsink-high-quality-tune" [[example]] name = "webrtcsink-custom-signaller"