Thibault Saunier
f59219228f
videorate: Add a property to force dropping out of segment buffers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5725 >
2023-12-05 14:04:05 +00:00
Thibault Saunier
6dc86b1f91
basesrc: Expose automatic-eos as a property
...
It is useful for appsrc for example and no good reason to not expose it as a property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5725 >
2023-12-05 14:04:05 +00:00
Jan Schmidt
3304eae3e8
audio: Extra documentation for gst_audio_ring_buffer_set_timestamp()
...
Clarify the documentation that gst_audio_ring_buffer_set_timestamp()
expects timestamps sampled directly from the pipeline clock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5657 >
2023-12-05 12:42:17 +00:00
Guillaume Desmottes
56e72889c1
meson: update PACKAGE_BUGREPORT
...
Some were still using pre-monorepo links.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5762 >
2023-12-05 11:47:51 +01:00
Guillaume Desmottes
a56923d5e6
qtdemux: fix bug report URL
...
Using PACKAGE_BUGREPORT as in other modules.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5762 >
2023-12-05 09:25:22 +01:00
Philippe Normand
0b5e2ee80a
validate: Fix memory leak in gst_validate_abort()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5757 >
2023-12-04 20:04:05 +00:00
Ruben Gonzalez
97817ef44c
gstgaussblur: delete unused code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5737 >
2023-12-04 18:54:31 +00:00
Daniel Morin
aaee569087
analytics: replace id type from gint to guint
...
- Replace all id type from gint to guint
- Fix annotation for GstAnalyticsODMtdData
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5758 >
2023-12-04 10:14:59 -05:00
Jordan Yelloz
4ec5de8784
gstcontext: Added gst_clear_context()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5756 >
2023-12-02 09:03:47 +00:00
Jordan Yelloz
ac6952e936
gstpromise: Added gst_clear_promise()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5756 >
2023-12-02 09:03:47 +00:00
Thibault Saunier
14c7d3f4e9
qtdemux: Do not update demux->offset
when droping data on EOS
...
The offset is updated right after and we were breaking it by updating it
twice.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5724 >
2023-12-02 08:08:26 +00:00
Thibault Saunier
b1b29de0fb
qtdemux: Do not mark stream as EOS only if all streams are EOS
...
The `GstFlowCombiner` is responsible for tracking the flow of each
stream and handle the overal flow return value. Without that, we
can end up with the following scenario:
- Audio+video stream
- Only the video stream is linked downstream
- The audio stream goes EOS, video doesn't yet
-> We update the Flow in the combiner with OK as all streams are not EOS
- Video goes EOS because downstream returned EOS
-> `qtdemux` returns `FLOW_OK` forever because the unlinked audio pad
has `last_flowret==FLOW_OK`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5724 >
2023-12-02 08:08:26 +00:00
Thibault Saunier
8295b2ae5c
qtdemux: Determine EOS based on the stream segment
...
Depending on the stream segment might vary (because of edts for example)
leading to EOS being sent at the wrong time (too early for example).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5724 >
2023-12-02 08:08:26 +00:00
Seungha Yang
36529475ae
tests: appsrc: Fix test on Windows
...
Windows does not support fork() so all tests will run in a single
process, and global variables will be reused across multiple tests.
Thus, each test should reset global variables.
Also, setup pad chain/event functions before playing state
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5752 >
2023-12-02 01:57:48 +00:00
Thibault Saunier
96cf1f8c8e
ges: asset: Avoid trying to load twice the same asset
...
When requesting an asset from different threads we had no
guarantee that during the time we lookup an asset (which didn't exist)
and the time we create the asset with the same type/ID another thread
could not end up doing the same thing. In turns we could end up with
2 different threads loading the exact same asset and the cache
basically forgetting about one of the entries meaning that the user
would never get notified about one of those being ready to be used.
There was also the case when requesting "sync" where the user was
requesting an asset while another thread is creating it so it was
still in "ASSET_INITIALIZING" state, meaning that the returned asset
would be NULL which would be considered as an error in apps.
Since the cache lock is recursive we can just take it during the whole
ges_asset_request_async call and have other method still hold it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5732 >
2023-12-01 21:51:57 +00:00
Aaron Boxer
b405ff34d3
mpegtsmux: allow attaching PCR to non-PES streams
...
There is an existing PMT mapping between PCR_%s and an mpegtsmux sink
pad name, where %s equals the program number that the PCR corresponds
to. We re-purpose this functionality to also support a mapping between
PCR_%s and an arbitrary PID. If this mapping is set, then the header PCR
PID is set to this value, and PCR is attached to the stream with this
PID.
Note: the current implementation also attaches PCR to the video stream,
so this may be inefficient.
Co-authored-by: Jordan Yelloz <jordan.yelloz@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5726 >
2023-12-01 18:01:34 +00:00
Seungha Yang
75d1b3f92f
appsrc: Fix flow return when buffer is dropped
...
Flow EOS on buffer drop (upstream leaky mode) was not
intended behavior. Appsrc should return OK instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5753 >
2023-12-02 01:09:59 +09:00
Hosang Lee
7bf646e5ba
qtdemux: Don't overflow sample index
...
Don't reduce sample index if it is already at 0.
Assigning -1 to a guint32 variable causes unexpected behavior.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5743 >
2023-12-01 13:34:12 +00:00
Seungha Yang
269df73f92
gl: Add RBGA format support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5738 >
2023-12-01 12:19:12 +00:00
Seungha Yang
9b41666cfd
video: Fix RBGA format poffset
...
The offset array should be [0, 2, 1, 3]
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5738 >
2023-12-01 12:19:12 +00:00
Jimmy Ohn
9c6b0f4615
decodebin2: Properly free when shutting down in gst_decode_bin_expose
...
missing_plugin_details causes memory leakages when shutting down.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5744 >
2023-12-01 19:10:54 +09:00
Jimmy Ohn
2c19c92041
encoding-target: Properly free when missing type field in parse_encoding_profile
...
pname and description in parse_encoding_profile function causes
memory leakages when missing the 'type' field for streamprofile.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5744 >
2023-12-01 09:39:47 +00:00
Hosang Lee
041e0c6cab
qtdemux: Fix reverse playback for pcm audio stream
...
Some raw lpcm or adpcm may have larger sample sizes than the max
buffer size value set.
Trimming the buffer causes bogus size error on reverse playback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5742 >
2023-12-01 15:11:04 +09:00
Seungha Yang
adfa4d459e
qsv: Update plugin doc cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706 >
2023-11-30 21:55:24 +09:00
Seungha Yang
865d7a1351
qsvh265dec: Add support for GBR decoding
...
Use GBR equivalent output formats if RGB colorspace is detected
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706 >
2023-11-30 21:50:26 +09:00
Seungha Yang
e4729e5784
qsvh265dec: Add support for HEVC RExt profiles
...
Adding 4:2:0 high bitdepth and 4:2:2/4:4:4 decoding support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706 >
2023-11-30 21:38:04 +09:00
Seungha Yang
0178cc188b
qsv: Add util methods for video format mapping
...
Remove duplicated format mapping code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706 >
2023-11-30 21:38:04 +09:00
Seungha Yang
801492b334
d3d11: Add RBGA format support
...
Allocates DXGI_FORMAT_AYUV texture for RBGA so that it can be used
by video decoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5703 >
2023-11-29 16:54:16 +00:00
Seungha Yang
5cbd062856
video: Add RBGA format
...
This new format is intended to be used by hardware decoders
where VUYA is only supported 4:4:4 decoding surface but
stream is encoded with GBR color space, HEVC and VP9 GBR streams
for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5703 >
2023-11-29 16:54:16 +00:00
Benjamin Gaignard
cd14b0892e
codecparsers: av1: Clip max tile rows and cols values
...
Clip tile rows and cols to 64 as describe in AV1 specification
to avoid writing outside array range but preserve sb_cols
and sb_rows value which are used to futher computation.
Fixes ZDI-CAN-22226 / CVE-2023-44429
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5702 >
2023-11-29 15:48:50 +00:00
Benjamin Gaignard
f525de6d00
Revert "codecparsers: av1: Clip max tile rows and cols values"
...
This reverts commit b76a801f57
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5702 >
2023-11-29 15:48:50 +00:00
ekwang.lee
7bfb9ea3eb
docs: Add documentation for GST_VALIDATE_LAUNCHER_DEBUG
...
Add documentation for the environment variable GST_VALIDATE_LAUNCHER_DEBUG
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5009 >
2023-11-29 14:05:24 +00:00
Stéphane Cerveau
44ba107715
vkupload: unref vkimagebufferpool
...
Since the vkupload pool refacto, the pool
was not properly unrefed leading to a leak.
Fix for fd5c344fb6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5729 >
2023-11-29 12:10:11 +00:00
Seungha Yang
ccf6ac2b4c
h264decoder: Fix GstVideoCodecFrame leak
...
If current buffer has no slice data, frame should be released.
Otherwise frames will stay in decoder baseclass forever.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5693 >
2023-11-29 10:52:58 +00:00
Jordan Yelloz
e33d5303f7
gstpromise: Added GST_IS_PROMISE() macro
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5728 >
2023-11-28 15:41:49 -07:00
Maksym Khomenko
20f48f0fd0
rtpbasepayload: add extensions property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5694 >
2023-11-28 15:05:24 +00:00
Maksym Khomenko
4eff26ee1c
rtpbasepayload: fix documentation formatting
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5694 >
2023-11-28 15:05:24 +00:00
Stéphane Cerveau
7ac98ce598
vkupload: browse over the input buffer mems
...
To upload/convert the GstBuffer to vkImage, need to
browse over the input mems to fill the out gst buffer vkImage.
This patch is fixing a missing plane/mem with encoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5651 >
2023-11-28 13:53:54 +00:00
Stéphane Cerveau
fd5c344fb6
vkupload: implement decide_allocation vmethod
...
in the case of an upstream element proposing a buffer pool,
use it to allocate the buffer image with the given parameters
set by the upstream element.
Besides the buffer pool handling is sync'd with GstBaseTransform
base class.
See the case of vulkanupload ! vulkanh264enc
Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5651 >
2023-11-28 13:53:54 +00:00
ekwang.lee
6b0f7729e1
validate:launcher: Using surrogateescape error handler
...
Use surrogateescape error handler to convert undecodable bytes without error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5008 >
2023-11-28 13:00:15 +00:00
Seungha Yang
6992e14eee
d3d11: Fix string version shader code
...
RGBA to BGRA conversion code should have written in compute
shader.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5723 >
2023-11-28 21:02:44 +09:00
Seungha Yang
c432a73e80
msdk: Fix build error after d3d11 API change
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3158
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5723 >
2023-11-28 19:17:20 +09:00
Stéphane Cerveau
12b2dfe41b
meson: fix gstreamer-full static mode on win32
...
Win32 was expecting the symbol gst_init_static_plugins in gstreamer-full
dynamic mode.
Add mode in gstreamer gstreamer-full options to tell if its a
gstreamer-full static or shared mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5098 >
2023-11-27 18:12:18 +00:00
Seungha Yang
461c4bc32c
d3d11: Add support for more packed formats using compute shader
...
Adding below listed formats support, and reorders supported format
list based on preference
<YUV 4:2:2>
UYVY, VYUY, YVYU, v210, v216
<YUV 4:4:4>
v308, IYU2
<RGB 16bits per pixel>
RGB16, RGB15, BGR16, BGR15
<RGB 8bits per channel>
ARGB, xRGB, ABGR, xBGR, RGB, BGR
<RGB 10bits per channel>
r210, BGR10A2
<RGB 16bits per channel>
BGRA64
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5717 >
2023-11-27 15:14:09 +00:00
Seungha Yang
f23d4475b3
d3d11convert: Allow MSAA only for native DXGI formats
...
Enable MSAA only if converter can render directly on texture
without post-processing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5717 >
2023-11-27 15:14:09 +00:00
Seungha Yang
845f5d4856
d3d11: Rework memory allocation params signalling
...
Hide GstD3D11AllocationParams detail from public header and
set setter methods.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5717 >
2023-11-27 15:14:09 +00:00
Jan Alexander Steffens (heftig)
393e254255
baseparse: Reset metadata for reverse playback fragment buffers
...
Don't let the adapter leak uncontrollable values.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5718 >
2023-11-27 14:38:45 +00:00
Jan Alexander Steffens (heftig)
3319d152a8
baseparse: Add missing gst_buffer_make_writable
...
When the subclass attempts to finish without an explicit `out_buffer`,
we take a buffer from our adapter. We need to make this buffer writable
before copying the metadata.
This led to data races such as in the following pipeline, which randomly
messed up the buffer PTS:
gst-launch-1.0 -e audiotestsrc timestamp-offset=5555 num-buffers=100 \
! opusenc ! tee name=t ! queue ! opusparse ! fakesink silent=0 \
t. ! queue ! opusparse ! fakesink silent=0 -v | grep '0000, dur'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5718 >
2023-11-27 14:38:44 +00:00
Philippe Normand
986a36273f
pbutils: Don't include default vp9 parameters in resulting codec mime string
...
According to the document defining the vp9 codec string, the optional fields
should all be present only if at least one of them has a non-default value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5716 >
2023-11-27 10:36:01 +00:00
Seungha Yang
721533d042
d3d11: Use shader model 4
...
Since shader model 4 is sufficient for the current pixel shader
implementations, prebuild HLSL with shader model 4 as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5709 >
2023-11-25 20:27:43 +09:00