mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-12-26 10:00:32 +00:00
Add BaseSrc/BaseSink and URIHandler base types to AppSrc/AppSink
And also depend on the gstreamer-base bindings for that.
This commit is contained in:
parent
55ef03110a
commit
96d00c4ecc
5 changed files with 18 additions and 2 deletions
|
@ -12,6 +12,7 @@ external_libraries = [
|
|||
"GLib",
|
||||
"GObject",
|
||||
"Gst",
|
||||
"GstBase",
|
||||
]
|
||||
|
||||
generate = [
|
||||
|
@ -22,9 +23,12 @@ manual = [
|
|||
"GObject.Object",
|
||||
"Gst.Object",
|
||||
"Gst.Element",
|
||||
"Gst.URIHandler",
|
||||
"Gst.ClockTime",
|
||||
"Gst.FlowReturn",
|
||||
"Gst.Format",
|
||||
"GstBase.BaseSrc",
|
||||
"GstBase.BaseSink",
|
||||
]
|
||||
|
||||
[[object]]
|
||||
|
|
|
@ -18,17 +18,19 @@ libc = "0.2"
|
|||
glib-sys = { git = "https://github.com/gtk-rs/sys" }
|
||||
gobject-sys = { git = "https://github.com/gtk-rs/sys" }
|
||||
gstreamer-sys = { git = "https://github.com/sdroege/gstreamer-sys", features = ["v1_8"] }
|
||||
gstreamer-base-sys = { git = "https://github.com/sdroege/gstreamer-sys", features = ["v1_8"] }
|
||||
gstreamer-app-sys = { git = "https://github.com/sdroege/gstreamer-sys", features = ["v1_8"] }
|
||||
glib = { git = "https://github.com/gtk-rs/glib" }
|
||||
gstreamer = { path = "../gstreamer" }
|
||||
gstreamer-base = { path = "../gstreamer-base" }
|
||||
|
||||
[build-dependencies.rustdoc-stripper]
|
||||
version = "0.1"
|
||||
optional = true
|
||||
|
||||
[features]
|
||||
v1_10 = ["gstreamer-sys/v1_10", "gstreamer-app-sys/v1_10"]
|
||||
v1_12 = ["gstreamer-sys/v1_12", "gstreamer-app-sys/v1_12", "v1_10"]
|
||||
v1_10 = ["gstreamer-sys/v1_10", "gstreamer-base/v1_10", "gstreamer-app-sys/v1_10"]
|
||||
v1_12 = ["gstreamer-sys/v1_12", "gstreamer-base/v1_12", "gstreamer-app-sys/v1_12", "v1_10"]
|
||||
embed-lgpl-docs = ["rustdoc-stripper"]
|
||||
purge-lgpl-docs = ["rustdoc-stripper"]
|
||||
default-features = []
|
||||
|
|
|
@ -9,6 +9,8 @@ use glib::translate::*;
|
|||
use glib_ffi;
|
||||
use gobject_ffi;
|
||||
use gst;
|
||||
use gst_base;
|
||||
use gst_base_ffi;
|
||||
use gst_ffi;
|
||||
use std::boxed::Box as Box_;
|
||||
use std::mem;
|
||||
|
@ -17,8 +19,10 @@ use std::ptr;
|
|||
|
||||
glib_wrapper! {
|
||||
pub struct AppSink(Object<ffi::GstAppSink>): [
|
||||
gst_base::BaseSink => gst_base_ffi::GstBaseSink,
|
||||
gst::Element => gst_ffi::GstElement,
|
||||
gst::Object => gst_ffi::GstObject,
|
||||
gst::URIHandler => gst_ffi::GstURIHandler,
|
||||
];
|
||||
|
||||
match fn {
|
||||
|
|
|
@ -10,6 +10,8 @@ use glib::translate::*;
|
|||
use glib_ffi;
|
||||
use gobject_ffi;
|
||||
use gst;
|
||||
use gst_base;
|
||||
use gst_base_ffi;
|
||||
use gst_ffi;
|
||||
use libc;
|
||||
use std::boxed::Box as Box_;
|
||||
|
@ -19,8 +21,10 @@ use std::ptr;
|
|||
|
||||
glib_wrapper! {
|
||||
pub struct AppSrc(Object<ffi::GstAppSrc>): [
|
||||
gst_base::BaseSrc => gst_base_ffi::GstBaseSrc,
|
||||
gst::Element => gst_ffi::GstElement,
|
||||
gst::Object => gst_ffi::GstObject,
|
||||
gst::URIHandler => gst_ffi::GstURIHandler,
|
||||
];
|
||||
|
||||
match fn {
|
||||
|
|
|
@ -11,8 +11,10 @@ extern crate libc;
|
|||
extern crate glib_sys as glib_ffi;
|
||||
extern crate gobject_sys as gobject_ffi;
|
||||
extern crate gstreamer as gst;
|
||||
extern crate gstreamer_base as gst_base;
|
||||
extern crate gstreamer_app_sys as ffi;
|
||||
extern crate gstreamer_sys as gst_ffi;
|
||||
extern crate gstreamer_base_sys as gst_base_ffi;
|
||||
|
||||
#[macro_use]
|
||||
extern crate glib;
|
||||
|
|
Loading…
Reference in a new issue