Add devbox

This commit is contained in:
Wanjohi
2023-11-28 17:24:11 +03:00
parent f8a23501fa
commit afd3ab41b0
8 changed files with 769 additions and 385 deletions

8
.gitignore vendored
View File

@@ -1,3 +1,9 @@
/target
/moq-transport/target
/moq-transport/target
# Added by cargo
#
# already existing elements were commented out
#/target

49
Cargo.lock generated Normal file
View File

@@ -0,0 +1,49 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "cc"
version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
dependencies = [
"libc",
]
[[package]]
name = "libc"
version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
[[package]]
name = "openssl-sys"
version = "0.9.96"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f"
dependencies = [
"cc",
"libc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "pkg-config"
version = "0.3.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
[[package]]
name = "vcpkg"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "warp"
version = "0.1.0"
dependencies = [
"openssl-sys",
]

21
Cargo.toml Normal file
View File

@@ -0,0 +1,21 @@
[package]
name = "warp"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
url = "2"
gst = { package = "gstreamer", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", features = ["v1_18"] }
gst-base = { package = "gstreamer-base", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", features = ["v1_18"] }
gst-video = { package = "gstreamer-video", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", features = ["v1_18"] }
wayland-display-core = { path = "../wayland-display-core" }
moq-transport = { path = "../moq-transport" }
tracing = "0.1.37"
once_cell = "1.17.0"
tracing-subscriber = "0.3.16"
[[bin]]
name = "warp"
path = "main.rs"

1034
LICENSE

File diff suppressed because it is too large Load Diff

13
devbox.json Normal file
View File

@@ -0,0 +1,13 @@
{
"packages": ["rustup"],
"shell": {
"init_hook": [
"echo 'Welcome to devbox!' > /dev/null"
],
"scripts": {
"test": [
"echo \"Error: no test specified\" && exit 1"
]
}
}
}

9
devbox.lock Normal file
View File

@@ -0,0 +1,9 @@
{
"lockfile_version": "1",
"packages": {
"rustup": {
"resolved": "github:NixOS/nixpkgs/75a52265bda7fd25e06e3a67dee3f0354e73243c#rustup",
"source": "nixpkg"
}
}
}

View File

@@ -9,15 +9,11 @@ edition = "2021"
rust-version = "1.70"
[dependencies]
url = "2"
gst = { package = "gstreamer", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs" }
gst-base = { package = "gstreamer-base", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs" }
gst-video.workspace = true
gst-base = { package = "gstreamer-base", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs",features = ["v1_18"]}
gst-audio = { package = "gstreamer-audio", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs",features = ["v1_18"]}
gst-video = { package = "gstreamer-video", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs",features = ["v1_18"]}
wayland-display-core = { path = "../wayland-display-core" }
moq-transport = { path = "../moq-transport" }
tracing.workspace = true
once_cell.workspace = true
tracing-subscriber = "0.3.16"
# QUIC
quinn = "0.10"
@@ -37,7 +33,8 @@ path = "src/lib.rs"
[features]
static = []
capi = []
doc = ["gst/v1_18"]
doc = []
default = []
[package.metadata.capi]
min_version = "0.9.21"
@@ -51,4 +48,5 @@ versioning = false
import_library = false
[package.metadata.capi.pkg_config]
requires_private = "gstreamer-1.0, gstreamer-base-1.0, gobject-2.0, glib-2.0, gmodule-2.0"
requires_private = "gstreamer-1.0, gstreamer-base-1.0, gstreamer-audio-1.0, gstreamer-video-1.0, gobject-2.0, glib-2.0, gmodule-2.0"

View File

@@ -15,13 +15,13 @@
use gst::glib;
mod fmp4mux;
mod warpsink;
// mod warpsink;
mod waylandsrc;
fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
waylandsrc::register(plugin)?;
fmp4mux::register(plugin)?;
warpsink::register(plugin)?;
// warpsink::register(plugin)?;
Ok(())
}