Commit graph

450 commits

Author SHA1 Message Date
Sebastian Dröge
4c618394b7 tutorial: Use chunks_exact/chunks_exact_mut instead of the normal chunks iterator
We always want as many items as given, no less. And this also enables
the compiler to optimize the code further.
2019-01-25 16:42:27 +02:00
François Laignel
b8d19920a8 file plugin: starting an already started element is a bug
... in the base class.

See discussion in:

https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/merge_requests/73
2019-01-24 07:49:54 +00:00
Jordan Petridis
45ebb4c629
mccparse: Refactor huge line-handling function into smaller separate functions
* The Debug category was moved to a lazy_static!.
This allowed for a couple of methods, to be implemented
directly against the State struct since the debug category
was their only dependency from MccParse.

* Log the Caps/Format change
2019-01-22 16:48:12 +02:00
Sebastian Dröge
ccc3652a1a plugin::register_static() can fail so don't let it silently fail 2019-01-21 22:13:07 +02:00
Sebastian Dröge
d7fc5ca272 Set caps on the harness in tests before pushing the first buffer
Otherwise there will be warnings about data flow before segment events,
as harness is only sending the segment event together with the caps.
2019-01-21 17:34:44 +02:00
Sebastian Dröge
8c671ed7dc Enable 1.31 test job now that 1.32 is released 2019-01-18 08:14:38 +00:00
François Laignel
f5a398b21e Update gstreamer-rs/gstreamer bool to Result changes 2019-01-18 10:00:45 +02:00
Sebastian Dröge
873d177322 threadshare: Update for GLib API changes 2019-01-16 17:30:26 +02:00
Sebastian Dröge
e1c32ecd61 flvdemux: Handle parsing errors correctly
By either skipping the broken data if we can, or otherwise if we can't
by simply erroring out.
2019-01-14 22:09:46 +02:00
Jordan Petridis
45c765fb57 closedcaption: remove unnecessary extern crate declarations
The ones for gstreamer and glib are left there to avoid importing
the macros from weird paths, since the bindings are not yet ready
for this modules system
2019-01-13 14:23:31 +02:00
Sebastian Dröge
774110ec0a closedcaption: Add closed caption plugin with an MCC parser and encoder 2019-01-13 14:23:31 +02:00
François Laignel
e930133bdf Update for gstreamer-rs MR 200
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/merge_requests/200
2019-01-12 18:00:04 +01:00
Sebastian Dröge
abe87fae12 Remove gst-plugin and gst-plugin-simple crates
They're not used anymore.
2019-01-03 23:58:00 +02:00
Sebastian Dröge
4b4ae6d52c flvdemux: Port to new subclassing API
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/issues/49
2019-01-03 23:58:00 +02:00
Sebastian Dröge
1e39927037 httpsrc: Port to new subclassing API
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/issues/50
2018-12-30 11:32:57 +00:00
Sebastian Dröge
8ad7643ec3 filesrc: Use BaseSrc::fill() instead of ::create() 2018-12-30 12:03:10 +02:00
Sebastian Dröge
7e68f84a43 filesrc: Set format as gst::Format::Bytes in basesrc 2018-12-30 12:02:53 +02:00
Sebastian Dröge
bab4efb234 file: Always return glib::Error with domain gst::URIError from set_uri() 2018-12-30 12:02:28 +02:00
Sebastian Dröge
e77c23352a filesrc: This is a source, not a sink element 2018-12-29 11:27:18 +02:00
Sebastian Dröge
bddc4f325e flv: Fix compilation after change to Buffer::from_mut_slice()
It does not return an Option<_> anymore.
2018-12-27 10:45:59 +02:00
Sebastian Dröge
04955f61d7 Update to reqwest 0.9, rand 0.6 and parking_lot 0.7 2018-12-19 14:32:03 +02:00
Sebastian Dröge
f374d7fedf Remove unneeded ObjectSubclass::new() functions where not needed 2018-12-19 13:23:02 +02:00
Sebastian Dröge
a8215ad711 Use new GLib API for generically implementing GObject interfaces 2018-12-19 13:21:59 +02:00
Sebastian Dröge
1f8465af66 rsfilesrc: Fix typo in previous commit 2018-12-19 13:21:48 +02:00
Sebastian Dröge
5b0d79bc73 Switch to Rust 1.31 as minimum supported version
Too many dependencies switched and we can't really keep everything at an
older version.

Commented out for now until stable becomes 1.32.
2018-12-19 13:21:48 +02:00
Sebastian Dröge
fb741f26f3 Update for glib property API changes 2018-12-18 11:23:45 +02:00
François Laignel
7d1f6b0bd4 gst-plugin-file: port filesink to new subclass architecture 2018-12-15 14:28:04 +01:00
Sebastian Dröge
d770cbf839 Remove some historical cruft from the README.md 2018-12-13 20:07:24 +02:00
Sebastian Dröge
0792fe4f1a ts-appsrc: Fix deadlock during shutdown
The IO Context has to be alive longer than the other parts
of the state. Otherwise a deadlock can happen between shutting down
the IO context (thread join while the state lock is held) and stuff
happening on the IO context (which might take the state lock).
2018-12-13 17:13:40 +02:00
Sebastian Dröge
6bd4931120 tutorial: Add identity element based directly on GstElement 2018-12-13 15:04:19 +02:00
Sebastian Dröge
10da397d9b tutorial: Improve documentation comments a bit 2018-12-13 12:02:38 +02:00
Sebastian Dröge
44da5074bd togglerecord: Don't call override_vfuncs()
It's called automatically for us already.
2018-12-13 12:02:38 +02:00
François Laignel
4812884453 CI: fix fmt 2018-12-09 16:03:27 +01:00
Sebastian Dröge
e64a9b4a1a Port threadshare plugin to new subclassing API 2018-12-06 13:03:04 +02:00
Sebastian Dröge
4d87c11293 Run everything through latest rustfmt again 2018-12-04 19:01:40 +02:00
Sebastian Dröge
3026e56cfb ts-udpsrc: Creating a gio::Socket from a raw fd/socket is unsafe
So put it into an unsafe block.
2018-12-03 13:02:35 +02:00
Sebastian Dröge
9750195caa ts-udpsrc: Dup the socket so that both tokio and GIO can take ownership of it
Otherwise both would be closing the same socket, which a) breaks the
second user of the socket if any and b) could on the second close cause
a completely unrelated socket to be closed.

Windows part of the code is untested.
2018-11-30 19:39:39 +02:00
Sebastian Dröge
4ac6863eed Port tutorials plugin to new subclassing API 2018-11-30 17:18:53 +02:00
Sebastian Dröge
485839a2a9 Port audiofx plugin with audioecho element to new subclassing API 2018-11-30 17:18:40 +02:00
Sebastian Dröge
38ca1ef3cb Port gst-plugin-togglerecord to new subclassing API 2018-11-30 17:17:37 +02:00
Sebastian Dröge
40426a2cf6 Use new boxed type support from the GLib bindings 2018-11-29 21:01:02 +02:00
Sebastian Dröge
ab59e88809 Update CHANGELOG.md for 0.3.2 2018-11-26 17:07:40 +01:00
Sebastian Dröge
fae723a238 Update documentation to gitlab pages 2018-11-26 16:27:13 +01:00
Sebastian Dröge
32265412f3 Change all links/mentions from gst-plugin-rs to gst-plugins-rs 2018-11-26 11:52:09 +01:00
Sebastian Dröge
8881548652 AggregatorPad is not actually a GhostPad 2018-11-19 11:36:23 +02:00
Sebastian Dröge
8081c319c2 Update CHANGELOG.md for 0.3.1 2018-11-19 11:32:14 +02:00
Sebastian Dröge
66366ce024 Make sure to override vfuncs of all parent classes correctly 2018-11-19 11:29:25 +02:00
Sebastian Dröge
8b7f0b40ea ts-appsrc: Rewrite test around Harness 2018-11-13 18:58:06 +02:00
Sebastian Dröge
bcc0bb0d7d ts-udpsrc: Add unit test for socket re-use and the socket/used-socket properties 2018-11-13 18:58:06 +02:00
Sebastian Dröge
941b83a1d6 ts-udpsrc: Rewrite unit test around gst_check::Harness 2018-11-13 18:50:54 +02:00