// Copyright (C) 2021 OneStream Live // // 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 // . // // SPDX-License-Identifier: MPL-2.0 use gst::glib; use gst::prelude::*; mod imp; glib::wrapper! { pub struct UriPlaylistBin(ObjectSubclass) @extends gst::Bin, gst::Element, gst::Object; } // GStreamer elements need to be thread-safe. For the private implementation this is automatically // enforced but for the public wrapper type we need to specify this manually. unsafe impl Send for UriPlaylistBin {} unsafe impl Sync for UriPlaylistBin {} pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> { gst::Element::register( Some(plugin), "uriplaylistbin", gst::Rank::None, UriPlaylistBin::static_type(), ) }