Robert Mader
b2702b6f10
matroska: Add projection IDs
...
These will allow us to support rotate methods with matroska v4 and
the corresponding webm.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8319 >
2025-02-05 12:03:26 +00:00
He Junyan
652cd2470f
Doc: update the document for the vvc decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865 >
2025-02-05 18:57:06 +08:00
He Junyan
e25ca874e1
va: Implement the VA h266 decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865 >
2025-02-05 18:57:06 +08:00
He Junyan
0ce5fe3cc9
codecs: Add the H266/VVC decoder base class
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865 >
2025-02-05 18:57:06 +08:00
L. E. Segovia
68f964a635
gst-indent: Synchronize defaults with our fork of GNU indent
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8409 >
2025-02-05 09:57:50 +00:00
L. E. Segovia
2b5ab13f29
ci: pre-commit: Fix the gst-indent hook not implementing filtering criteria
...
There's a different way to list the files between the former pre-commit
hook (which ran gst-indent directly on the output of git diff-index)
and the former CI check job (which ran gst-indent-all wholesale).
It can be easily addressed by detecting CI_PROJECT_NAME at listing time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8409 >
2025-02-05 09:57:50 +00:00
L. E. Segovia
915b917ba6
gst-indent: Refactor indent call to make it callable from other scripts
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8409 >
2025-02-05 09:57:50 +00:00
Philippe Normand
5de3cfca31
oggdemux: Fix racy decode error
...
Sometimes the seek to the end of file to determine the duration would trigger a
reset of the source pads, that would confuse the decoder downstream and trigger
an error. So the proposed fix is to not reset pads when the segment event being
processed is the consequence of a seek performed to determine the duration.
Fixes #4212
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/937 >
2025-02-04 18:56:25 +00:00
Seungha Yang
bf98e200b2
mfdevice: Unregister device notification callback on stop
...
... as intended
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405 >
2025-02-03 22:34:27 +00:00
Seungha Yang
972da9cab9
mfvideoenc: Fix profile string check
...
profile_str is not std::string. Use strcmp instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405 >
2025-02-03 22:34:27 +00:00
Seungha Yang
73f8de3305
mfdevice: Fix memory leak
...
Release resources on dispose() as intended
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405 >
2025-02-03 22:34:27 +00:00
Seungha Yang
91def8d4ad
meson: Check d3d12video header for MinGW build
...
Old MinGW toolchain does not ship the header
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8400 >
2025-02-03 21:24:47 +00:00
Michael Tretter
1a8143f721
videotestsrc: fix build if adder is disabled
...
The videotestsrc is not build if the adder plugin is disabled. This is a
copy/paste error introduced in Commit 3de86b2b97
("docs: port plugins to
explicit sources").
Fix the check to actually test the 'videotestsrc' option.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8399 >
2025-02-03 18:57:34 +00:00
Sebastian Dröge
97a6a8213c
avcodecmap: Use gst_value_list_append_and_take_value() in two places
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8379 >
2025-02-03 16:07:37 +00:00
Sebastian Dröge
6d772f6ba3
avcodecmap: Use actually supported channel counts for S302M
...
Only 2/4/6/8 channels are supported. Also this makes sure that the correct
sample rate is enforced (48kHz) in the template caps instead of allow any sample
rate and failing at runtime.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8379 >
2025-02-03 16:07:31 +00:00
Sebastian Dröge
a1c123d342
cc708overlay: Deprecate element in favour of cea708overlay
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3459
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8397 >
2025-02-03 09:51:53 +00:00
Tomas Granath
fa9b630fc8
matroskademux: Mark streams as EOS when outside the requested segment
...
Ensure that streams with no (more) data are marked as EOS when
advancing past the requested segment. Without this change the
EOS would be postponed to the end of the file in that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8395 >
2025-02-03 09:06:28 +00:00
Seungha Yang
353d963c77
d3d12mipgen: Respect requested mip levels
...
Don't waste GPU power by generating more levels than requested
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394 >
2025-02-02 21:01:42 +09:00
Seungha Yang
1dc09d67fe
d3d12mipgen: Serialize root signature only once
...
... and reuse serialized blob
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394 >
2025-02-02 20:51:43 +09:00
Carlos Bentzen
4b0d555056
libav: add support for VVC/H.266 decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7637 >
2025-02-02 08:53:33 +00:00
Ruben Gonzalez
df7a8c8c40
meson: use nls option to ENABLE_NLS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7017 >
2025-02-01 12:27:01 +00:00
L. E. Segovia
d224825f40
ci: Drop gst-indent-all as it's now managed by pre-commit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:15:26 -03:00
L. E. Segovia
2a5758bcf5
ci: Don't swallow gitlint warning
...
Make sure it's reported somewhere readily accessible.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:15:26 -03:00
Andoni Morales Alastruey
44720cd2f4
pre-commit: add documentation on how to use it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:15:26 -03:00
Andoni Morales Alastruey
8c1ffd09d1
pre-commit: add a helper script to check commits individually
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:15:26 -03:00
L. E. Segovia
2e11649264
docs: Move all references to gst-indent-1.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:15:26 -03:00
Andoni Morales Alastruey
3213e641ec
hooks: use pre-commit to run all hooks
...
Migrate all the pre-commit and commit-msg hooks to use
pre-commit (https://pre-commit.com/ )
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:15:25 -03:00
Andoni Morales Alastruey
4ad6d4f99d
csharp: do not format autogenerated code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:14:43 -03:00
Tim-Philipp Müller
eaec7d9acb
bad: tools: update gst-{app,element,project}-maker for new gst-indent
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:14:43 -03:00
Tim-Philipp Müller
bc83c07727
scripts: update update-orc-dist-files.py scripts for new gst-indent
...
And fix python indentation with autopep8
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:14:43 -03:00
Tim-Philipp Müller
41c097ed6c
docs: update contributing + FAQ docs for gst-indent
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:14:43 -03:00
L. E. Segovia
fab3da528e
gst-indent: build our own indent tool and make it available in the devenv
...
No more formatting mismatches owing to different GNU indent
versions shipped by different distro versions.
See #340
Co-authored-by: L. E. Segovia <amy@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:14:41 -03:00
Tim-Philipp Müller
29132f1428
gst-env.py: fix formatting issue
...
gst-env.py:447:15: E271 multiple spaces after keyword
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 18:43:53 -03:00
Carlos Bentzen
8b464cd282
libav: map GST_VIDEO_FORMAT_GRAY10_LE16 to AV_PIX_FMT_GRAY10LE
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8388 >
2025-01-31 14:17:05 +00:00
Seungha Yang
cc6941ed9a
d3d12converter: Fix SRV descriptor heap size
...
Converter was allocating smaller size of descriptor heap
than required size when auto-mipgen is enabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8391 >
2025-01-31 13:16:50 +00:00
Seungha Yang
a91275a71e
examples: Add h264parser example
...
An example to show how to detect frame type using h264parser
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8338 >
2025-01-31 10:53:19 +00:00
Jan Schmidt
31a3172bfe
v4l2vidoedec: Fix caps negotiation in non-DRM case
...
Append acquired_caps to the filter_caps being built,
instead of a 2nd copy of acquired_drm_caps.
Fix a regression introduced in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7633
when downstream doesn't support DRM output.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8385 >
2025-01-30 12:33:07 +00:00
Piotr Brzeziński
a88eda66d2
osxaudio: Always expose max amount of channels with no positions
...
For outputs with a high number of channels, macOS has a bug where
initially CoreAudio will report incorrect positions for all channels,
but after you run Audio MIDI Setup and configure the speaker layout
there, macOS will always report those few as positioned, with no option
to revert that (other than deleting some internal files).
In such scenario our code would just ignore all the unpositioned
channels. Since you can only position max. 16 channels in macOS, if you
had more on your output device, those would be unusable.
This commit makes sure that in addition to the usual positioned layout
(if there is one), we will expose caps for a no-positions layout that
always has the maximum amount of channels available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8311 >
2025-01-30 09:53:15 +00:00
Piotr Brzeziński
c5c5327df6
osxaudio: Work around invalid channel positions from CoreAudio
...
By default, for devices with larger amounts of outputs, CoreAudio can
provide invalid channel labels/positions, simply by starting at 0 and
incrementing forward. For example, values 19 through 32 are not valid
according to the CoreAudioBaseTypes.h header, but if your device has >19
output channels, you will find CoreAudio using those values.
This is most likely a bug in CoreAudio, since in that case it should use
unpositioned labels (e.g. _Discrete_X) instead.
This commit aims to work around this by overriding all channels to be
unpositioned if the case above is detected.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8311 >
2025-01-30 09:53:15 +00:00
Sebastian Dröge
83e95af6e3
mpegtsdescriptor: Add (transfer none) annotation to out parameter of parse_registration()
...
Out parameters are (transfer full) by default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8380 >
2025-01-30 01:06:55 +00:00
Colin Kinloch
e0e7a11089
wayland: De-dupe filling caps format fields
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8268 >
2025-01-29 21:04:16 +00:00
Nicolas Dufresne
d327b576fd
v4l2codecs: format: Fix tiled stride with modifiers
...
After a bit of back and forth, we figure-out that for backward
compatibility we need to set the tile stride the way GStreamer
defines it. Sinks such as glimagesink/waylandsink translate it
back to the number of bytes representation used by Linux.
The change in !7355 when the other way around, breaking tiled
playback through waylandsink and glimagesink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7892 >
2025-01-29 17:20:33 +00:00
Nicolas Dufresne
902f0eb9ea
video: Add DMA_DRM mapping for NV12_16L32S / MT2110T / MT2110R
...
This is used on Meditek SoC and Mesa Panfrost [0] has enabled the 8bit variant
with a faster GL shader implementation then ours.
[0] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31899
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7892 >
2025-01-29 17:20:33 +00:00
Nicolas Dufresne
2be6b66349
video: Import a verbatim copy of drm_fourcc.h
...
Imported from drm-tip [0] at commit 3ab334814dc7dff39075e055e12847d51878916e.
As the copied definition became bigger an bigger, it was quite apparent this
was more work then needed. Simply replace manual copies with a verbatim
official copy of it.
[0] https://gitlab.freedesktop.org/drm/tip/-/blob/drm-tip
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7892 >
2025-01-29 17:20:33 +00:00
Robert Mader
1fc6f0d349
qtmux: Implement rotation tag support
...
Mirroring the demux element and isomp4mux from gst-plugins-rs.
Tested against other Gst elements and MPV. Note that the later
apparently does not show correct results for flipped values.
Can be tested with:
```
gst-launch-1.0 \
videotestsrc num-buffers=90 ! \
taginject tags="image-orientation=rotate-90" ! \
capsfilter caps=video/x-raw,width=640,height=480,max-framerate=30/1 ! \
videoconvert ! \
queue ! \
openh264enc ! \
queue ! \
h264parse ! \
mp4mux ! \
filesink location=./test.mp4
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8371 >
2025-01-29 16:24:21 +00:00
Colin Kinloch
edf157beb5
wayland: Don't filter out unrecognised DRM formats
...
There is no requirement for a base DRM format to be supported by libgstvideo
in order to be uploaded to.
The linux-dmabuf-v1 format events are DRM_FORMAT codes and don't need to
be converted before use with `gst_video_dma_drm_fourcc_to_string`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8279 >
2025-01-29 15:23:57 +00:00
Zhao, Gang
705b142134
fdsrc: Add property is-live
...
Fixed #4184
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8372 >
2025-01-29 12:46:56 +00:00
Alexander Slobodeniuk
6376849396
qtmux: fix critical warnings on negotiation error
...
This pipeline fails to negotiate on my PC:
gst-launch-1.0 v4l2src ! h264parse ! qtmux ! filesink location=t.mp4
When it happens some critical glib warnings are emitted:
-------------------------------
GStreamer-CRITICAL **: 15:09:03.485: gst_mini_object_copy: assertion 'mini_object != NULL' failed
GStreamer-CRITICAL **: 15:09:03.485: gst_mini_object_unref: assertion 'mini_object != NULL' failed
GStreamer-CRITICAL **: 15:09:03.485: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed
GStreamer-CRITICAL **: 15:09:03.485: gst_structure_set_value: assertion 'structure != NULL' failed
GStreamer-CRITICAL **: 15:09:03.485: gst_mini_object_unref: assertion 'mini_object != NULL' failed
--------------------------------
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8374 >
2025-01-29 10:46:25 +00:00
L. E. Segovia
41b779e57c
meson: Add python-exe option to override target Python installation
...
Fixes #4185
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8337 >
2025-01-28 17:31:12 +00:00
Jan Alexander Steffens (heftig)
7abece4416
cccombiner: Restore QoS messaging
...
Reimplement the QoS message generation that was lost together with the
caption frame counting.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996 >
2025-01-28 14:51:19 +00:00