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

github.com/sdroege/gst-plugin-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/video
AgeCommit message (Collapse)Author
2023-03-29transcriberbin: add support for translationsMathieu Duponchelle
With this, if the transcriber element in use supports "translation_src_" request source pads, the user can now specify what languages to translate to and how to map them to 608 channels (only CC1 and CC3 are supported). For instance, translation-languages="languages, CC3=transcript, CC1=fr" will cause the original transcript to be muxed into the CC3 channel, and the French translation to be muxed into the CC1 channel. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1149>
2023-03-25transcriberbin: fix deadlock on construction errorMathieu Duponchelle
Don't post an error message on the bus while holding the state lock Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1148>
2023-03-24tttocea608: fix disappearing text after special character in non-poponMathieu Duponchelle
To avoid special characters getting de-duplicated by the decoder, we insert no-op control commands after those. The no-op command must be picked according to the mode we're in however, inserting "resume_caption_loading" commands in roll-up mode caused obvious issues. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1147>
2023-03-24tttocea608: fix pushing unfixed caps downstreamMathieu Duponchelle
Allowed downstream caps might hold multiple structures, simply fixating the first structure is not enough, tttocea608 must also create caps with a single structure from there (or remove the remaining structures, but new caps seems cleaner) Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1146>
2023-03-23transcriberbin: fix initial transcription bin setupMathieu Duponchelle
When passthrough=false at construction and the transcription bin is linked after receiving video caps (and not on state change), there could be a race where transcription-bin was linked with tee but state change of the transcription-bin was not finished. If upstream pushed a buffer at that point, it got a flushing flow return and stopped streaming. This is the same issue and the same fix as 558656deb5037a85d6213f2f9a857f4902c9502f for the initial passthrough=false case. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1142>
2023-03-18gtk4: Fix compilation on macOSCarlo Cabrera
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/332 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1138>
2023-03-12gtk4: Update for `glib::Priority` API changesSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1132>
2023-03-09Fix indentation broken by `cargo clippy --fix`Sebastian Dröge
... and another clippy warning.
2023-03-09Update for remaining `gst::Element::link_many()` and related API generalizationSebastian Dröge
Specifically, get rid of now unneeded `&`.
2023-03-09Update for `gst::Element::link_many()` and related API generalizationSebastian Dröge
Specifically, get rid of now unneeded `&`.
2023-03-07Fix a few new clippy warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1120>
2023-02-24gtk4: Set sync point on the video frame after mapping itSebastian Dröge
Otherwise it is not always ready for use yet in GTK even after waiting on the sync point, and a fully transparent texture is rendered instead. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/320 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1103>
2023-02-22video/gtk4: Add a flatpak snippet example in the READMEJordan Petridis
Close #155 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1102>
2023-02-22gtk4: Attach channel receiver to the default main context from the main threadSebastian Dröge
It requires acquiring the main context for thread-safety reasons and that is only possible from the main thread itself. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/319 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1099>
2023-02-21gtk4: Don't unnecessarily set the sink to READY to retrieve the contextSebastian Dröge
That's not needed and will cause the GL context messages to be not distributed inside the pipeline. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1099>
2023-02-21gtk4: Refactor and simplify GL context handlingSebastian Dröge
Create a single, global GDK GL context and the corresponding GStreamer GL display and wrapped GStreamer GL context when initializing the first sink and continue using that for all further sinks. Additionally, don't create a full GStreamer GL context inside the sink but only distribute the wrapped GL context in the pipeline so that elements that actually need a full GL context can create one that is sharing with that one. The sink itself does not need a full GStreamer GL context. Then inside the sink check that any GL memory that arrives was created by a GL context that can share with the wrapped GDK GL context and only then use it. And lastly, use the correct GL contexts for a) creating a sync point and b) actually waiting on it. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/318 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1099>
2023-02-20Update minimum supported Rust version to 1.66Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1096>
2023-02-13Optimize various error message / debug message formattingSebastian Dröge
Directly make use of format strings instead of formatting a string beforehand and then passing it to the macros.
2023-02-10Update versions to 0.11.0-alpha.1Sebastian Dröge
2023-02-08dav1ddec: Make sure to call `get_picture()` twice in a row when drainingSebastian Dröge
The first time might return `EAGAIN` if there are pending frames but there is no decoded frame available yet. The second time it will actually wait for frames to become available and only start returning `EAGAIN` again once no more frames are left. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1080>
2023-02-06gtk4: Update for `GLDisplay` object lock requirementsSebastian Dröge
2023-01-27Return exit code from `gio::Application::run()` from `main()`Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1065>
2023-01-27gtk4: Fix compilation after `gst_gl::Display` API changesSebastian Dröge
2023-01-25Fix various new clippy warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1062>
2023-01-23dav1d: Don't treat any kind of bitstream error immediately as fatalSebastian Dröge
Instead use the videodecoder error handling to allow up to max-errors consecutive decoding errors, i.e. infinite by default in 1.22 and newer. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1057>
2023-01-22dav1d: Get rid of some unnecessary `unwrap()`sSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1055>
2023-01-22dav1d: Remove unnecessary frame dropping loopSebastian Dröge
After flushing there are no frames left anymore that could be dropped. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1055>
2023-01-22dav1d: Don't flush the decoder when drainingSebastian Dröge
This directly discards all frames and it won't be possible to output them anymore. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1055>
2023-01-22dav1d: Only drain at most one decoded frame per input frame unless the ↵Sebastian Dröge
decoder requires more before accepting new data This works around a race condition in dav1d where the decoder deadlocks if multiple threads are used, and also is generally beneficial as it allows for proper frame threading. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1055>
2023-01-21Update for glib API changesSebastian Dröge
2023-01-19gtk4: Only provide a buffer pool to upstream if it requested oneSebastian Dröge
2023-01-19gtk4: Update for allocation query caps API changesSebastian Dröge
And make no caps into a non-error.
2023-01-19gtk4: Asynchronously flush frames from GDKSebastian Dröge
There is no need to wait until the frames are flushed as the textures will be kept alive until GDK is finished with them, and doing so can cause deadlocks. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/287 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1052>
2023-01-19gtk4: Keep `GstGLMemory` alive as long as it is used inside GDKSebastian Dröge
Otherwise the texture might be released in the meantime and GDK would use an invalid GL texture ID. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/287 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1052>
2023-01-16Update for `gtk::Application` constructor API changesSebastian Dröge
2023-01-15Update for caps/structure-related string API changesSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1048>
2023-01-09rav1e: Enable threading supportSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1039>
2023-01-07gtk4: Propagate the GL display to the remainder of the pipelineSebastian Dröge
This allows sharing it with other parts of the pipeline and avoids creating different, incompatible displays/contexts in different parts of the pipeline. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1037>
2023-01-05Update for API changesSebastian Dröge
2023-01-04video: Fix compilation after API changesSebastian Dröge
2022-12-29gtk4: Rename a variable to make more senseSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1032>
2022-12-29gtk4: Handle more GL context creation failures gracefullySebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1032>
2022-12-29gtk4: Reset app context and display if GL context creation failsSebastian Dröge
No need to keep them around and that way we either have all 3 values set or none of them. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1032>
2022-12-29gtk4: Reduce number of unwraps during GL context creation and query handlingSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1032>
2022-12-29video/gtk4: Fix typo in info logsJordan Petridis
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1030>
2022-12-28gtk4: Remove 'gst' prefix from another debug categoryNirbheek Chauhan
Missed it last time. Caught all of them this time. Continuation from: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1029 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1025>
2022-12-28gtk4: Use GL implicitly without the gst_gl feature on macOSNirbheek Chauhan
We already require gstreamer-gl as a dependency on macOS, so reflect that in the code too. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1025>
2022-12-28gtk4: Add support for GL on macOSSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1025>
2022-12-28gtk4: Remove 'gst' from gtksink debug category nameNirbheek Chauhan
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1029>
2022-12-23gtk4: Release GStreamer GL context and display when going back to NULL stateSebastian Dröge
And acquire it again next time when going to READY state. Also clean up the whole GL context initialization. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1024>