gst-plugins-rs/net/hlssink3/src/lib.rs
Sanchayan Maity 1fc80c288d net/hlssink3: Add hlssink4
`hlssink4` adds support for the following as per RFC 8216

- Multivariant/master playlist
- Alternate Renditions
- Variant Streams
2024-04-10 11:13:06 +05:30

52 lines
1.3 KiB
Rust

// Copyright (C) 2021 Rafael Caricio <rafael@caricio.com>
//
// This Source Code Form is subject to the terms of the Mozilla Public License, v2.0.
// If a copy of the MPL was not distributed with this file, You can obtain one at
// <https://mozilla.org/MPL/2.0/>.
//
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty, unused_doc_comments)]
/**
* plugin-hlssink:
*
* Since: plugins-rs-0.8.0
*/
use gst::glib;
mod basesink;
pub mod hlscmafsink;
pub mod hlssink3;
pub mod hlssink4;
mod playlist;
glib::wrapper! {
pub struct HlsBaseSink(ObjectSubclass<basesink::HlsBaseSink>) @extends gst::Bin, gst::Element, gst::Object;
}
pub fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
#[cfg(feature = "doc")]
{
HlsBaseSink::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
}
hlssink3::register(plugin)?;
hlssink4::register(plugin)?;
hlscmafsink::register(plugin)?;
Ok(())
}
gst::plugin_define!(
hlssink3,
env!("CARGO_PKG_DESCRIPTION"),
plugin_init,
concat!(env!("CARGO_PKG_VERSION"), "-", env!("COMMIT_ID")),
// FIXME: MPL-2.0 is only allowed since 1.18.3 (as unknown) and 1.20 (as known)
"MPL",
env!("CARGO_PKG_NAME"),
env!("CARGO_PKG_NAME"),
env!("CARGO_PKG_REPOSITORY"),
env!("BUILD_REL_DATE")
);