Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • tkanakamalla/gst-plugins-rs
  • gstreamer/gst-plugins-rs
  • slomo/gst-plugins-rs
  • tvermeir/gst-plugin-rs
  • alatiera/gst-plugins-rs
  • redongjun/gst-plugin-rs
  • fengalin/gst-plugins-rs
  • bkchr/gst-plugins-rs
  • LighthouseJ/gst-plugins-rs
  • JimmyOhn/gst-plugins-rs
  • philn/gst-plugins-rs
  • meh/gst-plugins-rs
  • ahamedsajeer.15/gst-plugins-rs
  • kindlychung/gst-plugins-rs
  • gdesmott/gst-plugins-rs
  • arun/gst-plugins-rs
  • loganek/gst-plugins-rs
  • nhunter1093/gst-plugins-rs
  • charles/gst-plugins-rs
  • rubenrua/gst-plugins-rs
  • raytiley/gst-plugins-rs
  • rgonzalez/gst-plugins-rs
  • chturne/gst-plugins-rs
  • heftig/gst-plugins-rs
  • Devdutt/gst-plugins-rs
  • tony-jinwoo-ahn/gst-plugins-rs
  • bilboed/gst-plugins-rs
  • tmorell/gst-plugins-rs
  • xclaesse/gst-plugins-rs
  • hanseac/gst-plugins-rs
  • neithanmo/gst-plugins-rs
  • blaxar.waldarax/gst-plugins-rs
  • ebnerm/gst-plugins-rs
  • dabrain34/gst-plugins-rs
  • paulyc/gst-plugins-rs
  • ndufresne/gst-plugins-rs
  • bgonz/gst-plugins-rs
  • lucab/gst-plugins-rs
  • yan3nian/gst-plugins-rs
  • jessica2020martin/gst-plugins-rs
  • ystreet/gst-plugins-rs
  • vivia/gst-plugins-rs
  • yselkowitz1/gst-plugins-rs
  • elmarco/gst-plugins-rs
  • thaytan/gst-plugins-rs
  • seungha.yang/gst-plugins-rs
  • avantgardnerio/gst-plugins-rs
  • wonchul/gst-plugins-rs
  • abdulrehman/gst-plugins-rs
  • nkyriazis/gst-plugins-rs
  • francisv/gst-plugins-rs
  • MarijnS95/gst-plugins-rs
  • zeenix/gst-plugins-rs
  • SanchayanMaity/gst-plugins-rs
  • gstreamer-backport-bot/gst-plugins-rs
  • cadubentzen/gst-plugins-rs
  • ocrete/gst-plugins-rs
  • bilelmoussaoui/gst-plugins-rs
  • karlri/gst-plugins-rs
  • rafaelcaricio/gst-plugins-rs
  • ferjmoreno/gst-plugins-rs
  • xhaakon/gst-plugins-rs
  • theHamsta/gst-plugins-rs
  • taynantz/gst-plugins-rs
  • chrko/gst-plugins-rs
  • humb3rtoguti3rr3z/gst-plugins-rs
  • micolous/gst-plugins-rs
  • linkmauve/gst-plugins-rs
  • jsparber/gst-plugins-rs
  • tpm/gst-plugins-rs
  • SeaDve/gst-plugins-rs
  • andreiltd/gst-plugins-rs
  • marksweeneyster/gst-plugins-rs
  • thiblahute/gst-plugins-rs
  • jh-hsd/gst-plugins-rs
  • burakyigit442005/gst-plugins-rs
  • kapsa.wojtek/gst-plugins-rs
  • vivienne/gst-plugins-rs
  • aeikum/gst-plugins-rs
  • yatinmaan/gst-plugins-rs
  • ranfdev/gst-plugins-rs
  • 7r3nzy/gst-plugins-rs
  • K.J.Russcher/gst-plugins-rs
  • Be/gst-plugins-rs
  • rajneeshksoni/gst-plugins-rs
  • 0m-ax/gst-plugins-rs
  • VanMacGiGi/gst-plugins-rs
  • nirbheek/gst-plugins-rs
  • leio/gst-plugins-rs
  • mildsunrise/gst-plugins-rs
  • dwlsalmeida/gst-plugins-rs
  • neodesys/gst-plugins-rs
  • MichaelOultram-pexip/gst-plugins-rs
  • zhao-gang/gst-plugins-rs
  • raffael_santi/gst-plugins-rs
  • mkonstapel/gst-plugins-rs
  • johan-bjareholt/gst-plugins-rs
  • cwtchan3388/gst-plugins-rs
  • Skyfarmer/gst-plugins-rs
  • mattfeury/gst-plugins-rs
  • mmenzyns/gst-plugins-rs
  • averred/gst-plugins-rs
  • jobafr/gst-plugins-rs
  • thejoeejoee/gst-plugins-rs
  • lilyinstarlight/gst-plugins-rs
  • MrBlenny/gst-plugins-rs
  • Hejsil/gst-plugins-rs
  • marcbull/gst-plugins-rs
  • kingosticks/gst-plugins-rs
  • beaverking/gst-plugins-rs
  • chhofi/gst-plugins-rs
  • jaysonsantos/gst-plugins-rs
  • ylatuya/gst-plugins-rs
  • ozan/gst-plugins-rs
  • happylinks/gst-plugins-rs
  • vpalmisano/gst-plugins-rs
  • rodrigovb96/gst-plugins-rs
  • JanGernert/gst-plugins-rs
  • amyspark/gst-plugins-rs
  • rayrapetyan/gst-plugins-rs
  • YaLTeR/gst-plugins-rs
  • eva/gst-plugins-rs
  • danburkert/gst-plugins-rs
  • GRVYDEV/gst-plugins-rs
  • Sean-Der/gst-plugins-rs
  • max-khm/gst-plugins-rs
  • thewildtree/gst-plugins-rs
  • lieven.paulissen2/gst-plugins-rs
  • lieven.paulissen/gst-plugins-rs
  • eddo/gst-plugins-rs
  • nagisa/gst-plugins-rs
  • jyelloz/gst-plugins-rs
  • rmader/gst-plugins-rs
  • PLavigne/gst-plugins-rs
  • AntoninRousset/gst-plugins-rs
  • mjimeno/gst-plugins-rs
  • benjamin.gaignard1/gst-plugins-rs
  • m.tretter/gst-plugins-rs
  • diegonieto/gst-plugins-rs
  • zecakeh/gst-plugins-rs
  • jhennebe/gst-plugins-rs
  • gawmanarnar/gst-plugins-rs
  • levaitamas/gst-plugins-rs
  • cdelguercio/gst-plugins-rs
  • btgoodwin/gst-plugins-rs
  • ljwall/gst-plugins-rs
  • vixalien/gst-plugins-rs
  • ekwange/gst-plugins-rs
  • SteveMcFarlin/gst-plugins-rs
  • leonardosalvatore/gst-plugins-rs
  • artemmartus/gst-plugins-rs
  • leo.park/gst-plugins-rs
  • muiznieks.reinis/gst-plugins-rs
  • topmux/gst-plugins-rs
  • davydog187/gst-plugins-rs
  • kevmo314/gst-plugins-rs
  • markandre/gst-plugins-rs
  • jbcolle/gst-plugins-rs
  • me5/gst-plugins-rs
  • ntrrgc/gst-plugins-rs
  • jewe37/gst-plugins-rs
  • emielvanseveren/gst-plugins-rs
  • daniel.pendse/gst-plugins-rs
  • cocoa/gst-plugins-rs
  • oscar/gst-plugins-rs
  • chrisb/gst-plugins-rs
  • Mohan_J/gst-plugins-rs
  • alberts/gst-plugins-rs
  • bradh/gst-plugins-rs
  • eipachte/gst-plugins-rs
  • romain/gst-plugins-rs
  • dyshimizu/gst-plugins-rs
  • antoniok/gst-plugins-rs
  • tomaszmi/gst-plugins-rs
  • jtojnar/gst-plugins-rs
  • dougnazar/gst-plugins-rs
  • robertoviola/gst-plugins-rs
  • estigma88/gst-plugins-rs
178 results
Show changes
Commits on Source (30)
Showing
with 1572 additions and 74 deletions
...@@ -8,6 +8,7 @@ members = [ ...@@ -8,6 +8,7 @@ members = [
"gst-plugin-flv", "gst-plugin-flv",
"gst-plugin-audiofx", "gst-plugin-audiofx",
"gst-plugin-togglerecord", "gst-plugin-togglerecord",
"gst-plugin-tutorial",
] ]
[profile.release] [profile.release]
......
...@@ -12,7 +12,7 @@ API builds upon the [application-side GStreamer bindings](https://github.com/sdr ...@@ -12,7 +12,7 @@ API builds upon the [application-side GStreamer bindings](https://github.com/sdr
Check the README.md of that repository also for details about how to set-up Check the README.md of that repository also for details about how to set-up
your development environment. your development environment.
Various example plugins can be found in the [GIT repository](https://github.com/sdroege/gst-plugin-rs/). Various example plugins can be found in the [GIT repository](https://github.com/sdroege/gst-plugin-rs/). A blog post series about writing GStreamer plugins/elements can be found [here](https://coaxion.net/blog/2018/01/how-to-write-gstreamer-elements-in-rust-part-1-a-video-filter-for-converting-rgb-to-grayscale/)[2](https://coaxion.net/blog/2018/02/how-to-write-gstreamer-elements-in-rust-part-2-a-raw-audio-sine-wave-source/).
For background and motivation, see the [announcement For background and motivation, see the [announcement
blogpost](https://coaxion.net/blog/2016/05/writing-gstreamer-plugins-and-elements-in-rust/) blogpost](https://coaxion.net/blog/2016/05/writing-gstreamer-plugins-and-elements-in-rust/)
......
[package] [package]
name = "gst-plugin-audiofx" name = "gst-plugin-audiofx"
version = "0.1.0" version = "0.2.0"
authors = ["Sebastian Dröge <sebastian@centricular.com>"] authors = ["Sebastian Dröge <sebastian@centricular.com>"]
repository = "https://github.com/sdroege/gst-plugin-rs" repository = "https://github.com/sdroege/gst-plugin-rs"
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
[dependencies] [dependencies]
gst-plugin = { path="../gst-plugin" } gst-plugin = { version = "0.2", path="../gst-plugin" }
glib = { git = "https://github.com/gtk-rs/glib" } glib = "0.5"
gstreamer = { git = "https://github.com/sdroege/gstreamer-rs", features = ["v1_10"] } gstreamer = "0.11"
gstreamer-base = { git = "https://github.com/sdroege/gstreamer-rs", features = ["v1_10"] } gstreamer-base = "0.11"
gstreamer-audio = { git = "https://github.com/sdroege/gstreamer-rs", features = ["v1_10"] } gstreamer-audio = "0.11"
byte-slice-cast = "0.1" byte-slice-cast = "0.1"
num-traits = "0.1" num-traits = "0.2"
[lib] [lib]
name = "gstrsaudiofx" name = "gstrsaudiofx"
......
...@@ -98,9 +98,9 @@ impl AudioEcho { ...@@ -98,9 +98,9 @@ impl AudioEcho {
fn new(_transform: &BaseTransform) -> Self { fn new(_transform: &BaseTransform) -> Self {
Self { Self {
cat: gst::DebugCategory::new( cat: gst::DebugCategory::new(
"rsaudiofx", "rsaudioecho",
gst::DebugColorFlags::empty(), gst::DebugColorFlags::empty(),
"Rust audiofx effect", "Rust audioecho effect",
), ),
settings: Mutex::new(Default::default()), settings: Mutex::new(Default::default()),
state: Mutex::new(None), state: Mutex::new(None),
...@@ -180,7 +180,9 @@ impl ObjectImpl<BaseTransform> for AudioEcho { ...@@ -180,7 +180,9 @@ impl ObjectImpl<BaseTransform> for AudioEcho {
match *prop { match *prop {
Property::UInt64("max-delay", ..) => { Property::UInt64("max-delay", ..) => {
let mut settings = self.settings.lock().unwrap(); let mut settings = self.settings.lock().unwrap();
settings.max_delay = value.get().unwrap(); if self.state.lock().unwrap().is_none() {
settings.max_delay = value.get().unwrap();
}
} }
Property::UInt64("delay", ..) => { Property::UInt64("delay", ..) => {
let mut settings = self.settings.lock().unwrap(); let mut settings = self.settings.lock().unwrap();
...@@ -204,11 +206,7 @@ impl ObjectImpl<BaseTransform> for AudioEcho { ...@@ -204,11 +206,7 @@ impl ObjectImpl<BaseTransform> for AudioEcho {
match *prop { match *prop {
Property::UInt64("max-delay", ..) => { Property::UInt64("max-delay", ..) => {
let settings = self.settings.lock().unwrap(); let settings = self.settings.lock().unwrap();
if self.state.lock().unwrap().is_none() { Ok(settings.max_delay.to_value())
Ok(settings.max_delay.to_value())
} else {
Err(())
}
} }
Property::UInt64("delay", ..) => { Property::UInt64("delay", ..) => {
let settings = self.settings.lock().unwrap(); let settings = self.settings.lock().unwrap();
......
...@@ -12,6 +12,7 @@ extern crate byte_slice_cast; ...@@ -12,6 +12,7 @@ extern crate byte_slice_cast;
extern crate glib; extern crate glib;
#[macro_use] #[macro_use]
extern crate gst_plugin; extern crate gst_plugin;
#[macro_use]
extern crate gstreamer as gst; extern crate gstreamer as gst;
extern crate gstreamer_audio as gst_audio; extern crate gstreamer_audio as gst_audio;
extern crate gstreamer_base as gst_base; extern crate gstreamer_base as gst_base;
......
[package] [package]
name = "gst-plugin-file" name = "gst-plugin-file"
version = "0.1.0" version = "0.2.0"
authors = ["Sebastian Dröge <sebastian@centricular.com>"] authors = ["Sebastian Dröge <sebastian@centricular.com>"]
repository = "https://github.com/sdroege/gst-plugin-rs" repository = "https://github.com/sdroege/gst-plugin-rs"
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
[dependencies] [dependencies]
url = "1.1" url = "1.1"
gst-plugin = { path="../gst-plugin" } gst-plugin = { version = "0.2", path="../gst-plugin" }
gst-plugin-simple = { path="../gst-plugin-simple" } gst-plugin-simple = { version = "0.2", path="../gst-plugin-simple" }
gstreamer = { git = "https://github.com/sdroege/gstreamer-rs", features = ["v1_10"] } gstreamer = "0.11"
[lib] [lib]
name = "gstrsfile" name = "gstrsfile"
......
[package] [package]
name = "gst-plugin-flv" name = "gst-plugin-flv"
version = "0.1.0" version = "0.2.0"
authors = ["Sebastian Dröge <sebastian@centricular.com>"] authors = ["Sebastian Dröge <sebastian@centricular.com>"]
repository = "https://github.com/sdroege/gst-plugin-rs" repository = "https://github.com/sdroege/gst-plugin-rs"
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
[dependencies] [dependencies]
url = "1.1" url = "1.1"
gst-plugin = { path="../gst-plugin" } gst-plugin = { version = "0.2", path="../gst-plugin" }
gst-plugin-simple = { path="../gst-plugin-simple" } gst-plugin-simple = { version = "0.2", path="../gst-plugin-simple" }
gstreamer = { git = "https://github.com/sdroege/gstreamer-rs", features = ["v1_10"] } gstreamer = "0.11"
num-rational = { version = "0.1", default-features = false, features = [] } num-rational = { version = "0.1", default-features = false, features = [] }
nom = "3.0" nom = "3.0"
flavors = {git = "https://github.com/rust-av/flavors.git"} flavors = {git = "https://github.com/rust-av/flavors.git"}
......
[package] [package]
name = "gst-plugin-http" name = "gst-plugin-http"
version = "0.1.0" version = "0.2.0"
authors = ["Sebastian Dröge <sebastian@centricular.com>"] authors = ["Sebastian Dröge <sebastian@centricular.com>"]
repository = "https://github.com/sdroege/gst-plugin-rs" repository = "https://github.com/sdroege/gst-plugin-rs"
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
[dependencies] [dependencies]
url = "1.1" url = "1.1"
gst-plugin = { path="../gst-plugin" } gst-plugin = { version = "0.2", path="../gst-plugin" }
gst-plugin-simple = { path="../gst-plugin-simple" } gst-plugin-simple = { version = "0.2", path="../gst-plugin-simple" }
reqwest = "0.8" reqwest = "0.8"
gstreamer = { git = "https://github.com/sdroege/gstreamer-rs", features = ["v1_10"] } gstreamer = "0.11"
[lib] [lib]
name = "gstrshttp" name = "gstrshttp"
......
[package] [package]
name = "gst-plugin-simple" name = "gst-plugin-simple"
version = "0.1.0" version = "0.2.0"
authors = ["Sebastian Dröge <sebastian@centricular.com>"] authors = ["Sebastian Dröge <sebastian@centricular.com>"]
repository = "https://github.com/sdroege/gst-plugin-rs" repository = "https://github.com/sdroege/gst-plugin-rs"
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
[dependencies] [dependencies]
url = "1.1" url = "1.1"
glib = { git = "https://github.com/gtk-rs/glib" } glib = "0.5"
gst-plugin = { path="../gst-plugin" } gst-plugin = { version = "0.2", path="../gst-plugin" }
gstreamer = { git = "https://github.com/sdroege/gstreamer-rs", features = ["v1_10"] } gstreamer = "0.11"
gstreamer-base = { git = "https://github.com/sdroege/gstreamer-rs", features = ["v1_10"] } gstreamer-base = "0.11"
[lib] [lib]
name = "gst_plugin_simple" name = "gst_plugin_simple"
......
...@@ -271,7 +271,7 @@ impl Demuxer { ...@@ -271,7 +271,7 @@ impl Demuxer {
fn sink_activate(pad: &gst::Pad, _parent: &Option<gst::Object>) -> bool { fn sink_activate(pad: &gst::Pad, _parent: &Option<gst::Object>) -> bool {
let mode = { let mode = {
let mut query = gst::Query::new_scheduling(); let mut query = gst::Query::new_scheduling();
if !pad.peer_query(query.get_mut().unwrap()) { if !pad.peer_query(&mut query) {
return false; return false;
} }
......
...@@ -168,10 +168,7 @@ impl BaseSinkImpl<BaseSink> for Sink { ...@@ -168,10 +168,7 @@ impl BaseSinkImpl<BaseSink> for Sink {
} }
(None, _) => { (None, _) => {
gst_error!(self.cat, obj: sink, "No URI given"); gst_error!(self.cat, obj: sink, "No URI given");
sink.post_error_message(&gst_error_msg!( gst_element_error!(sink, gst::ResourceError::OpenRead, ["No URI given"]);
gst::ResourceError::OpenRead,
["No URI given"]
));
return false; return false;
} }
}; };
......
...@@ -187,10 +187,7 @@ impl BaseSrcImpl<BaseSrc> for Source { ...@@ -187,10 +187,7 @@ impl BaseSrcImpl<BaseSrc> for Source {
} }
(None, _) => { (None, _) => {
gst_error!(self.cat, obj: src, "No URI given"); gst_error!(self.cat, obj: src, "No URI given");
src.post_error_message(&gst_error_msg!( gst_element_error!(src, gst::ResourceError::OpenRead, ["No URI given"]);
gst::ResourceError::OpenRead,
["No URI given"]
));
return false; return false;
} }
}; };
......
[package] [package]
name = "gst-plugin-togglerecord" name = "gst-plugin-togglerecord"
version = "0.1.0" version = "0.2.0"
authors = ["Sebastian Dröge <sebastian@centricular.com>"] authors = ["Sebastian Dröge <sebastian@centricular.com>"]
license = "LGPL-2.1+" license = "LGPL-2.1+"
[dependencies] [dependencies]
glib = { git = "https://github.com/gtk-rs/glib" } glib = "0.5"
gstreamer = { git = "https://github.com/sdroege/gstreamer-rs", features = ["v1_10"] } gstreamer = "0.11"
gstreamer-video = { git = "https://github.com/sdroege/gstreamer-rs", features = ["v1_10"] } gstreamer-video = "0.11"
gst-plugin = { path = "../gst-plugin" } gst-plugin = { version = "0.2", path = "../gst-plugin" }
gtk = { git = "https://github.com/gtk-rs/gtk", features = ["v3_6"], optional = true } gtk = { version = "0.4", features = ["v3_6"], optional = true }
gio = { git = "https://github.com/gtk-rs/gio", optional = true } gio = { version = "0.4", optional = true }
send-cell = { version = "0.1", optional = true } send-cell = { version = "0.1", optional = true }
[dev-dependencies] [dev-dependencies]
......
...@@ -1118,27 +1118,23 @@ impl ToggleRecord { ...@@ -1118,27 +1118,23 @@ impl ToggleRecord {
match query.view_mut() { match query.view_mut() {
QueryView::Scheduling(ref mut q) => { QueryView::Scheduling(ref mut q) => {
let mut new_query = gst::Query::new_scheduling(); let mut new_query = gst::Query::new_scheduling();
let res = stream.sinkpad.peer_query(new_query.get_mut().unwrap()); let res = stream.sinkpad.peer_query(&mut new_query);
if !res { if !res {
return res; return res;
} }
gst_log!(self.cat, obj: pad, "Downstream returned {:?}", new_query); gst_log!(self.cat, obj: pad, "Downstream returned {:?}", new_query);
match new_query.view() { let (flags, min, max, align) = new_query.get_result();
QueryView::Scheduling(ref n) => { q.set(flags, min, max, align);
let (flags, min, max, align) = n.get_result(); q.add_scheduling_modes(&new_query
q.set(flags, min, max, align); .get_scheduling_modes()
q.add_scheduling_modes(&n.get_scheduling_modes() .iter()
.iter() .cloned()
.cloned() .filter(|m| m != &gst::PadMode::Pull)
.filter(|m| m != &gst::PadMode::Pull) .collect::<Vec<_>>());
.collect::<Vec<_>>()); gst_log!(self.cat, obj: pad, "Returning {:?}", q.get_mut_query());
gst_log!(self.cat, obj: pad, "Returning {:?}", q.get_mut_query()); return true;
return true;
}
_ => unreachable!(),
}
} }
QueryView::Seeking(ref mut q) => { QueryView::Seeking(ref mut q) => {
// Seeking is not possible here // Seeking is not possible here
......
[package]
name = "gst-plugin-tutorial"
version = "0.2.0"
authors = ["Sebastian Dröge <sebastian@centricular.com>"]
repository = "https://github.com/sdroege/gst-plugin-rs"
license = "MIT/Apache-2.0"
[dependencies]
gst-plugin = { version = "0.2", path="../gst-plugin" }
glib = "0.5"
gstreamer = "0.11"
gstreamer-base = "0.11"
gstreamer-video = "0.11"
gstreamer-audio = "0.11"
byte-slice-cast = "0.1"
num-traits = "0.2"
[lib]
name = "gstrstutorial"
crate-type = ["cdylib"]
path = "src/lib.rs"
// Copyright (C) 2017 Sebastian Dröge <sebastian@centricular.com>
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
extern crate glib;
#[macro_use]
extern crate gst_plugin;
#[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;
extern crate num_traits;
mod rgb2gray;
mod sinesrc;
// Plugin entry point that should register all elements provided by this plugin,
// and everything else that this plugin might provide (e.g. typefinders or device providers).
fn plugin_init(plugin: &gst::Plugin) -> bool {
rgb2gray::register(plugin);
sinesrc::register(plugin);
true
}
// Static plugin metdata that is directly stored in the plugin shared object and read by GStreamer
// upon loading.
// Plugin name, plugin description, plugin entry point function, version number of this plugin,
// license of the plugin, source package name, binary package name, origin where it comes from
// and the date/time of release.
plugin_define!(
b"rstutorial\0",
b"Rust Tutorial Plugin\0",
plugin_init,
b"1.0\0",
b"MIT/X11\0",
b"rstutorial\0",
b"rstutorial\0",
b"https://github.com/sdroege/gst-plugin-rs\0",
b"2017-12-30\0"
);
This diff is collapsed.
This diff is collapsed.
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html),
specifically the [variant used by Rust](http://doc.crates.io/manifest.html#the-version-field).
## [0.2.0] - 2018-03-20
### Changed
- Update to gstreamer-rs 0.11
- BaseTransform::transform_caps() takes caps by reference instead of value
### Added
- Send+Sync impls for all wrapper types
## [0.1.4] - 2018-02-12
### Fixed
- Fix BaseSrc::unlock_stop() and the same in BaseSink. It was calling unlock()
instead of unlock_stop() before, making it rather useless.
## [0.1.3] - 2018-01-15
### Fixed
- Only require GStreamer >= 1.8, not >= 1.10. We didn't use any 1.10 API
anymore since quite a while
- Don't call BaseTransform::transform_ip in passthrough mode with a mutable
reference, but call a new transform_ip_passthrough with an immutable
reference. The mutable reference would've failed all mutable operations.
## [0.1.2] - 2018-01-03
### Fixed
- BaseTransform::transform_caps() caps parameter is not owned when chainging
to the parent class' implementation either
## [0.1.1] - 2018-01-03
### Fixed
- BaseTransform::transform_caps() caps parameter is not owned
## [0.1.0] - 2017-12-22
- Initial release of the `gst-plugin` crate.
[Unreleased]: https://github.com/sdroege/gstreamer-rs/compare/0.1.1...HEAD
[0.1.0]: https://github.com/sdroege/gstreamer-rs/compare/0.1.0...0.1.1
[package] [package]
name = "gst-plugin" name = "gst-plugin"
version = "0.1.0" version = "0.2.0"
authors = ["Sebastian Dröge <sebastian@centricular.com>"] authors = ["Sebastian Dröge <sebastian@centricular.com>"]
categories = ["multimedia"] categories = ["multimedia"]
description = "Infrastructure for writing GStreamer plugins in Rust" description = "Infrastructure for writing GStreamer plugins in Rust"
repository = "https://github.com/sdroege/gst-plugin-rs/gst-plugin" repository = "https://github.com/sdroege/gst-plugin-rs/tree/master/gst-plugin"
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
readme = "README.md" readme = "README.md"
homepage = "https://gstreamer.freedesktop.org" homepage = "https://gstreamer.freedesktop.org"
documentation = "https://sdroege.github.io/rustdoc/gst-plugin/gst_plugin_rs" documentation = "https://sdroege.github.io/rustdoc/gst-plugin/gst_plugin/"
keywords = ["gstreamer", "multimedia", "audio", "video", "gnome"] keywords = ["gstreamer", "multimedia", "audio", "video", "gnome"]
[dependencies] [dependencies]
libc = "0.2" libc = "0.2"
lazy_static = "1.0" lazy_static = "1.0"
byteorder = "1.0" byteorder = "1.0"
glib-sys = { git = "https://github.com/gtk-rs/sys" } glib-sys = "0.6"
gobject-sys = { git = "https://github.com/gtk-rs/sys" } gobject-sys = "0.6"
gstreamer-sys = { git = "https://github.com/sdroege/gstreamer-sys", features = ["v1_10"] } gstreamer-sys = "0.5"
gstreamer-base-sys = { git = "https://github.com/sdroege/gstreamer-sys", features = ["v1_10"] } gstreamer-base-sys = "0.5"
glib = { git = "https://github.com/gtk-rs/glib" } glib = "0.5"
gstreamer = { git = "https://github.com/sdroege/gstreamer-rs", features = ["v1_10"] } gstreamer = "0.11"
gstreamer-base = { git = "https://github.com/sdroege/gstreamer-rs" } gstreamer-base = "0.11"
[lib] [lib]
name = "gst_plugin" name = "gst_plugin"
......