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
path: root/video
AgeCommit message (Collapse)Author
2023-11-10Update versions to 0.9.12Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1387>
2023-11-10sccparse: Fix leading spaces between the tab and caption dataSebastian Dröge
CCExtractor is creating files like this. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1387>
2023-09-20gtk4: Only support RGBA/RGB in the GL code pathSebastian Dröge
For all other component orderings a shader is necessary to re-order the components for what GTK expects. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1328>
2023-09-20gtk4: Premultiply alpha in GL texturesIvan Molodetskikh
GTK expects GL textures to have premultiplied alpha. The ones we get from GStreamer don't, leading to incorrect rendering of semitransparent frames. GTK 4.12 gained an API to set a different GL texture format, but it won't help for older GTK versions. Plus, at the time of writing, it causes a very slow download/upload path in GTK. So, use a GTK GL shader node to premultiply the alpha without leaving the GPU. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1328>
2023-09-20transcriberbin: Configure audioresample in front of transcriberSeungha Yang
Allows any samplerate and make it negotiable. Fixing a scenario where transcriberbin is configured with passthrough enabled, (and negotiated samplerate is not supported by transcriber) and then setting passthrough=false later during playback. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1327>
2023-07-20Update version to 0.9.11Sebastian Dröge
2023-07-05gtk4: Add python exampleyatinmaan
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1267>
2023-07-05videofx: Minimize dependencies of the image crateSebastian Dröge
Only the basic infrastructure is needed and none of the decoders/encoders for various image formats. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1267>
2023-06-19mccparse: Map timecode to PTS directly without offsetSeungha Yang
Assumes that caption stream's timeline starts from zero, and maps timecode time_since_daily_jam() to PTS directly without subtracting the first seen timecode. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1249>
2023-05-18videofx: border: Do not advertise I420 for non-zero border radiusSanchayan Maity
In certain cases, roundedcorners would negotiate to I420 even when user supplied a non-zero border radius. For example, the below pipeline leads to I420 being negotiated even though a non-zero border radius was given. Ideally, this pipeline should have failed at the negotiation stage. ```bash gst-launch-1.0 -v \ videotestsrc num-buffers=1000 pattern=white ! \ video/x-raw,width=320,height=180 ! \ roundedcorners border-radius-px=10 ! videobox border-alpha=0 top=-10 left=-10 right=-10 bottom=-10 fill=yellow ! \ compositor name=comp sink_0::xpos=960 sink_0::ypos=0 sink_0::width=320 sink_0::height=180 sink_0::alpha=1.0 sink_1::xpos=960 sink_1::ypos=180 sink_1::width=320 sink_1::height=180 sink_1::alpha=1.0 \ sink_2::xpos=960 sink_2::ypos=360 sink_2::width=320 sink_2::height=180 sink_2::alpha=1.0 sink_3::xpos=0 sink_3::ypos=0 sink_3::width=960 sink_3::height=720 sink_3::alpha=1.0 ! \ video/x-raw,width=1280,height=720! x264enc ! mp4mux ! filesink location=test.mp4 \ videotestsrc num-buffers=1000 pattern=red ! \ video/x-raw,width=320,height=180 ! roundedcorners border-radius-px=10 ! comp. \ videotestsrc num-buffers=1000 pattern=blue ! \ video/x-raw,width=320,height=180 ! roundedcorners border-radius-px=10 ! comp. \ videotestsrc num-buffers=1000 pattern=green ! \ video/x-raw,width=960,height=720 ! roundedcorners border-radius-px=10 ! comp. ``` If border radius is non-zero, we should not really allow negotiation to select I420. Fix this by returning only A420 for border-radius > 0 in `transform_caps` instead of returning both like earlier. Another example of a simpler pipeline like below which would earlier work ```bash gst-launch-1.0 videotestsrc pattern=red ! videoconvert ! video/x-raw,width=1923,height=1087,format=I420 ! roundedcorners border-radius-px=40 ! video/x-raw,format=I420 ! videoconvert ! gtksink ``` now fails with ```bash WARNING: erroneous pipeline: could not link roundedcorners0 to videoconvert1, roundedcorners0 can't handle caps video/x-raw, format=(string)I420 ``` Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1216>
2023-05-09gtk4: unbreak wayland, x11egl, x11glx features on non-LinuxJan Beich
As the features are non-default leave the responsibility to filter by platform to consumers. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1204>
2023-04-22ffv1dec: Drop rank for nowArun Raghavan
We'll keep the rank lower than avdec_ffv1, at least until we're comfortable with support for the entire range of possible inputs working well. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1190>
2023-04-05git: replace LICENSE file symlinks with copiesTim-Philipp Müller
Git will de-duplicate the contents for us anyway, and symlinks can cause problems with some versions of git and also on Windows. https://github.com/mesonbuild/meson/issues/11646 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4326 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1161>
2023-04-05transcriberbin: 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/1161>
2023-04-05tttocea608: 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/1161>
2023-04-05tttocea608: 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/1161>
2023-04-05transcriberbin: 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/1161>
2023-03-19gtk4: 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/1140>
2023-03-02Update versions to 0.9.10Sebastian Dröge
2023-02-25gtk4: 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/1106>
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/1101>
2023-02-22gtk4: 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/1101>
2023-02-22gtk4: 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/1101>
2023-02-09Update versions to 0.9.9Sebastian Dröge
2023-02-09dav1ddec: 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/1086>
2023-01-23Update version to 0.9.8Sebastian Dröge
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/1058>
2023-01-22dav1d: Get rid of some unnecessary `unwrap()`sSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1056>
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/1056>
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/1056>
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/1056>
2023-01-19Update versions to 0.9.7Sebastian Dröge
2023-01-19gtk4: Only provide a buffer pool to upstream if it requested oneSebastian Dröge
2023-01-19gtk4: Make no caps in the allocation query a non-errorSebastian Dröge
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/1053>
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/1053>
2023-01-18Update versions to 0.9.6Sebastian Dröge
2023-01-10rav1e: Enable threading supportSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1040>
2023-01-07Update versions to 0.9.5Sebastian Dröge
2023-01-07gtk4: Update dependencies to releasesSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038>
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/1038>
2023-01-07gtk4: Rename a variable to make more senseSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038>
2023-01-07gtk4: Handle more GL context creation failures gracefullySebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038>
2023-01-07gtk4: 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/1038>
2023-01-07gtk4: 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/1038>
2023-01-07video/gtk4: Fix typo in info logsJordan Petridis
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038>
2023-01-07gtk4: 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/1038>
2023-01-07gtk4: 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/1038>
2023-01-07gtk4: Add support for GL on macOSSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038>
2023-01-07gtk4: Remove 'gst' from gtksink debug category nameNirbheek Chauhan
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038>