Commit graph

51 commits

Author SHA1 Message Date
Sebastian Dröge
bb6ec76951 Fix/silence some clippy warnings 2020-03-26 10:59:43 +02:00
Mathieu Duponchelle
800d3435eb closedcaption: implement tttocea608 element 2020-03-24 21:24:03 +01:00
Mathieu Duponchelle
3c82f7d82e sccparse: fix timestamps
There is no reason to have the buffers' PTS start at 0
2020-03-21 01:26:41 +01:00
Mathieu Duponchelle
f271ac8f75 cea608tott: port to updated libcaption API 2020-03-21 01:26:28 +01:00
Mathieu Duponchelle
96cfcff4cf caption_frame_decode: rework API
* pop_on mode requires incrementing the frame timestamp until
  end_of_caption is encountered.

* caption_frame_decode now always updates the timestamp of the
  frame when the timestamp parameter != -1. This requires that callers
  only pass a valid timestamp when a new one is encountered, for
  example with SCC the timestamp at the start of the cue, then -1
  until the next new timestamp.

* A new enum member is added for the return value, LIBCAPTION_CLEAR.
  It allows the caller to determine that closed captions should not
  be displayed anymore, in order to finish the previous cue earlier
  than the start of the next cue.
2020-03-20 22:50:13 +01:00
Sebastian Dröge
5dd80e0706 Fix/silence various new clippy warnings 2020-03-19 12:55:29 +02:00
Sebastian Dröge
4c27d560a9 closedcaption: Add libcaption based CEA-608 to SRT/WebVTT converter 2020-03-07 11:20:19 +02:00
Sebastian Dröge
1e778e9827 Update for Seqnum/GroupId API changes 2020-01-25 01:21:22 +02:00
Sebastian Dröge
92941d7f92 closedcaption: Fix compilation after buffer copy flags were changed to a constant 2020-01-23 08:21:32 +02:00
Sebastian Dröge
9cade5bbe0 closedcaption: Put framerates into the src pad template caps of sccparse/mccparse
We're always providing a framerate on the output and without this it's
not possible to link the parsers to ccconvert while having it convert to
CEA708 CDP.
2020-01-02 16:44:38 +02:00
Sebastian Dröge
9772adbfbf Fix various new clippy warnings from 1.40 2019-12-22 11:35:01 +02:00
François Laignel
bdadf25f5c Clippy pass 2019-12-19 20:44:00 +01:00
Sebastian Dröge
ccfb8246be Fix compilation after gstreamer-rs!383 2019-12-18 08:17:42 +02:00
Sebastian Dröge
23ed11e52f closedcaption: Use RangeBounds::contains() directly instead of our copy
It's stabilized since 1.35 and we require at least 1.39 nowadays.
2019-12-14 11:12:18 +02:00
Sebastian Dröge
78eebf7b15 Update various dependencies 2019-11-21 07:16:26 +00:00
Sebastian Dröge
1ae57967ae Move debug categories from an instance member to lazy_static
Simplifies the code a bit and less state to carry around.
2019-10-31 23:35:11 +01:00
Sebastian Dröge
074a82d8ad Various fixes for from_string() -> from_str(), to_string() vs. to_str()
The latter also does not allocate.
2019-10-04 11:47:50 +03:00
Sebastian Dröge
b05fb902f9 Remove usage of subclassing feature, it's the default now 2019-09-09 10:45:06 +03:00
Sebastian Dröge
83cc8104a1 Fix or silence all remaining clippy warnings
Also ignore common errors we don't care about when running clippy and
make clippy errors fail the CI.
2019-09-07 10:42:07 +03:00
François Laignel
0e11ac87d3 Update for new {Value, StructureRef}::get signature
See https://github.com/gtk-rs/glib/pull/513
and https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/merge_requests/310
2019-08-13 15:29:28 +02:00
Sebastian Dröge
f149f8f1b5 Don't use ONCE_INIT anymore now that Once::new() is const 2019-07-11 16:41:42 +03:00
Sebastian Dröge
fbbd70950a Fix a few more clippy warnings 2019-07-11 11:20:39 +03:00
Sebastian Dröge
924b89a880 closedcaption: Update version number in mcc_enc test 2019-07-07 13:36:25 +03:00
Sebastian Dröge
acc4b6a7e2 Update versions to 0.6.0 2019-07-07 13:20:15 +03:00
Sebastian Dröge
11bd909bf1 Update rand to 0.7 and rusoto to 0.40 2019-07-02 18:16:23 +03:00
Sebastian Dröge
833b16def6 Update element/typefind factory ranks
The only None ranks now are:
- cdgdec/cdgparse: Primary
- rav1enc: Primary
- reqwesthttpsrc: Marginal
- s3sink/s3src: Primary
- mccenc/mccparse: Primary
- sccenc/sccparse: Primary

All other ranks are set to None until the elements are ready to replace
the existing C elements, or are otherwise production-ready and of a
element kind that should be autoplugged in one way or another.

For example the sodium elements are production-ready but can't be
autoplugged and as such should stay at a None rank.
2019-07-02 13:14:06 +03:00
Guillaume Desmottes
53e530f7db port all plugins to new register API
Rank is now an enum rather than a u32
2019-06-04 14:35:10 +05:30
Sebastian Dröge
ea14f36a0d Update for the TryInto/TryFrom gstreamer API changes 2019-06-03 19:47:26 +03:00
ahamedsajeer.15
dc45b7f8ac Add build.rs that provides a version number, release date and other details 2019-06-03 11:11:29 +00:00
Sebastian Dröge
fbee00caab Update for gstreamer gst_plugin_define! API changes 2019-05-27 20:31:39 +00:00
Sebastian Dröge
9bccc50add Update for gstreamer-rs API changes 2019-05-24 13:09:32 +02:00
Sebastian Dröge
129f6a28b0 Update for gstreamer-rs/glib/etc API changes and add more explicit Some() 2019-04-16 10:10:16 +03:00
Mathieu Duponchelle
50b9654af5 mccparse: implement seeking 2019-03-22 14:08:54 +00:00
Sebastian Dröge
cdbd5c3c91 mccenc: Fix expected test output to contain the new version number 2019-02-22 16:48:49 +02:00
Sebastian Dröge
afe8e8e32b Update versions to 0.5.0 2019-02-22 13:27:47 +02:00
Sebastian Dröge
ff6e54c690 Update dependency versions 2019-02-22 13:17:54 +02:00
Sebastian Dröge
aa325ea98d Fix various clippy warnings 2019-02-21 20:12:09 +02:00
Sebastian Dröge
5e80f2fab4 closedcaption: Increase recursion limit to 128 to fix compilation with latest nightly 2019-02-21 20:12:06 +02:00
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
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
9db02cb55e Fixes for gstreamer-rs API changes
Creating pad templates can return None now.
2019-01-29 17:33:06 +02: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
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