// Copyright (C) 2020 Sebastian Dröge // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. // // SPDX-License-Identifier: MIT OR Apache-2.0 use gst::glib; use gst::prelude::*; mod imp; // The public Rust wrapper type for our element glib::wrapper! { pub struct SineSrc(ObjectSubclass) @extends gst_base::PushSrc, gst_base::BaseSrc, gst::Element, gst::Object; } // Registers the type for our element, and then registers in GStreamer under // the name "sinesrc" for being able to instantiate it via e.g. // gst::ElementFactory::make(). pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> { gst::Element::register( Some(plugin), "rssinesrc", gst::Rank::NONE, SineSrc::static_type(), ) }