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-10-17Clean up usage of pad probesSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1361>
2023-10-02Update for `VideoFrame` / `GLVideoFrame` API changesSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1345>
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/1312>
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/1312>
2023-08-10Update versions to 0.12.0-alpha.1Sebastian Dröge
2023-08-09Don't generate .def files for pluginsSebastian Dröge
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/389 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1299>
2023-07-24transcriberbin: 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/1287>
2023-07-19Update minimum supported Rust version to 1.70Sebastian Dröge
gtk-rs will update soonish too. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1280>
2023-07-11Remove unnecessary `mut` everywhereSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1273>
2023-07-06Use re-exported once_cellBilal Elmoussaoui
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1268>
2023-07-06Adapt to glib::Continue renameBilal Elmoussaoui
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1268>
2023-07-02gtk4: Add python exampleyatinmaan
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1259>
2023-06-26videofx: 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/1260>
2023-06-26gtk4: Update to windows-sys 0.48Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1260>
2023-06-23gtk4: Make winegl code compilableJayson Reis
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1255>
2023-06-22gtk4: Fix code to run on current main branchJayson Reis
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1255>
2023-06-22gtk4: Add support for GL on WindowsSebastian Dröge
This implements all the workarounds for Windows-specific complications that the GTK GStreamer mediafile implementation also does. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1255>
2023-06-15mccparse: 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/1246>
2023-05-15videofx: 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/1211>
2023-05-12use Pad builders for optional name definitionFrançois Laignel
Also, apply auto-naming in the following cases * When building from a non wildcard-named template, the name of the template is automatically assigned to the Pad. User can override with a specific name by calling `name()` on the `PadBuilder`. * When building with a target and no name was provided via the above, the GhostPad is named after the target. See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/448 Auto-naming discussion: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1255#note_1891181 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1197>
2023-05-12Update to argumentless {Bin,Pipeline}::newFrançois Laignel
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/449 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1197>
2023-05-10transcriberbin: Add "language-code" propertySeungha Yang
Proxy the child transcriber element's property so that transcriberbin can apply the property with required state management Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1205>
2023-04-22gtk4: 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/1191>
2023-04-20Fix a couple of new Rust 1.69 clippy warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1186>
2023-04-14Make sure to keep around and drop bus watches after usage in all the examplesSebastian Dröge
2023-04-13ffv1dec: 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/1174>
2023-04-11tttocea608: specify raw 608 fieldMathieu Duponchelle
The element can only output field=0 raw 608 data. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1166>
2023-04-10fix typosGuillaume Desmottes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1170>
2023-04-07transcriberbin: Allow video with ANY caps featuresSeungha Yang
transcriberbin does not read/write video buffers actually. Allow ANY caps features in order to avoid unnecessary GPU upload/download Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1165>
2023-04-07transcriberbin: require final framerate from cea608muxMathieu Duponchelle
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1164>
2023-04-06transcriberbin: Add support for runtime translation-languages updateSeungha Yang
Allows updating translation-languages at runtime Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1162>
2023-04-06transcriberbin: Wrap conversion channel elements into binSeungha Yang
Make dynamic reconfiguration easier Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1162>
2023-04-05closedcaption: add cea608tocea708 elementMatthew Waters
Implement an element that can take an input 608 caption stream and generate a valid 708 caption stream by parsing the 608 data and generating the equivalent DTVCCPackets and Service blocks. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1112>
2023-04-05cea608utils: track last channel for characters without channel embeddedMatthew Waters
If a basicna character is received, it will always have a channel of 0 even if it's directed at a different data channel. Fix by keeping track of the last channel from other commands and using that when producing text in the basicna subset. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1112>
2023-04-05closedcaption: move 608 utility functions to a separate fileMatthew Waters
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1112>
2023-04-04git: 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/1157>
2023-04-03transcriberbin: Set start-time-selection=first to cea608muxSeungha Yang
We don't want to modify running time of caption stream Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1155>
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>