Seungha Yang
9dee102867
d3d12swapchainsink: Add support for MSAA
...
Adding "msaa" property and enable MSAA if supported by device
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
ce5321be68
d3d12videosink: Use converter config for initial MSAA setup
...
Avoid redundant pso creation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
7cf27c456b
d3d12converter: Add support initial pso DXGI_SAMPLE_DESC setting
...
Add more options for pso, in order to avoid redundant pso
creation when MSAA is used
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
965d898deb
d3d12swapchainsink: Add sampling-method property
...
Allow setting sampler filter method to use
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
62caa76155
d3d12convert: Use new sampler filter update method
...
... instead of creating new converter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
a1029d5b87
d3d12converter: Add support for sampler filter update
...
Creates new root signature and pipeline state object
if sampler filter method is updated
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
c75e6d01c5
d3d12converter: Use generated sampler
...
... instead of static ones, in order to support sampler state update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
He Junyan
05353e69ca
va: decoder: Delete all the internal locks
...
In fact, the va decoder is just a internal helper class and its access
is under the control of all dec elements. So far, there is no parallel
operation on it now.
At the other side, some code scan tools report race condition issues.
For example, the "context" field is just protected with lock at _open()
but is not protected at _add_param_buffer().
So we just delete all its lock usage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547 >
2024-09-20 14:36:17 +00:00
He Junyan
2652467d7c
h264bitwriter: Add check for data size to avoid overflow
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547 >
2024-09-20 14:36:17 +00:00
He Junyan
b427f33818
h265bitwriter: Add check for data size to avoid overflow
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547 >
2024-09-20 14:36:17 +00:00
He Junyan
6bb294343b
va: jpegenc: Fix a memory leak when filter sink caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547 >
2024-09-20 14:36:17 +00:00
He Junyan
dfccbd52f4
va: vpp: Use gst_caps_replace to operate the filter_caps
...
No need to use lock when we assign value to priv->filter_caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547 >
2024-09-20 14:36:17 +00:00
Alan Coopersmith
9c0fbfd2eb
gstreamer: netclock-replay: use gst_c_args when building
...
Need HAVE_CONFIG_H to avoid build failure on Solaris 11.4 with gcc 14.1:
../subprojects/gstreamer/tests/misc/../../libs/gst/net/gstnetutils.c:71:7:
error: implicit declaration of function ‘setsockopt’
[-Wimplicit-function-declaration]
71 | if (setsockopt (fd, IPPROTO_IP, IP_TOS, &tos, sizeof (tos)) < 0) {
| ^~~~~~~~~~
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7553 >
2024-09-20 06:20:15 +00:00
Piotr Brzeziński
a6fa53b7b1
rtppassthroughpay: Fix reading clock-rate and payload type from caps
...
They were using wrong types - while uint is correct technically, for compatibility reasons caps have them as signed int.
Values are now correctly read + added simple guards just to be sure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7526 >
2024-09-19 16:46:20 +00:00
Piotr Brzeziński
363154d855
rtppassthroughpay: Add ability to regenerate RTP timestamps
...
Timestamps are untouched by default, but the new mode can now be enabled to replace RTP timestamps
with ones generated from the buffer PTS. Making it an enum in case different modes are needed in the future.
That allows for a rtpjitterbuffer to do proper drift compensation, so that the stream coming out of gst-rtsp-server
is not drifting compared to the pipeline clock and also not compared to the RTCP NTP times.
Most of the code is borrowed from rtpbasepayload, as it's exactly its behaviour which I wanted to bring here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7526 >
2024-09-19 16:46:20 +00:00
Sebastian Dröge
252378f1ae
flvmux: Use gst_aggregator_update_segment() instead of randomly pushing a segment event
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542 >
2024-09-19 17:08:45 +03:00
Sebastian Dröge
cff7e3986e
mxfmux: Use gst_aggregator_update_segment() instead of randomly pushing a segment event
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542 >
2024-09-19 17:08:45 +03:00
Sebastian Dröge
1bd6aabf96
mpegtsmux: Use gst_aggregator_push_src_event() for pushing downstream events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542 >
2024-09-19 17:08:45 +03:00
Sebastian Dröge
37ef85f268
aggregator: Add gst_aggregator_push_src_event()
...
This ensures that any pending events are pushed before pushing the new event.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542 >
2024-09-19 17:08:45 +03:00
Sebastian Dröge
075a81b44f
aggregator: Remove unused tag handling code
...
If this becomes API it would now have to be implemented differently because
various elements are implementing tag handling themselves now and this would
conflict.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542 >
2024-09-19 16:12:14 +03:00
Tim Blechmann
de2a8bd4ad
v4l2: silence valgrind warning
...
Valgrind complains about uninitialized memory used in an ioctl
Syscall param ioctl(VKI_V4L2_G_TUNER).reserved points to uninitialised byte(s)
at 0x719294F: ioctl (ioctl.c:36)
by 0x3126A817: gst_v4l2_fill_lists (v4l2_calls.c:185)
by 0x3126A817: gst_v4l2_open (v4l2_calls.c:589)
by 0x3123F1C2: gst_v4l2_device_provider_probe_device (gstv4l2deviceprovider.c:122)
by 0x3123F648: gst_v4l2_device_provider_device_from_udev (gstv4l2deviceprovider.c:301)
by 0x3123F998: provider_thread (gstv4l2deviceprovider.c:395)
by 0x796FA50: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7200.4)
by 0x710CAC2: start_thread (pthread_create.c:442)
by 0x719DA03: clone (clone.S:100)
Address 0x44008a34 is on thread 11's stack
in frame #1 , created by gst_v4l2_open (v4l2_calls.c:524)
Uninitialised value was created by a stack allocation
at 0x3126A024: gst_v4l2_open (v4l2_calls.c:524)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6144 >
2024-09-18 23:25:18 +00:00
Benjamin Gaignard
0d0097b0b2
v4l2codecs: h265: Minimize memory allocation
...
Be smarter when allocating sink and source memory pools to reduce the
memory footprint. Use gst_v4l2_decoder_get_render_delay() to know the
need number of buffers for downstream element.
Handle errors in case of memory allocation failures.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7544 >
2024-09-18 22:34:34 +00:00
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