Tim Blechmann
edf64dc277
mdns: fix thread names
...
Linux thread names are limited to 15 chars. providing long thread names
causes the thread name not to be applied at all
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6094 >
2024-09-18 20:37:10 +00:00
Tim Blechmann
95db9d64c0
v4l: fix thread name
...
Linux thread names are limited to 15 chars. providing long thread names
causes the thread name not to be applied at all
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6094 >
2024-09-18 20:37:10 +00:00
Michael Tretter
fd165528d2
v4l2videoenc: demote per frame message to LOG
...
The "Handling frame" message with the frame number is printed on every buffer.
Therefore, it should have log level LOG instead of DEBUG.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7543 >
2024-09-18 15:34:30 -04:00
Michael Tretter
5d310062e8
v4l2videoenc: remove unnecessary processing variable and dead code
...
"processing" is only set to FALSE and never set to TRUE. Therefore, the code
that depends on processing to be TRUE is never executed.
Remove the dead code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7543 >
2024-09-18 15:34:24 -04:00
Nicolas Dufresne
ee925c506c
v4l2: encoder: Add dynamic framerate support
...
This is not trully supported in V4L2, but we can emulate this similar to
what other elements do. In this patch we ensure that 0/1 is supported by
encoders (caps query),and uses a default of 30fps whenever we need to
set a framerate into the driver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7352 >
2024-09-18 13:20:42 -04:00
Seungha Yang
5182cac9be
d3d12decoder: Disable sub-allocated bitstream buffer
...
This sub-allocation causes decoding artifacts for some reason
on Intel platform
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7535 >
2024-09-18 10:23:26 +00:00
Sebastian Dröge
9f7148025f
mpegtsmux: Fix refcounting issue when selecting the best pad
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7538 >
2024-09-17 23:49:35 +00:00
Edward Hervey
15e7928c8a
mpegts: Add support for SMPTE ST-2038 ANC
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7461 >
2024-09-17 19:58:48 +01:00
Xavier Claessens
a791648600
aja: there is no need to take object lock
...
Both _sink_event() and _aggregate() vfunc are called from the source pad
streaming thread. There is thus no need to protect caps fields.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7536 >
2024-09-17 15:59:47 +00:00
Edward Hervey
2e8afcf51a
mpegts: Add support for JPEG-XS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172 >
2024-09-16 18:31:01 +01:00
Edward Hervey
838ad5c7e4
tsmux: Split off j2k descriptor code in separate function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172 >
2024-09-16 18:31:01 +01:00
Edward Hervey
6ce1910c5b
mpegts: Handle ISO 13818 / ITU H.222.0 base extension descriptor
...
Previously this was hardcoded to the DVB extension descriptors (0x7f), but it
should also be applied for the base specification extension descriptors (0x3f)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172 >
2024-09-16 18:31:01 +01:00
Peter Kjellerstedt
0db32b3b3a
meta: Add missing include of gststructure.h
...
This avoids the following error when only including gstmeta.h:
/usr/include/gstreamer-1.0/gst/gstmeta.h:146:3: error: unknown type
name 'GstStructure'
146 | GstStructure *structure;
| ^~~~~~~~~~~~
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7520 >
2024-09-16 06:58:08 +00:00
Tim-Philipp Müller
7135dd19fd
ci: run rustfmt job only for changes in Rust code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7325 >
2024-09-15 19:03:51 +00:00
Jordan Petridis
dcd11f0a10
ci: Add rules:changes:compare_to to the job rules
...
By default MR pipelines always compare against the
target branch, however branch pipelines compare
the difference of the last two commit.
This means that once we merge something, jobs that we
expected to run, might not depending on what the last
two commits touched.
Add rules:changes:compare_to: keyword so the behavior
is the same between branch and MR pipelines.
https://docs.gitlab.com/ee/ci/yaml/index.html#ruleschangescompare_to
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3780
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7507 >
2024-09-15 15:52:31 +00:00
Jordan Petridis
d8421a1f42
ci: switch rules:changes to be using paths: subkeyword
...
This is (should) be functionally identical to the existing rules.
When not specified, items added to the changes: are automatically passed
to changes:paths [1], however we are going to introduce another keyword
(changes:compare_to) in the followup commit. Thus switch already from changes: to
changes:paths so it is easier to test the changes standalone.
[1]: https://docs.gitlab.com/ee/ci/yaml/index.html#ruleschanges
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7507 >
2024-09-15 15:52:31 +00:00
Tim-Philipp Müller
d7e8f0e1ca
svtjpegxs: add to documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430 >
2024-09-14 18:30:58 +00:00
Tim-Philipp Müller
cdea025b5b
svtjpegxsenc: put "codestream-length" into caps
...
So consumers can calculate the maximum bitrate (brat)
from that for various descriptors, in combination with
the framerate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430 >
2024-09-14 18:30:58 +00:00
Tim-Philipp Müller
ae1cd3d528
svtjpegxs: add SVT JPEG XS decoder
...
Based on: https://github.com/OpenVisualCloud/SVT-JPEG-XS/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430 >
2024-09-14 18:30:58 +00:00
Tim-Philipp Müller
a6f18726c1
svtjpegxs: add SVT JPEG XS encoder
...
Based on: https://github.com/OpenVisualCloud/SVT-JPEG-XS/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430 >
2024-09-14 18:30:58 +00:00
Seungha Yang
9eb5bfc00c
cuda: Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Seungha Yang
f5ce4d10b1
nvencoder: Add support for d3d12 memory
...
Use d3d12 -> cuda memory copy helper object in cuda mode encoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Seungha Yang
6d28f3b2c6
nvcodec: Add a helper object for d3d12 interop
...
Adding new helper object for d3d12 -> cuda memory copy
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Seungha Yang
e962af3064
d3d12: Add gst_d3d12_get_copyable_footprints() method
...
This helper method will calculate buffer resource size and layout
required for (mutiple) texture resources to be stored in a single
buffer resource
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Seungha Yang
f3589b57d2
d3d12device: Hold compute queue
...
Compute queue will be used for async compute task or device-to-device
memory copy
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Seungha Yang
6f92807759
cuda: Load external resource interop symbols
...
Required for d3d12 interop
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Nirbheek Chauhan
577df3a02f
meson: Re-added required: lines accidentally removed
...
Broke in e3f086c648
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3801
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7512 >
2024-09-13 21:54:54 +00:00
Sebastian Dröge
762a281b0c
matroskamux: Include end padding in the block duration for Opus streams
...
It has to be included in the block duration but in GStreamer we're not
including it in the buffer duration, so it has to be added again here.
Not including it in the block duration can lead to fatal errors when playing
back with Firefox if there are more padding samples than actual samples, e.g.
> D/MediaDemuxer WebMDemuxer[7f6a0808b900] ::GetNextPacket: Padding frames larger
> than packet size, flagging the packet for error (padding: {13500000,1000000000},
> duration: {6000,1000000}, already processed: false)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7502 >
2024-09-13 20:38:51 +00:00
Sebastian Dröge
396ef0cbcf
video: Don't overshoot QoS earliest time by a factor of 2
...
By setting the earliest time to timestamp + 2 * diff there would be a difference
of 1 * diff between the current clock time and the earliest time the element
would let through in the future. If e.g. a frame is arriving 30s late at the
sink, then not just all frames up to that point would be dropped but also 30s of
frames after the current clock time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7459 >
2024-09-13 19:52:52 +00:00
Sebastian Dröge
cd5d03811d
mpegtsmux: Wait for data on all pads before deciding on a best pad unless timing out
...
This makes sure that if upstream has different latencies that we're still
outputting buffers with increasining timestamps across the different streams
unless buffers are arriving after the latency deadline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7500 >
2024-09-13 18:15:05 +00:00
Sebastian Dröge
256a941d3a
splitmuxsink: Override LATENCY query to pretend to downstream that we're not live
...
splitmuxsink can't possibly know how much latency it will introduce as it always
keeps one GOP around before outputting something. This breaks the latency
configuration of the pipeline and we're better off just pretending that
everything downstream of the sinkpads is not live.
Especially muxers that are based on aggregator and time out on the latency
deadline can easily misbehave otherwise as the deadline will be exceeded usually.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7499 >
2024-09-13 14:47:23 +00:00
Sebastian Dröge
e59056526a
video-converter: Add fast path conversions between v210 <-> I420_10 / I422_10
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7504 >
2024-09-13 13:11:31 +00:00
Sebastian Dröge
03d2b28559
aggregator: Immediately return NONE from simple_get_next_time() on non-TIME segments
...
Otherwise this gives critical warnings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7511 >
2024-09-13 12:23:52 +03:00
Arun Raghavan
f30321538b
pad: Check data NULL-ness when probes are stopped
...
We were correctly handling this for buffers, but not events and queries.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7493 >
2024-09-12 05:47:16 +00:00
Seungha Yang
e4220fa9a8
cuda: Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
25f696c7c0
examples: Add application CUDA memory pool example
...
An example to show application managed CUDA memory pool usage
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
ad02fae416
cuda: Add support for application cuda memory pool
...
Adding gst_cuda_register_allocator_need_pool_callback() method
to support memory allocation from application's CUmemoryPool
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
3c3b8e79c2
cuda: Add CUDA memory pool object
...
Adding a wrapper object for CUmemoryPool handle to use the native
handle in a refcounted way
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
cdaa798ac7
cuda: Add methods to enable stream ordered allocation
...
Adding prefer-stream-ordered-alloc property to GstCudaContext.
If stream ordered allocation buffer pool option is not configured
and this property is enabled, buffer pool will enable the stream
ordered allocation. Otherwise it will follow default behavior.
If GST_CUDA_ENABLE_STREAM_ORDERED_ALLOC env is set,
default behavior is enabling the stream ordered allocation.
Otherwise sync alloc/free method will be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
d5d17d804e
nvencoder: Disable stream ordered allocation
...
Stream ordered allocation is not supported by encoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
f72a775d03
cudaipcsink: Disable stream ordered allocation
...
Legacy CUDA IPC does not support default CUDA memory pool
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
b266aa5e65
cuda: Add support for stream ordered allocation
...
Default CUDA memory allocation will cause implicit global
synchronization. This stream ordered allocation can avoid it
since memory allocation and free operations are asynchronous
and executed in the associated cuda stream context
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
174c9bfaa5
cuda: Load stream ordered allocation related symbols
...
Required to support async memory allocation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Carlos Bentzen
b9207beef6
meson: gst-play: link to libm
...
gst-play.c depends on libm due to using `round`.
Passing by, correct identation of `gst_tools` definition.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7492 >
2024-09-10 23:15:05 +00:00
Nicolas Dufresne
9f5fd625a1
wayland: Set a debug category for the shm allocator
...
None was set, which meant the debug was associated with default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7482 >
2024-09-10 21:35:18 +00:00
Nicolas Dufresne
a3bd3d676d
wayland: Fix ABI break in WL context type name
...
While transforming the internals of waylandsink into a library, the
context type name was accidentally changed, causing an ABI break. Change
it back to its original (as used by the libgstgl), and add support for
the misnamed version as a backward compatibility measure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7482 >
2024-09-10 21:35:18 +00:00
Thibault Saunier
9f898f839c
validate: pad-monitor: Fix remaining pad functions data handling
...
That case was missed in a571753089
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7477 >
2024-09-10 15:50:52 +00:00
Nirbheek Chauhan
f4af1f6e62
meson: Update openjpeg wrap to 2.5.2, fixes a warning
...
The version was incorrectly encoded in the opj_config.h header with
the earlier version, which caused a compilation warning.
```
../subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpegenc.c:943:5: warning: ‘bpp’ is deprecated:
Use prec instead [-Wdeprecated-declarations]
943 | comps[i].bpp = GST_VIDEO_FRAME_COMP_DEPTH (frame, i);
| ^~~~~
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7481 >
2024-09-10 14:59:36 +00:00
Nirbheek Chauhan
e402ed86df
vulkan: Fix some doc strings and also some g-i warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7481 >
2024-09-10 14:59:36 +00:00
Thibault Saunier
0d24821167
validate: launcher: Add support for lldb
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7452 >
2024-09-10 11:23:02 +00:00