gstrsinter/
lib.rs

1// Copyright (C) 2023 Mathieu Duponchelle <mathieu@centricular.com>
2//
3// Take a look at the license at the top of the repository in the LICENSE file.
4#![allow(unused_doc_comments)]
5
6//! GStreamer elements for connecting pipelines in the same process
7
8mod sink;
9mod src;
10mod streamproducer;
11/**
12 * plugin-rsinter:
13 * @title: Rust inter elements
14 * @short_description: A set of elements for transferring data between pipelines
15 *
16 * This plugin exposes two elements, `intersink` and `intersrc`, that can be
17 * used to transfer data from one pipeline to multiple others in the same
18 * process.
19 *
20 * The elements are implemented using the `StreamProducer` API from
21 * gstreamer-utils.
22 *
23 * Since: plugins-rs-0.11.0
24 */
25use gst::glib;
26
27fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
28    sink::register(plugin)?;
29    src::register(plugin)?;
30
31    Ok(())
32}
33
34gst::plugin_define!(
35    rsinter,
36    env!("CARGO_PKG_DESCRIPTION"),
37    plugin_init,
38    concat!(env!("CARGO_PKG_VERSION"), "-", env!("COMMIT_ID")),
39    "MPL-2.0",
40    env!("CARGO_PKG_NAME"),
41    env!("CARGO_PKG_NAME"),
42    env!("CARGO_PKG_REPOSITORY"),
43    env!("BUILD_REL_DATE")
44);