Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'generic/inter/src/lib.rs')
-rw-r--r--generic/inter/src/lib.rs44
1 files changed, 44 insertions, 0 deletions
diff --git a/generic/inter/src/lib.rs b/generic/inter/src/lib.rs
new file mode 100644
index 000000000..93ed1c117
--- /dev/null
+++ b/generic/inter/src/lib.rs
@@ -0,0 +1,44 @@
+// Copyright (C) 2023 Mathieu Duponchelle <mathieu@centricular.com>
+//
+// Take a look at the license at the top of the repository in the LICENSE file.
+#![allow(unused_doc_comments)]
+
+//! GStreamer elements for connecting pipelines in the same process
+
+mod sink;
+mod src;
+mod streamproducer;
+/**
+ * plugin-rsinter:
+ * @title: Rust inter elements
+ * @short_description: A set of elements for transferring data between pipelines
+ *
+ * This plugin exposes two elements, `intersink` and `intersrc`, that can be
+ * used to transfer data from one pipeline to multiple others in the same
+ * process.
+ *
+ * The elements are implemented using the `StreamProducer` API from
+ * gstreamer-utils.
+ *
+ * Since: plugins-rs-0.11.0
+ */
+use gst::glib;
+
+fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
+ sink::register(plugin)?;
+ src::register(plugin)?;
+
+ Ok(())
+}
+
+gst::plugin_define!(
+ rsinter,
+ env!("CARGO_PKG_DESCRIPTION"),
+ plugin_init,
+ concat!(env!("CARGO_PKG_VERSION"), "-", env!("COMMIT_ID")),
+ "MPL-2.0",
+ env!("CARGO_PKG_NAME"),
+ env!("CARGO_PKG_NAME"),
+ env!("CARGO_PKG_REPOSITORY"),
+ env!("BUILD_REL_DATE")
+);