Commit graph

22 commits

Author SHA1 Message Date
François Laignel 67c5871957 fix-getters-calls 0.3.0 pass 2021-04-20 18:19:58 +02:00
François Laignel 27bc5c89ca fix-getters-def 0.3.0 pass 2021-04-20 18:19:58 +02:00
Mathieu Duponchelle 61214b5788 tttocea608: only warn when we do drop characters
In roll-up mode, we drop out of the loop and warn when the 32nd
character is reached, the warning is unnecessary when there were
no characters left to loop on.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/499>
2021-04-16 21:16:46 +02:00
François Laignel 7d17f88941 post fix-getters manual updates 2021-04-13 17:24:20 +02:00
François Laignel 06accc8d98 fix-getters-{def,calls} pass 2021-04-12 15:57:19 +02:00
Mathieu Duponchelle 11238579a5 tttocea608: pad immediately for the duration of the input buffer
Pushing the pending padding once we receive the following gap
or buffer means we will push it too late otherwise.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/480>
2021-03-12 11:20:44 +01:00
Sebastian Dröge 2cada57efc Update for the subclassing glib/gstreamer bindings API changes 2021-03-09 17:07:13 +02:00
Sebastian Dröge dc0c5f7611 Update for new #[glib::object_subclass] attribute macro 2021-03-07 18:27:00 +02:00
Mathieu Duponchelle 19611f0ebe tttocea608: be more conservative when inserting spaces
We don't need to insert a space when starting a new line,
or before punctuation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474>
2021-02-15 19:25:18 +00:00
Mathieu Duponchelle 20607fe346 tttocea608: expose origin-column and origin-row properties
These can be controlled more precisely using json as the input
format, but exposing them as properties is still useful when
the input format is text.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474>
2021-02-15 19:25:18 +00:00
Mathieu Duponchelle 126df546c0 tttocea608: make mode property mutable in PLAYING
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474>
2021-02-15 19:25:18 +00:00
Sebastian Dröge b649e9b076 Use gst::PARAM_FLAG_MUTABLE_PLAYING and others consistently everywhere
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/139
2021-01-31 15:43:00 +02:00
Sebastian Dröge d4ce1a33f2 Update for glib/gstreamer bindings API changes 2021-01-25 14:43:05 +02:00
Mathieu Duponchelle 875c3efb91 tttocea608: implement paint-on mode
That mode has been mostly obsoleted by roll-up modes, but let's
include it for completeness' sake.
2021-01-20 02:29:19 +01:00
Mathieu Duponchelle 13efa59252 closedcaption: implement a tttojson element
That new element can for example be used to serialize the output
of awstranscribe, ready for further editing
2021-01-20 02:29:19 +01:00
Mathieu Duponchelle 42b4defb5c tttocea608: in-depth refactoring, support for new input format
Up to now, tttocea608 supported text/utf8, and no interface to
control the positioning of closed captions apart from new lines
in the input text.

CEA 608 supports a larger set of features than that, such as
positioning CC precisely in its 32 x 15 grid, styling text,
switching from one mode to another, resetting the base row
in roll-up mode etc ..

A custom, JSON-based format is now supported by the element
(caps application/x-json, format=cea608), allowing users to
control those features in a pretty advanced manner.

A side effect of this is that the approach previously used
by the element to ensure frame-accurate CC display is now
untenable: where we knew before that an input buffer would
at most span 74 buffers and calculate a somewhat reasonable
latency based on that, this is no longer possible. Instead
we pick the approach most CC encoders seem to pick, and
accept a certain latency at display time: for example the
flipping of the back buffer to the display buffer for a
10-character text buffer will occur 7 frames after its
PTS. This has obvious benefits in terms of code complexity
and should generally be acceptable.

+ Removes a now irrelevant test, updates other tests

+ Extracts the Mode enum to the root of the crate, it will
  be used by another element in a follow-up commit
2021-01-20 02:29:19 +01:00
Sebastian Dröge 3d617371af Update for macro renames 2020-12-20 20:43:45 +02:00
Sebastian Dröge ea6c05e16c Update everything for glib macro renamings 2020-12-18 00:44:49 +02:00
Sebastian Dröge 6aed1ed926 Remove various unneeded unwraps 2020-12-05 20:29:50 +02:00
Sebastian Dröge f81d7b61b5 video: Update to 2018 edition 2020-11-23 10:28:35 +02:00
Sebastian Dröge d56ae71e0e Update for ObjectImpl::get_property() being infallible now 2020-11-19 18:25:53 +02:00
Sebastian Dröge 717477fd36 video: Update for subclassing API changes 2020-11-15 18:50:31 +02:00
Renamed from video/closedcaption/src/tttocea608.rs (Browse further)