mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-06-11 18:59:24 +00:00
6be5796888
This implements WHEP specification based on https://datatracker.ietf.org/doc/html/draft-murillo-whep-00 and has been tested with Cloudflare. Server offers are likely to be removed from the WHEP specification in upcoming revisions, to avoid compatibility issues. None of the commercial services implementing WHEP support server initiated offers. So we only support client side initiated offers. Follows session setup and tear down as covered in Figure 1, Section 3 of the specification. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949>
27 lines
722 B
Rust
27 lines
722 B
Rust
// Copyright (C) 2022, Asymptotic Inc.
|
|
// Author: Sanchayan Maity <sanchayan@asymptotic.io>
|
|
//
|
|
// 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
|
|
|
|
use gst::glib;
|
|
use gst::prelude::*;
|
|
|
|
pub mod imp;
|
|
|
|
glib::wrapper! {
|
|
pub struct WhepSrc(ObjectSubclass<imp::WhepSrc>) @extends gst::Bin, gst::Element, gst::Object;
|
|
}
|
|
|
|
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
|
|
gst::Element::register(
|
|
Some(plugin),
|
|
"whepsrc",
|
|
gst::Rank::Marginal,
|
|
WhepSrc::static_type(),
|
|
)
|
|
}
|