Thibault Saunier
e251522805
validate: scenario: Add a "select-streams" action type
...
This is a "non-blocking" action type which will send the `select-streams`
event when a `GST_STREAM_COLLECTION` message is received on the bus.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5666 >
2023-11-15 19:07:36 +00:00
Thibault Saunier
d81fe1352c
validate: ssim: Minor debug message enhancements
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5666 >
2023-11-15 19:07:36 +00:00
Thibault Saunier
ad68ce7f64
validate: launcher: Make the output markdown file more readable
...
Without ansi color codes and marking logs as such
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5666 >
2023-11-15 19:07:36 +00:00
Thibault Saunier
c530c94239
validate: launcher: Keep gst debug logs in main log fails in debug mode
...
It makes reading the logs much simpler
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5666 >
2023-11-15 19:07:36 +00:00
Thibault Saunier
89434a077c
validate: launcher: Add a way to specify the source to use for precise seeking tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5666 >
2023-11-15 19:07:36 +00:00
Thibault Saunier
ca584da58d
validate: scenario: Add a way to wait for a property to reach a specified value
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5666 >
2023-11-15 19:07:36 +00:00
Thibault Saunier
158f469de6
validate: scenario: Add a way to accept suposdely invalid position reporting
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5666 >
2023-11-15 19:07:36 +00:00
Sebastian Dröge
6b22f53fa9
player: Without dispatcher emit signals directly instead of via the default main context
...
This is how it was documented and how it worked before the port to GstPlay.
Without this, applications expecting signals to be emitted directly
without anything running the main context will simply not receive any
signals.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5672 >
2023-11-15 17:16:36 +00:00
Seungha Yang
cb3c1390f2
d3d11: Avoid ID3D11DeviceContext::Map if possible
...
Allocate resource with initial date instead of calling Map/Unmap
after allocation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5660 >
2023-11-15 23:38:59 +09:00
Seungha Yang
ac11ccd4ff
dwrite: Protect entire draw operation with D3D11 lock
...
d2d runtime seems to execute pending GPU command list
when DXGI ID2D1RenderTarget is being released, and it will invoke
d3d11 immediate context APIs. Should protect all rendering operations
and DXGI resources with lock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5659 >
2023-11-15 19:25:46 +09:00
Piotr Brzeziński
4037334143
qtdemux: Ignore raw audio streams when adjusting seek
...
Because we treat raw audio chunks/samples as keyframes, they were interfering
with seek time adjustment.
Became apparent when the accompanying video stream was I-frame only,
for example ProRes.
Since raw audio streams can be seeked freely, it's fine to just ignore them here,
giving priority to the real keyframes in the video stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4946 >
2023-11-15 07:55:27 +00:00
Mengkejiergeli Ba
cef1f179c6
msdk: Add device env in plugin dependencies
...
Add env vars GST_MSDK_DRM_DEVICE in plugin_add_dependencies to register
msdk plugins according to user's choice in a multi-gpu platform.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5615 >
2023-11-15 02:34:27 +00:00
Thibault Saunier
23c5025619
ges: Include ges-discoverer-manager.h in ges.h
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5665 >
2023-11-14 22:01:04 +00:00
Thibault Saunier
a2bb04c899
discoverer: Fix accumulating discoverer info when loading from cache
...
With the previous accumualator loading stopped after the first handler,
even if it return NULL which is unexpected, instead we want to use the
first non-value returned by handlers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5665 >
2023-11-14 22:01:04 +00:00
Michael Grzeschik
23a4b72631
codecparsers: h264bitwriter: Fix trace typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5661 >
2023-11-14 14:41:37 -05:00
Seungha Yang
75560329c1
cea608mux: Fix buffer leak
...
Release buffer after use
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5648 >
2023-11-14 11:14:26 +00:00
Dongyun Seo
8db184085a
dcaparse: keep upstream buffer meta
...
Some audio decoders cannot decode DTS stream if there is no
valid timestamp. So, keep upstream buffer meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5655 >
2023-11-14 16:51:44 +09:00
Olivier Crête
7104c867c0
webrtcsdp: Don't require fingerprint in inactive media
...
Inactive m-lines don't need a fingerprint as they may not
have a connection.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1118 >
2023-11-13 20:51:31 +00:00
Olivier Crête
9eddf844f0
webrtcsdp: Remove comparison between media and session fingerprint
...
The code seems to validate that the media-level fingerprint matches
the fingerprint of the previous media or of the whole session. There
is no such requirement in any RFC I found. The session-session one
is just meant to act as a fallback when there is no media-level
fingerprint.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1118 >
2023-11-13 20:51:31 +00:00
qian hu
b8455ae989
video: dma-drm: add color format mappping about RGB and BGR
...
add mapping relationship between GST and DRM about RGB888/BGR888
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5641 >
2023-11-13 17:44:56 +00:00
Stéphane Cerveau
fdc3db68cd
codecparsers: introduce h265 level enum
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5644 >
2023-11-13 16:37:46 +00:00
Benjamin Gaignard
8cd8eeff20
codec2json: Add h2652json element
...
This element convert H.265 frame parameters into human readable json data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3865 >
2023-11-13 14:09:59 +00:00
Benjamin Gaignard
3a7fec4ea1
codec2json: Add h2642json element
...
This element convert H.264 frame header into human readable
json data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3865 >
2023-11-13 14:09:59 +00:00
Jordan Petridis
579c9285c1
ci: Move fedora pkg list in a .txt file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5629 >
2023-11-13 13:28:03 +02:00
Jordan Petridis
5c86cad51d
fedora/install-deps: Install more debug symbols
...
This adds roughly 3 GB to the CI image, but assures us that we will
have most of debug symbols installed, minus a some big ones we
don't need and filter out.
The size increase is not that impactful as it's a one time cost,
since the images get cached in the runners afterwards.
This will improve stacktraces we get from the CI and validate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5629 >
2023-11-12 17:31:06 +00:00
Jordan Petridis
7e6cb3e15f
create-subprojects-cache: Remove git gc call
...
The repos on github/gitlab are mostly pruned when we
clone them now, so we can remove the manual gc and make
the build faster.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5629 >
2023-11-12 17:31:06 +00:00
Jordan Petridis
abda8d362a
ci: Split the fedora prepare.sh script
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5629 >
2023-11-12 17:31:06 +00:00
Philippe Normand
99fa06e73f
play: Improve documentation header
...
If the application relies on GstPlaySignalAdapter, no special clean-up is
required.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5643 >
2023-11-12 11:07:37 +00:00
HuQian
050e7f4831
waylandsink: fix incorrect RGB and BGR mapping about GST DRM and WL_SHM
...
This commit corrects the mapping relationship between RGB and BGR in GST and DRM.
The previous mapping was incorrect, causing potential color mismatches in the output.
The changes are as follows:
{WL_SHM_FORMAT_RGB888, DRM_FORMAT_RGB888, GST_VIDEO_FORMAT_BGR},
{WL_SHM_FORMAT_BGR888, DRM_FORMAT_BGR888, GST_VIDEO_FORMAT_RGB},
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5620 >
2023-11-11 14:41:18 +00:00
Jordan Petridis
e436f87ea2
launcher: Fix ambigious python strings
...
```
gst-devtools/validate/launcher/baseclasses.py:2399: SyntaxWarning: invalid escape sequence '\.'
if re.findall("%s\..*\.%s$" % (re.escape(mfile_bname), self.FILE_EXTENSION), f):
gst-devtools/validate/launcher/apps/gstvalidate.py:1354: SyntaxWarning: invalid escape sequence '\.'
("file\.transcode.*mxf",
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5541 >
2023-11-11 12:47:12 +00:00
Jordan Petridis
bbdf6d4653
meson: Workaround python 3.12 warning
...
When we are building againt python 3.12, ignore redundant-decls warning
that will come from the python headers.
```
/usr/include/python3.12/longobject.h:10:26: warning: redundant redeclaration of ‘PyLong_Type’ [-Wredundant-decls]
10 | PyAPI_DATA(PyTypeObject) PyLong_Type;
| ^~~~~~~~~~~
```
https://github.com/python/cpython/issues/106560
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5541 >
2023-11-11 12:47:11 +00:00
Sebastian Dröge
a238caebbb
play: Automatically flush the bus when disposing the signal adapter
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3107
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5642 >
2023-11-11 14:11:30 +02:00
Philippe Normand
66373721d5
gstplay: Add a minimal documentation header
...
Also mentioning the need to set the bus to flushing state before disposing the
player in order to avoid reference cycles.
Fixes #3107
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5631 >
2023-11-11 10:48:27 +00:00
Daniel Morin
1fc3d43952
audiodecoder: propagate resync flag
...
- propagate resync flag on last input frame to output frame
- resync TS when RESYNC flag is set
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5529 >
2023-11-10 21:45:13 +00:00
Olivier Crête
c2a357c867
rtpopusdepay: set resync flag
...
- Set re-sync flag on output buffer when rtp had the marker flag set.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5529 >
2023-11-10 21:45:13 +00:00
Víctor Manuel Jáquez Leal
43ce583460
vulkan/operation: wait for pending objects at reset
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5591 >
2023-11-10 16:36:44 +01:00
Víctor Manuel Jáquez Leal
0296c8a53a
vulkan/operation: get query only if a operation is submitted
...
To avoid a validation error if get query is performed before.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5591 >
2023-11-10 16:36:44 +01:00
Víctor Manuel Jáquez Leal
3464710bf0
vulkan/operation: remove stored fences at the end
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5591 >
2023-11-10 16:36:44 +01:00
Víctor Manuel Jáquez Leal
405ae91ed7
vulkan/operation: don't fail if extension isn't available
...
gst_vulkan_operation_add_dependency_frame() is a noop if the required extensions
aren't available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5591 >
2023-11-10 16:36:44 +01:00
Sebastian Dröge
274551d450
mxfdemux: Store GstMXFDemuxEssenceTrack in their own fixed allocation
...
Previously they were stored inline inside a GArray, but as references to
the tracks were stored in various other places although the array could
still be updated (and reallocated!), this could lead to dangling
references in various places.
Instead now store them in a GPtrArray in their own allocation so each
track's memory position stays fixed.
Fixes ZDI-CAN-22299
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3055
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5635 >
2023-11-10 14:38:40 +00:00
Benjamin Gaignard
1db83d3f74
codecparsers: av1: Clip max tile rows and cols values
...
Clip tile rows and cols to 64 as describe in AV1 specification.
Fixes ZDI-CAN-22226 / CVE-2023-44429
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3015
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5634 >
2023-11-10 13:45:43 +00:00
Philippe Normand
18fcd14fb8
streamcollection: Fixup doc blurbs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5605 >
2023-11-10 00:28:42 +00:00
Mathieu Duponchelle
39efd788a8
timecodestamper: set drop-frame property default to TRUE
...
After talking with Vivia on IRC, she does not remember why the default
was FALSE and it is in my opinion preferable to stick to whatever
representation best represents time for a given framerate as a default
behavior.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5628 >
2023-11-09 21:05:02 +00:00
Víctor Manuel Jáquez Leal
9f5b2c4e25
va: use GstVideoInfoDmaDrm when importing buffers
...
In the case of encoders and filters when importing a DMABuf, use
GstVideoInfoDmaDrm to get the drm fourcc and modifier.
In both cases, instead of keeping the original GstVideoInfoDmaDrm from caps, the
GstVideoInfo part of the structure is converted as canonical one, given the
format from the fourcc. It's kept in the way to handle V4L2 linear DMABufs and
to avoid too many changes in the current code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264 >
2023-11-09 17:36:06 +00:00
Víctor Manuel Jáquez Leal
7c0227145c
vaallocator: use GstVideoInfoDmaDrm for dmabuf setup
...
Instead of guessing the DRM format and modifier, pass a DRM video info to
gst_va_dmabuf_memories_setup().
Still, it checks for the DRM parameters in DRM info, if they are not available,
as in the case of V4L2 buffers, the part of the video info is used.
This is an API breakage, but since the plugin is still in stage, it's still
allowed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264 >
2023-11-09 17:36:06 +00:00
Víctor Manuel Jáquez Leal
d1210d6dc0
vaallocator: use VADRMPRIMESurfaceDescriptor to create surfaces
...
To import DMAbufs we used VASurfaceAttribExternalBuffers which works, but it's
not specific for DRM PRIME 2, since it lacks of many metadata. This patch
replaces VASurfaceAttribExternalBuffers with VADRMPRIMESurfaceDescriptor in
va_create_surfaces().
Still, this patch assumes linear modifier only.
The hack for RGB surfaces in I965 driver was pushed down into
va_create_surfaces() to avoid handling both structures.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264 >
2023-11-09 17:36:06 +00:00
Víctor Manuel Jáquez Leal
76115528ac
vallocator: remove n_planes argument in dmabuf_memories_setup()
...
Instead of passing the number of planes to process, take that number from the
passed GstVideoInfo.
This is an API breakage, but since the plugin is still in stage, it's still
allowed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264 >
2023-11-09 17:36:06 +00:00
Víctor Manuel Jáquez Leal
2d358cb22a
vaallocator: fix assumption object size equal fd size
...
Remove the comment and warning message that object size should be equal to the
file descriptor size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5264 >
2023-11-09 17:36:06 +00:00
Mathieu Duponchelle
169e38cbe6
ci: bump hotdoc version to 0.16
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5630 >
2023-11-09 16:31:36 +02:00
Tobias Rapp
cd98d12f2e
decklink: Fix typo in element documentation
...
DechLink -> DeckLink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5625 >
2023-11-09 07:53:12 +00:00