mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-09-23 04:20:04 +00:00
Simplify code for Rust 2018 a bit
This commit is contained in:
parent
eee4a65d19
commit
0aef5152a7
6 changed files with 20 additions and 25 deletions
12
Cargo.toml
12
Cargo.toml
|
@ -10,10 +10,10 @@ edition = "2018"
|
|||
[dependencies]
|
||||
glib = "0.10"
|
||||
gobject-sys = "0.10"
|
||||
gstreamer = { version = "0.16", features = ["v1_12"] }
|
||||
gstreamer-base = "0.16"
|
||||
gstreamer-audio = "0.16"
|
||||
gstreamer-video = { version = "0.16", features = ["v1_12"] }
|
||||
gst = { package = "gstreamer", version = "0.16", features = ["v1_12"] }
|
||||
gst-base = { package = "gstreamer-base", version = "0.16" }
|
||||
gst-audio = { package = "gstreamer-audio", version = "0.16" }
|
||||
gst-video = { package = "gstreamer-video", version = "0.16", features = ["v1_12"] }
|
||||
byte-slice-cast = "1"
|
||||
once_cell = "1.0"
|
||||
|
||||
|
@ -22,8 +22,8 @@ gst-plugin-version-helper = "0.2"
|
|||
|
||||
[features]
|
||||
default = ["interlaced-fields", "reference-timestamps"]
|
||||
interlaced-fields = ["gstreamer/v1_16", "gstreamer-video/v1_16"]
|
||||
reference-timestamps = ["gstreamer/v1_14"]
|
||||
interlaced-fields = ["gst/v1_16", "gst-video/v1_16"]
|
||||
reference-timestamps = ["gst/v1_14"]
|
||||
|
||||
[lib]
|
||||
name = "gstndi"
|
||||
|
|
|
@ -3,6 +3,7 @@ use glib::subclass;
|
|||
use gst;
|
||||
use gst::prelude::*;
|
||||
use gst::subclass::prelude::*;
|
||||
use gst::{gst_error, gst_log, gst_trace};
|
||||
|
||||
use once_cell::sync::OnceCell;
|
||||
|
||||
|
@ -27,7 +28,7 @@ impl ObjectSubclass for DeviceProvider {
|
|||
type Instance = subclass::simple::InstanceStruct<Self>;
|
||||
type Class = subclass::simple::ClassStruct<Self>;
|
||||
|
||||
glib_object_subclass!();
|
||||
glib::glib_object_subclass!();
|
||||
|
||||
fn new() -> Self {
|
||||
Self {
|
||||
|
@ -54,7 +55,7 @@ impl ObjectSubclass for DeviceProvider {
|
|||
}
|
||||
|
||||
impl ObjectImpl for DeviceProvider {
|
||||
glib_object_impl!();
|
||||
glib::glib_object_impl!();
|
||||
}
|
||||
|
||||
impl DeviceProviderImpl for DeviceProvider {
|
||||
|
@ -213,7 +214,7 @@ impl ObjectSubclass for Device {
|
|||
type Instance = subclass::simple::InstanceStruct<Self>;
|
||||
type Class = subclass::simple::ClassStruct<Self>;
|
||||
|
||||
glib_object_subclass!();
|
||||
glib::glib_object_subclass!();
|
||||
|
||||
fn new() -> Self {
|
||||
Self {
|
||||
|
@ -228,7 +229,7 @@ impl ObjectSubclass for Device {
|
|||
}
|
||||
|
||||
impl ObjectImpl for Device {
|
||||
glib_object_impl!();
|
||||
glib::glib_object_impl!();
|
||||
}
|
||||
|
||||
impl DeviceImpl for Device {
|
||||
|
|
13
src/lib.rs
13
src/lib.rs
|
@ -1,13 +1,4 @@
|
|||
#[macro_use]
|
||||
extern crate glib;
|
||||
use glib::prelude::*;
|
||||
#[macro_use]
|
||||
extern crate gstreamer as gst;
|
||||
extern crate gstreamer_audio as gst_audio;
|
||||
extern crate gstreamer_base as gst_base;
|
||||
extern crate gstreamer_video as gst_video;
|
||||
|
||||
extern crate byte_slice_cast;
|
||||
|
||||
mod device_provider;
|
||||
pub mod ndi;
|
||||
|
@ -35,7 +26,7 @@ pub enum TimestampMode {
|
|||
|
||||
fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
|
||||
if !ndi::initialize() {
|
||||
return Err(glib_bool_error!("Cannot initialize NDI"));
|
||||
return Err(glib::glib_bool_error!("Cannot initialize NDI"));
|
||||
}
|
||||
|
||||
ndivideosrc::register(plugin)?;
|
||||
|
@ -151,7 +142,7 @@ fn timestamp_mode_get_type() -> glib::Type {
|
|||
}
|
||||
}
|
||||
|
||||
gst_plugin_define!(
|
||||
gst::gst_plugin_define!(
|
||||
ndi,
|
||||
env!("CARGO_PKG_DESCRIPTION"),
|
||||
plugin_init,
|
||||
|
|
|
@ -3,6 +3,7 @@ use glib::subclass;
|
|||
use gst;
|
||||
use gst::prelude::*;
|
||||
use gst::subclass::prelude::*;
|
||||
use gst::{gst_debug, gst_element_error, gst_error, gst_error_msg};
|
||||
use gst_audio;
|
||||
use gst_base;
|
||||
use gst_base::prelude::*;
|
||||
|
@ -149,7 +150,7 @@ impl ObjectSubclass for NdiAudioSrc {
|
|||
type Instance = gst::subclass::ElementInstanceStruct<Self>;
|
||||
type Class = subclass::simple::ClassStruct<Self>;
|
||||
|
||||
glib_object_subclass!();
|
||||
glib::glib_object_subclass!();
|
||||
|
||||
fn new() -> Self {
|
||||
Self {
|
||||
|
@ -199,7 +200,7 @@ impl ObjectSubclass for NdiAudioSrc {
|
|||
}
|
||||
|
||||
impl ObjectImpl for NdiAudioSrc {
|
||||
glib_object_impl!();
|
||||
glib::glib_object_impl!();
|
||||
|
||||
fn constructed(&self, obj: &glib::Object) {
|
||||
self.parent_constructed(obj);
|
||||
|
|
|
@ -3,6 +3,7 @@ use glib::subclass;
|
|||
use gst;
|
||||
use gst::prelude::*;
|
||||
use gst::subclass::prelude::*;
|
||||
use gst::{gst_debug, gst_element_error, gst_error, gst_error_msg};
|
||||
use gst_base;
|
||||
use gst_base::prelude::*;
|
||||
use gst_base::subclass::base_src::CreateSuccess;
|
||||
|
@ -150,7 +151,7 @@ impl ObjectSubclass for NdiVideoSrc {
|
|||
type Instance = gst::subclass::ElementInstanceStruct<Self>;
|
||||
type Class = subclass::simple::ClassStruct<Self>;
|
||||
|
||||
glib_object_subclass!();
|
||||
glib::glib_object_subclass!();
|
||||
|
||||
fn new() -> Self {
|
||||
Self {
|
||||
|
@ -234,7 +235,7 @@ impl ObjectSubclass for NdiVideoSrc {
|
|||
}
|
||||
|
||||
impl ObjectImpl for NdiVideoSrc {
|
||||
glib_object_impl!();
|
||||
glib::glib_object_impl!();
|
||||
|
||||
fn constructed(&self, obj: &glib::Object) {
|
||||
self.parent_constructed(obj);
|
||||
|
|
|
@ -2,6 +2,7 @@ use glib;
|
|||
use glib::prelude::*;
|
||||
use gst;
|
||||
use gst::prelude::*;
|
||||
use gst::{gst_debug, gst_element_error, gst_error, gst_log, gst_warning};
|
||||
use gst_video;
|
||||
use gst_video::prelude::*;
|
||||
|
||||
|
|
Loading…
Reference in a new issue