Commit graph

966 commits

Author SHA1 Message Date
Sebastian Dröge
09d7555653 scc_enc: Don't assert if we're trying to write a line without anything buffered
This can happen at EOS if everything was fully written out before
already, for example.
2019-02-12 14:35:22 +02:00
Sebastian Dröge
aebbe8c39b scc_parse: Don't send a new caps event for every new line
Only send new caps when the framerate has actually changed.
2019-02-12 14:34:19 +02:00
Jordan Petridis
e8c5884931
closedcaption: Add SCC parser and encoder plugins 2019-02-08 23:44:28 +02:00
Jordan Petridis
ca012cd4f0
mcc_parse: On FlushStop reset all of the state 2019-02-08 23:44:28 +02:00
Sebastian Dröge
7c1ca3ef55 flvdemux: Use 8kHz sample rate for alaw/mulaw
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/110
2019-02-08 15:12:19 +02:00
Jordan Petridis
c4885c6aab
mcc_enc: Set buffer metadata for outgoing buffers
Copies the metadata over from the input buffers
2019-02-07 15:35:48 +02:00
Jordan Petridis
02655a9dce
mcc_enc: Remove unused fields
These fields were never initialized in the first place.
2019-02-07 14:31:50 +02:00
Jordan Petridis
23071c1e0e
mcc_parse: save the last_timecode to have a fallback
If the current timecode can't be parsed, the plugin falls back
to last knonw timecode to at least have something. The code
that does this already existed but the last_timecode was just
never set.
2019-02-07 14:31:35 +02:00
Sebastian Dröge
01911b0ca7 ts-udpsrc: Fix build on Windows 2019-02-07 10:31:47 +02:00
Sebastian Dröge
a2582afed3 ts-udpsrc: Fix build on Windows
By disabling socket sharing there. This is blocked by PRs to mio/tokio
currently.
2019-02-07 10:31:47 +02:00
Sebastian Dröge
6286e496ba Fix build with GLib and GTK changes 2019-02-07 09:54:03 +02:00
Sebastian Dröge
e1df2e2de5 flvdemux: Update to nom 4 2019-02-06 14:48:50 +02:00
François Laignel
288596b7a2 Update transform_caps signature
See !223
2019-02-01 16:15:19 +01:00
Sebastian Dröge
9db02cb55e Fixes for gstreamer-rs API changes
Creating pad templates can return None now.
2019-01-29 17:33:06 +02:00
François Laignel
2a656a98b6 Update signatures further to gstreamer-base changes
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/merge_requests/216
2019-01-26 16:35:52 +01:00
François Laignel
3596870751 Update to LoggedError signatures
See gstreamer-rs!214
2019-01-26 12:41:25 +01:00
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