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:
Sebastian Dröge 2017-09-15 14:54:32 +03:00
parent 55ef03110a
commit 96d00c4ecc
5 changed files with 18 additions and 2 deletions

View file

@ -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]]

View file

@ -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 = []

View file

@ -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 {

View file

@ -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 {

View file

@ -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;