// Copyright (C) 2016 Sebastian Dröge // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public // License as published by the Free Software Foundation; either // version 2 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Library General Public License for more details. // // You should have received a copy of the GNU Library General Public // License along with this library; if not, write to the // Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, // Boston, MA 02110-1301, USA. #![crate_type="cdylib"] extern crate url; #[macro_use] extern crate slog; #[macro_use] extern crate gst_plugin; use gst_plugin::plugin::*; use gst_plugin::source::*; use gst_plugin::sink::*; mod filesrc; mod filesink; use filesrc::FileSrc; use filesink::FileSink; fn plugin_init(plugin: &Plugin) -> bool { source_register(plugin, &SourceInfo { name: "rsfilesrc", long_name: "File Source", description: "Reads local files", classification: "Source/File", author: "Sebastian Dröge ", rank: 256 + 100, create_instance: FileSrc::new_boxed, protocols: "file", push_only: false, }); sink_register(plugin, &SinkInfo { name: "rsfilesink", long_name: "File Sink", description: "Writes to local files", classification: "Sink/File", author: "Luis de Bethencourt ", rank: 256 + 100, create_instance: FileSink::new_boxed, protocols: "file", }); true } plugin_define!(b"rsfile\0", b"Rust File Plugin\0", plugin_init, b"1.0\0", b"LGPL\0", b"rsfile\0", b"rsfile\0", b"https://github.com/sdroege/rsplugin\0", b"2016-12-08\0");