Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-09Update versions to 0.8.0 for the master branchSebastian Dröge
2021-07-09Update versions to 0.7.0Sebastian Dröge
2021-06-30transcriberbin: new high-level bin for speech to Closed CaptionMathieu Duponchelle
This new element puts together some of the elements we've written in recent times (awstranscriber, tttocea608, textwrap, cccombiner) into a convenience high-level element. The design of the element is AV in -> AV (+ CC metas) out. The element exposes property to set and unset a "passthrough" mode, during which the transcriber element's state is set to NULL but kept in the bin, in order for the user to be able to set properties on sub elements no matter what the current mode is, using the GstChildProxy interface. In addition, the element ensures that the latency it reports stays fixed so that playback continues uninterrupted. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/528>
2021-06-03use gst::glib where applicableFrançois Laignel
2021-05-13Update repository URL for gtk-rs "core" cratesSebastian Dröge
2021-03-09Update pretty-assertions to 0.7, async-tungstenite to 0.13 and num-rational ↵Sebastian Dröge
to 0.4 Also get rid of the funty workaround as nom now depends on the right version.
2021-02-14Temporarily depend on funty 1.1.0 to work around breakage in 1.2.0Sebastian Dröge
See https://github.com/myrrlyn/funty/issues/3
2021-01-20tttocea608: in-depth refactoring, support for new input formatMathieu Duponchelle
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-09Update to rand 0.8Sebastian Dröge
2021-01-04use cargo-c to produce cdy and static libsGuillaume Desmottes
cargo-c will produce a pkg-config file making it easier to statically link plugins. Also add 'static' features for plugins depending on < 1.14 as this is the minimal required version to use static linking because of ABI changes in core.
2020-11-23video: Update to 2018 editionSebastian Dröge
2020-11-19closedcaption: Remove combine dependencySebastian Dröge
2020-11-19closedcaption: Switch SCC parser from combine to nomSebastian Dröge
nom gives easier to understand compiler errors when something is wrong and compiles considerably faster.
2020-11-16meson: add support for static buildGuillaume Desmottes
There is no way to dynamically ask Cargo to build static or dynamic lib so we have to build both and pick the one we care when doing the meson processing. Fix #88
2020-11-01Switch to the combined gtk-rs and gstreamer-rs repositoriesSebastian Dröge
2020-09-10video/closedcaption: add a ccdetect elementMatthew Waters
Detects whether valid closed caption data is available in CC708 data.
2020-06-04closedcaption: implement cea608overlayMathieu Duponchelle
Useful complement to cea708overlay, that can only render native 708. The element isn't an aggregator, and simply parses and renders closed caption meta on its input video buffers. No property is exposed, the rendering is done using a monospace font, over a 32 x 15 grid with the font size fitted to fill as much of the viewport as possible. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/343>
2020-04-23tttocea608: use mul_div_roundMathieu Duponchelle
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/314>
2020-04-23tttocea608: refactor to fit more scenariosMathieu Duponchelle
- Report a latency: By design, tttocea608 will output buffers in the "past" when receiving an input buffer: we want the second to last buffer in the buffer list that we output to have the same pts as the input buffer, as it contains the end_of_caption control code which determines when the current closed caption actually gets displayed in pop_on mode. The previous buffers have timestamps decreasing as a function of the framerate, for up to potentially 74 byte pairs (the breakdown is detailed in a comment). The element thus has to report a latency, at 30 frames per second it represents around 2.5 seconds. - Refactor timestamping: Stop using a frame duration, but rather base our timestamps on a scaled frame index. This is to avoid rounding errors, and allow for exactly one byte pair per buffer if the proper framerate is set on the closed caption branch, and the video branch has perfect timestamps, eg videorate. In practice, that one byte pair per frame requirement should only matter for line 21 encoding, but we have to think about this use case too. - Splice in erase_display_memory: When there is a gap between the end of a buffer and the start of the next one, we want to erase the display memory (this is unnecessary otherwise, as the end_of_caption control code will in effect ensure that the display is erased when the new caption is displayed). The previous implementation only supported this imperfectly, as it could cause timestamps to go backwards. - Output last erase_display_memory: The previous implementation was missing the final erase_display_memory on EOS - Output gaps - Write more tests Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/314>
2020-04-16fix LGPL-2.1+ license in Cargo.tomlGuillaume Desmottes
The proper SPDX name is LGPL-2.1-or-later, see https://spdx.org/licenses/
2020-04-14closedcaption: Port to combine 4Sebastian Dröge
2020-04-05Drop gst-plugin- prefix in plugin directory nameArun Raghavan