mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-11-25 04:51:26 +00:00
b16379d00b
similar to the non threadshare counterparts, the ts-udpsink can accept only one multicast interface and the ts-udpsrc can accept a list of interfaces to be listening on for the multicast. Use the getifaddrs crate to get the available network interfaces and filter the desired interfaces from the available interfaces Reuse a custom api written for PTP helper to join and leave multicast group for IPv4 based addresses. Continue to use the UdpSocket crate's _multicast_v6 to join/leave an IPv6 multicast group Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1420>
59 lines
1.3 KiB
Rust
59 lines
1.3 KiB
Rust
// Copyright (C) 2018 Sebastian Dröge <sebastian@centricular.com>
|
|
//
|
|
// Take a look at the license at the top of the repository in the LICENSE file.
|
|
#![allow(clippy::non_send_fields_in_send_ty, unused_doc_comments)]
|
|
|
|
//! A collection of GStreamer plugins which leverage the `threadshare` [`runtime`].
|
|
//!
|
|
//! [`runtime`]: runtime/index.html
|
|
|
|
/**
|
|
* plugin-threadshare:
|
|
*
|
|
* Since: plugins-rs-0.4.0
|
|
*/
|
|
|
|
#[macro_use]
|
|
pub mod runtime;
|
|
|
|
mod appsrc;
|
|
mod audiotestsrc;
|
|
pub mod dataqueue;
|
|
mod inputselector;
|
|
mod jitterbuffer;
|
|
mod proxy;
|
|
mod queue;
|
|
pub mod socket;
|
|
mod tcpclientsrc;
|
|
mod udpsink;
|
|
mod udpsrc;
|
|
|
|
pub mod net;
|
|
|
|
use gst::glib;
|
|
|
|
fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
|
|
appsrc::register(plugin)?;
|
|
audiotestsrc::register(plugin)?;
|
|
inputselector::register(plugin)?;
|
|
jitterbuffer::register(plugin)?;
|
|
proxy::register(plugin)?;
|
|
queue::register(plugin)?;
|
|
tcpclientsrc::register(plugin)?;
|
|
udpsink::register(plugin)?;
|
|
udpsrc::register(plugin)?;
|
|
|
|
Ok(())
|
|
}
|
|
|
|
gst::plugin_define!(
|
|
threadshare,
|
|
env!("CARGO_PKG_DESCRIPTION"),
|
|
plugin_init,
|
|
concat!(env!("CARGO_PKG_VERSION"), "-", env!("COMMIT_ID")),
|
|
"LGPL",
|
|
env!("CARGO_PKG_NAME"),
|
|
env!("CARGO_PKG_NAME"),
|
|
env!("CARGO_PKG_REPOSITORY"),
|
|
env!("BUILD_REL_DATE")
|
|
);
|