Edward Hervey
5c1cb960b3
oggdemux: Don't leak incoming EOS event
...
If we're going to drop it ... then do drop it :)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3400 >
2022-11-14 16:51:40 +00:00
Víctor Manuel Jáquez Leal
64cb38685b
matroskademux: Handle element's duration query.
...
This is small regression from commit f7abd81a
.
When calling `gst_element_query()` no pad is associated with that query, but the
current code always forwards the query to the associated pad, which is NULL in
previous case. This patch checks for the pad before forwarding the query.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3404 >
2022-11-14 15:10:44 +00:00
Jan Schmidt
452890093d
aesdec: Fix padding removal for per-buffer-padding=FALSE
...
When per-buffer-padding is FALSE, the OpenSSL context needs
to be told to remove any padding at the end of the ciphertext
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1243
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3406 >
2022-11-15 00:13:15 +11:00
Rafał Dzięgiel
9e74c728cb
adaptivedemux2: Fix parent object leak
...
gst_object_get_parent() method is transfer-full, thus unref is needed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3396 >
2022-11-13 11:35:09 +00:00
Edward Hervey
7988144048
pbutils/encoding-profile: Streamline cleanup
...
Cleanup all local variables in one place, and ensure failure cases go through there.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
6582cd514a
avvidenc: Don't leak AVPacket on EOF
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
47833c8b36
avcfg: Don't leak the support GArray when registering flag/enums
...
* Only create it if we are attempting to put values in it
* If we sucessfully registered the values, only free the GArray
* IF we didn't, also free the backing memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
1c8a57a85c
transcodebin: Use const arguments for clarity
...
And rename it when it classhes with existing local variable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
2e2bc0da54
transcodebin: Don't leak GstStream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
8e09b645c0
transcode: Don't leak caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
c82f9c9f8c
transcode: Don't leak timer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
e821b65a64
validate-scenario: Don't leak GFile
...
And use specific variables for clarity in loops.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
3f95779c30
validate: Don't leak discoverer information
...
The various streaminfo were being overwritten without being unreffed first
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
00133ebbe4
mpegtsbase: Don't leak GList
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:10 +01:00
Edward Hervey
f8f3615585
validate: Don't deinit too early
...
If we are going to use the validate functions ... do that *before*
deinit'ing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 12:24:21 +01:00
Edward Hervey
eebb794a4f
streamsynchronizer: Don't leak the syncstream object
...
It was leaked when breaking out early when handling GST_EVENT_STREAM_START
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 12:24:21 +01:00
Edward Hervey
45e8137e6e
uritranscodebin: Don't leak uris, profile, sinkpad and filters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Edward Hervey
a301c92ca3
transcodebin: Don't leak profile
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Edward Hervey
9b67028759
transcodebin: Actually free the TranscodingStream structure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Edward Hervey
90a1d9f873
transcoder: Don't leak API bus and GMainLoop
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Edward Hervey
052f23a310
avvidenc: Don't leak filename
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Edward Hervey
c00da50c61
encodebasebin: Don't leak muxer pad
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Edward Hervey
872b0a65cb
pbutils/encoding-profile: Don't leak string array
...
It was never freed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Edward Hervey
ba0c95312e
streams: Reset stream id field on finalize
...
If debugging is activated, the parent class finalize might attempt to read it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:50 +01:00
Seungha Yang
219c5cf330
meson: d3d11: Clarify the message for WGC support check
...
Even Windows10 SDK seems to have required symbols depending on installed
SDK version
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3376 >
2022-11-11 19:42:19 +00:00
Seungha Yang
12a2c1dffe
d3d11screencapturesrc: Fix build error with MSVC x86
...
Delete the code for now. Note that the code block is unnecessary already
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3375 >
2022-11-11 18:58:54 +00:00
Taruntej Kanakamalla
0d5c89a3b4
Updated the Pango broken link
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2723 >
2022-11-11 12:17:40 +00:00
Taruntej Kanakamalla
ba49efa8f2
Updated the GObject tutorial link
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2723 >
2022-11-11 12:17:40 +00:00
Nicolas Dufresne
b57135e09c
rawvideoparse: Fix support for sub-sampled tile
...
This element was missed as it does not use the new helpers to calculate the
plane size. The code is relatively simple though, so adding support for
subsample tiles was easy enough.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3385 >
2022-11-11 11:02:15 +00:00
Matthew Waters
5ca3988420
webrtc/datachannel: handle error messages from appsrc/sink
...
Fixes a possible race where closing a data channel may produce e.g.
not-linked errors.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3381 >
2022-11-11 10:13:27 +00:00
Matthew Waters
a34e380e2e
sctpdec: fix stream reset (src pad removal) if no data is ever received
...
If we don't receive any data from usrsctp, then there will be no src pad
for the stream id and the stream reset will fail to remove the relevant
src pad. Workaround by first attempting to add the relevant src pad, then
almost immediately removing it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3381 >
2022-11-11 10:13:27 +00:00
He Junyan
b010f00d36
test: Correct the test suite name of the h264 and h265 bitwriter.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3384 >
2022-11-11 08:19:01 +00:00
Colin Kinloch
99fc124f25
videocrop, videobox: Simplify navigation event handling and support touch events
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:49 +00:00
Colin Kinloch
841f50f0d9
va: Fix vapostproc navigation event co-ordinate mapping
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:49 +00:00
Colin Kinloch
e1d71aedbc
vaapi: Use gst_video_orientation_from_tag to parse orientation
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:48 +00:00
Colin Kinloch
d7aba91518
videoflip: Use gst_video_orientation_from_tag to parse orientation
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:48 +00:00
Colin Kinloch
d54e597278
va: Use gst_video_orientation_from_tag to parse orientation
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:48 +00:00
Tong Wu
ef4fc11193
msdkvpp: delete the macros to make video memory work on Windows
...
Since gst_msdk_import_to_msdk_surface has been implemented for d3d11, we
delete the macros to make it work on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
7becf35221
msdkvpp: modify the way of copying system memory to msdk surface
...
Replace video_copy with memcpy to fix the issue when the sizes of the
src frame and dst frame don't match. Moreover, for Windows, you have to
do the copy first and call gst_msdk_import_to_msdk_surface later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
9a6dd525f7
msdkvpp: add d3d11 support during negotiation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
a55808d299
msdkvpp: add d3d11 video memory to sink and src caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
78523c5130
msdkvpp: delete use_sinkpad_va and use_srcpad_va
...
This two variables are no longer useful. Delete them for now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
f25f528120
msdkenc: modify the way of copying system memory to msdk surface
...
Replace video_copy with memcpy to fix the issue when the sizes of the
src frame and dst frame don't match. Moreover, for Windows, you have to
do the copy first and call gst_msdk_import_to_msdk_surface later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
f6e207eb1b
msdkallocator_d3d: add d3d11 video memory and import it to msdk surface
...
This patch introduces d3d11 texture and index to GstMsdkMemoryID and
implements gst_msdk_import_to_msdk_surface in order to wrap the surface
to mfxMemId.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
7f18f11a90
msdkallocator_d3d: implement GetHDL callback function
...
During encoding process, oneVPL runtime will call GetHDL callback function.
This patch implements this function for the use of msdk.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
86d22b2e38
msdkallocator: add a parameter to function gst_msdk_import_to_msdk_surface
...
Add a flags parameter to function gst_msdk_import_to_msdk_surface and
move the function declaration to gstmsdkallcator.h to prepare for adding
Windows implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
abe47f3fa0
msdkenc: add d3d11 pool during negotiation
...
This patch adds Windows specific set_format and propose_allocation
functions to enable creating d3d11 pools during negotiation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
c62deb6fe9
msdkenc: add D3D11 caps for msdkenc
...
This patch adds D3D11 feature to sink factory for msdkenc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
d61a248ac8
MSDK: Introduce d3d11 device to MSDK context
...
Currently MSDK context does not support d3d11va. Now introduce d3d11va
device to MSDK context, making it able to create msdk session with d3d11
device and to easily share with upstream and donwstream.
Add environment variable to enable user to choose GPU device in multi-GPU
environment. This variable is only valid when there's no context
returned by upstream or downstream. Otherwise it will use the device
that created by upstream or downstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
11e13b189d
MSDK: Add gst d3d11 lib into MSDK's dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Víctor Manuel Jáquez Leal
eb0f90f6ec
vafilter: Log out processed surfaces for debug.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3373 >
2022-11-11 04:19:54 +00:00
Víctor Manuel Jáquez Leal
bc4aa017ac
vadeinterlace, vapostproc: Drop output buffer if process failed.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3373 >
2022-11-11 04:19:54 +00:00
Daniel
ccfb77c775
debugutils: videocodectestsink: add support for more formats
...
Add support for more formats so as to run the libvpx high bit depth test suite.
This means the files under CONFIG_VP9_HIGHBITDEPTH
This also allows running the yuv444p 8bit file in the regular 8 bit vp9 suite.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3356 >
2022-11-10 15:26:22 +00:00
Elliot Chen
4020542b3c
gstplay: fix segmentation fault caused by subtitle info update
...
For subtitle stream played by subrui, gstplay will update subtitle
information before select the stream by using playbin3. Need check
the subtitle_sid value to avoid segmentation fault.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3383 >
2022-11-10 14:07:39 +00:00
Christian Wick
60a7366d27
gst-rtsp-server: compile example for onvif backchannel testing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3363 >
2022-11-10 13:04:04 +02:00
Christian Wick
2498457b2f
rtspsrc: Introduce new action signal push-backchannel-sample
with correct ownership semantics
...
Signals are not supposed to take ownership of their arguments but only
borrow them for the scope of the signal emission.
The old action signal `push-backchannel-buffer` is now marked deprecated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3363 >
2022-11-10 13:04:04 +02:00
Guillaume Desmottes
9eee5adb24
gssink: add 'content-type' property
...
Useful when one wants to upload a video as `video/mp4` instead of
'video/quicktime` for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3371 >
2022-11-10 09:53:29 +00:00
Matthew Waters
e2ff6b61ce
cccombiner: initial implementation of using CCBuffer helper
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
088597b430
closedcaption: move CC buffering to helper object
...
Move most of the interesting code from ccconverter to this new helper
object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
06a20f9243
closedcaption: move cdp->cc_data into shared location
...
So it can be used by both ccconverter and cccombiner
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
fde92ec43f
closedcaption: move cc_data->cdp to shared file
...
Used by both ccconverter and cccombiner
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
9f1b54f6ee
ccconverter: avoid different indent versions indenting !! differently.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
067185e7da
closedcaption: move cdp framerate table to common file
...
shared by both cccombiner and ccconverter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
5dd199f7e8
cccombiner: don't assume a single cea608 data packet per buffer
...
e.g. 24fps can have up to 3 and would include either two field0 or
field1 cea608 data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
741cfd18b5
ccconverter: drop data when overflow on extracting cea608 from cc_data
...
If the buffer overflows, then drop rather than causing a failure and
fropping the output buffer indefinitely. This may have caused downstream to
be waiting for data the will never arrive.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
542060fea7
ccconverter: fix framerate passthrough with malformed input
...
If an input is malformed (only produces cea608 field 1 cc_data) then
when in passthrough we would effectively be dropping every second cea608
on output as we would not store any unused cea608 data.
Fix by having all code paths go through the framerate conversion code
which will store and retrieve any relevant data across buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Seungha Yang
b36b9c7821
amfcodec: Fix typos
...
Fixing typo surfrace -> surface
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3378 >
2022-11-09 23:02:21 +00:00
Seungha Yang
93b6cf7adb
mfvideosrc: Return S_OK from ISampleGrabberCB callback
...
The Microsoft's ISampleGrabber implementation seems to be ignoring
the HRESULT return value from the callback though,
S_OK is the right HRESULT code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3379 >
2022-11-10 06:03:45 +09:00
Nicolas Dufresne
aaa01ac30a
gstgl: Fix handling of padded tile formats
...
When a tile format is padded and imported as DMABuf, the stride
contains the information about the actual width and height in
number of tiles. This information is needed by the detiling shader
in order accuratly calculate the location of pixels. To fix that,
we also copy the offset and strides into the otuput format and
the converter will ensure that the shader is recompiled whenever
the stride changes.
This fixes video corruptions observed when decoding on MT8195
with videos that aren't not aligned to 64bytes in width.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3365 >
2022-11-09 17:15:32 +00:00
Edward Hervey
e3637e3207
childproxy: Fix documentation
...
Warning: Gst: gst_child_proxy_get_child_by_name_recurse: unknown parameter
'parent' in documentation comment, should be 'child_proxy'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3370 >
2022-11-09 16:03:58 +00:00
Mengkejiergeli Ba
51f92fd15f
vaapi: Add new dmabuf mem type when building caps
...
Media-driver will return dmabuf mem type GST_VAAPI_BUFFER_MEMORY_TYPE_DMA_BUF2
on the latest platform like Gen12. To enable build caps using dmabuf, need to
add the check for this type at gst_vaapi_build_caps_from_format.
This patch is a portion from Junyan.He@intel.com
https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/393
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1287 >
2022-11-09 13:41:26 +00:00
Mengkejiergeli Ba
d8a477338f
vaapipostproc: Enable to use DMABuf mem at sink and src pad
...
Enable DMABuf mem at both sink and src pad for vaapipostproc caps which
helps to apply DMABuf for more generic use cases: such as "! vaapih264dec !
video/x-raw(memory:DMABuf) ! vaapipostproc ! video/x-raw (memory:DMABuf)
! vaapih265enc" . Or other mem converions like from DMABuf to VASurface
through vaapipostproc.
This patch is a portion from Junyan.He@intel.com
https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/393
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1287 >
2022-11-09 13:41:26 +00:00
Seungha Yang
99b83f33f7
d3d11screencapturesrc: Specify PAR 1/1 to template caps
...
... otherwise PAR can be wrongly signalled during the negotiation
Fixing below pipeline when desktop resolution is not 640x480
gst-launch-1.0.exe \
d3d11screencapturesrc ! videoscale !
video/x-raw,width=640,height=480,pixel-aspect-ratio=1/1 ! d3d11videosink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3360 >
2022-11-09 11:22:06 +00:00
Víctor Manuel Jáquez Leal
7f4f11503c
tests: examples: va: Add encoders dynamic reconfiguration.
...
Take the QSV encoder test and used it for VA.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:15:23 +01:00
Víctor Manuel Jáquez Leal
1f7cf1d408
va: caps: Fix raw caps for H264 encoding.
...
Mesa gallium and Intel i965 ill reports unsupported video formats.
This commit reverts ecb12a05
and adds a deeper workaround, since
ecb12a05
only fix the template caps, but not when renegotation
happens.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:15:23 +01:00
Víctor Manuel Jáquez Leal
4994487b8f
vabaseenc: Log out the flow error name.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:15:23 +01:00
Víctor Manuel Jáquez Leal
dbf8c38667
vah264enc: Enable parameters change while running.
...
1. Removes the verification if the internal encoder is not opened
yet to allow the property setting.
2. And toggles on the base class' reconf flag for each property
variable that can be modified at run time.
3. Mark those modifiable properties as mutable while playing.
Currently the run-time modifiable properties are:
qpi, qpp, qpb, bitrate, target percentage, target usage and rate control
Other properties can be enabled too, but they need testing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:15:21 +01:00
Víctor Manuel Jáquez Leal
bd3c50e50f
vabaseenc: Enable encoder reconfiguration.
...
Adds an internal function reset() which drains the internal queues and
calls the reconfig() vmethod.
This reset() method is called inconditionally at set_format() and in
handle_frame() if the instance's reconf flag is enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:13:26 +01:00
Víctor Manuel Jáquez Leal
351a107ecc
vah264enc: Avoid reopen encoder or renegotiate.
...
If parameters remain similar enough to avoid either encoder reopening
or downstream renegotiation, avoid it.
This is going to be useful for dynamic parameters setting.
To check if the stream parameters changed, so the internal encoder has
to be closed and opened again, are required two steps:
1. If input caps, profile, chroma or rate control mode have changed.
2. If any of the calculated variables and element properties have
changed.
Later on, only if the output caps also changed, the pipeline
is renegotiated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:13:26 +01:00
Víctor Manuel Jáquez Leal
38f1a4ee3d
vaencoder: Add gst_va_encoder_get_reconstruct_pool_config()
...
This method will return the caps configured in the reconstruct buffer
pool, and its maxium number of buffers to allocate.
The caps are needed later to know if the internal encoder has to be
reopened if the stream properties change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:13:25 +01:00
Seungha Yang
ded3e7c81a
directshow: Demote rank of device provider to GST_RANK_NONE
...
Current directshow plugin seems to be unstable and unmaintained
for many many years.
See
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3323
and
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1828
Disable this device provider by default to avoid any side-effect
of this plugin
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3355 >
2022-11-09 00:30:45 +00:00
Victor Manuel Jaquez Leal
bb86728a1a
vah264enc: Fix properties documentation.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361 >
2022-11-08 21:49:05 +00:00
Victor Manuel Jaquez Leal
c60504bd9e
va: Document device-path property.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361 >
2022-11-08 21:49:05 +00:00
Victor Manuel Jaquez Leal
98a3aee6cb
va: Reenable plugin cache.
...
This basically a revert of commit 9bb560e7
Also it adds vaav1dec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361 >
2022-11-08 21:49:05 +00:00
Victor Manuel Jaquez Leal
0918910a7d
vavp8dec, vampeg2dec: Fix type name.
...
The camel case name is wrong when registering the type.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361 >
2022-11-08 21:49:05 +00:00
Talha Khan
6c8b7204e5
videoconvert, videoscaleconvert: fix element description
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3362 >
2022-11-08 16:51:58 +00:00
Sebastian Dröge
82f09d64d7
allocator: Switch allow-none
annotations to nullable
/ optional
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3364 >
2022-11-08 17:45:37 +02:00
Sebastian Dröge
aadebd6921
allocator: Copy allocator name in gst_allocator_register()
...
The parameter is not marked as `transfer full` and stays around in the
hash table, so we will have to copy it ourselves.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3364 >
2022-11-08 17:44:54 +02:00
Guillaume Desmottes
c624900a44
tracers: latency: document the 'reported' flag
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3359 >
2022-11-08 10:10:09 +00:00
Víctor Manuel Jáquez Leal
96a6b33029
vacaps: Sort raw caps according their efficiency.
...
Caps negotiations considers template caps order. This patch sets the
correct order according the feture caps: VAMemory, DMABuf and
SystemMemory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3349 >
2022-11-08 05:15:09 +00:00
Tim-Philipp Müller
db450689db
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3358 >
2022-11-08 02:08:08 +00:00
Tim-Philipp Müller
a1fcf2b90a
subprojects: pin gst-plugins-rs for GStreamer 1.21.2 release
2022-11-08 01:51:20 +00:00
Tim-Philipp Müller
3e29ac35c4
Release 1.21.2
2022-11-07 23:54:03 +00:00
Tim-Philipp Müller
98d2f958a9
Update ChangeLogs for 1.21.2
2022-11-07 23:53:57 +00:00
Xavier Claessens
e8eddf46ea
hotdoc: gst-hotdoc-plugins-scanner is not needed for libraries
...
Meson >= 0.64.0 does not allow any more to add executables into
hotdoc.generate_doc(..., dependencies: ...) and it should not be needed
any way.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3352 >
2022-11-07 23:06:32 +00:00
Jan Alexander Steffens (heftig)
28628a67e5
srt: Add a property to disable automatic reconnect
...
This adds a new boolean property `auto-reconnect`, defaulting to `true`.
Setting it to `false` makes the elements (in caller mode) immediately
report an error to the application instead of trying to reconnect.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3326 >
2022-11-07 22:23:02 +00:00
Sebastian Dröge
40800fa117
discoverer: Annotate DiscovererInfo::get_audio_streams()
and others with the concrete stream info type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3353 >
2022-11-07 19:04:49 +00:00
Víctor Manuel Jáquez Leal
bbd2bce11d
vabasetransform: Fail if cannot import the input buffer.
...
Otherwise got a buffer double free.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3348 >
2022-11-07 17:57:05 +00:00
Seungha Yang
4b05736c63
mfvideosrc: Add support for DirectShow capture filter
...
Adding DirecShow video capture filter mode, in addition
to existing MediaFoundation and WinRT(UWP) mode, to support
DirectShow only filters (not KS driver compatible)
such as custom virtual camera filters.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3350 >
2022-11-08 01:33:14 +09:00
Jan Alexander Steffens (heftig)
a51d492445
tests: gstinfo: Test set_threshold_from_string's new reset behavior
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/605 >
2022-11-07 14:49:45 +00:00
Jan Alexander Steffens (heftig)
38a2453f23
tests: gstinfo: Make logging tests pass when GST_DEBUG is set
...
Use gst_debug_set_threshold_from_string's new reset behavior to undo
GST_DEBUG and ensure the logging tests have a known configuration.
`gst_debug_set_threshold_from_string ("LOG", TRUE)` has the same effect
as `gst_debug_set_threshold_from_string ("", TRUE)` followed by
`gst_debug_set_default_threshold (GST_LEVEL_LOG)`.
Don't bother remembering the default log level set when the test
started. It will get reset by the next test, anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/605 >
2022-11-07 14:49:44 +00:00
Jan Alexander Steffens (heftig)
58013b4b21
info: Reset patterns with set_threshold_from_string
...
TLDR: Make `gst_set_threshold_from_string ("", TRUE)` reset *all*
threshold settings, including those set by previous invocations of
`gst_debug_set_threshold_from_string`.
The docs say:
@reset: %TRUE to clear all previously-set debug levels before setting
new thresholds
What actually happens is it sets the default threshold to `ERROR`,
leaves the patterns in place and calls
`gst_debug_category_reset_threshold` on each category.
In effect, any category that is matched by a pattern gets reset to that
threshold if the app changed it by directly invoking
`gst_debug_category_set_threshold`. All other categories are reset to
`ERROR`.
In my opinion this parameter currently has little value, as the same
effect can be achieved by including `ERROR` (without a pattern) in the
string, as in `"foo*:WARNING,*bar:INFO,ERROR"`.
What I actually expect it to do is reset *all* threshold settings,
including those set by previous invocations of
`gst_debug_set_threshold_from_string`, starting off with a clean slate
for the patterns provided with the call.
Otherwise there is no API to do this, besides:
- Painfully removing patterns one-by-one via
`gst_debug_unset_threshold_for_name` *if* you know what the patterns
are.
- Adding a `*:FOO` pattern to affect all categories, which makes the
default threshold useless and practically leaks all the old
patterns.
In my opinion this also makes it fit better into the layers of threshold
config, which is:
1. Temporary:
- `gst_debug_category_set_threshold`
- `gst_debug_category_reset_threshold`
2. Patterns:
- `gst_debug_set_threshold_for_name`
- `gst_debug_unset_threshold_for_name`
- `gst_debug_set_threshold_from_string`
- `GST_DEBUG`
3. Default:
- `gst_debug_set_default_threshold`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/605 >
2022-11-07 14:49:44 +00:00
Jan Alexander Steffens (heftig)
b22093be3c
rtmp2: Improve error messages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
f2d7b98ea4
rtmp2/connection: Pass triggering GError in 'error' signal
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
9952be2ab3
rtmp2/connection: Pass triggering GError to _emit_error
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
39bab56a08
rtmp2/connection: Discern reasons for cancelling all commands
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
297cdaa381
rtmp2/connection: Handle EOF like error
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
031d52672b
rtmp2/client: Make sure 'salt' is not NULL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
dcada94046
rtmp2/client: Make sure 'reason' is not NULL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:07 +00:00
Jan Alexander Steffens (heftig)
a13f234be3
rtmp2/client: Make sure 'desc' is not NULL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:07 +00:00
Jan Alexander Steffens (heftig)
2037f1ed0a
rtmp2/client: Make sure 'code' is not NULL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:07 +00:00
Edward Hervey
a100f36b69
webrtcbin: Don't duplicate enum string values
...
Some were leaked when debugging was enabled. Instead just directly use the
static strings as-is.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3347 >
2022-11-07 11:21:00 +00:00
Edward Hervey
605cb6a4d4
gstpad: Avoid race in (un)setting EOS flag on sinkpads
...
The scenario is the following:
* Thread 1 is pushing an EOS event on a sinkpad
* Thread 2 is pushing a STREAM_START event on the same sinkpad before Thread 1
returns. Note : It starts pushing the event after Thread 1 took the object lock.
There is a potential race between:
* The moment Thread 1 sets the EOS flag once it has finished sending the
event (via store_sticky_event). When it does that it has both the STREAM and
OBJECT lock
* The moment Thread 2 sends the STREAM_START event (Which should release that
EOS status), but removing the EOS flag is only done while holding the OBJECT
lock and not the STREAM_LOCK, which means it could be re-set by Thread 1 before
it then checks again the EOS flag (without the STREAM lock taken).
The EOS flag unsetting by STREAM_START should be done with the STREAM lock
taken, otherwise it will be racy.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1452
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3320 >
2022-11-07 06:28:39 +01:00
Nicolas Dufresne
e81e212610
videocodectestsink: Add YUV422 support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3331 >
2022-11-07 00:40:25 +00:00
Tim-Philipp Müller
62f8d292a1
gst-inspect: print doc urls for Rust plugins
...
We have documentation for them now after all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3346 >
2022-11-06 18:10:44 +00:00
Justin Chadwell
fd96fc23c5
qtdemux: use unsigned int types to store result of QT_UINT32
...
In a few cases throughout qtdemux, the results of QT_UINT32 were being
stored in a signed integer, which could cause subtle bugs in the case of
an integer overflow, even allowing the the result to equal a negative
number!
This patch prevents this by simply storing the results of this function
call properly in an unsigned integer type. Additionally, we fix up the
length checking with stsd parsing to prevent cases of child atoms
exceeding their parent atom sizes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3344 >
2022-11-06 12:00:31 +00:00
Seungha Yang
0405e0cfc7
d3d11videosink: Always clear back buffer on resize
...
Swapchain may not need to be resized if the size of backbuffer
is equal to the previous size. Then previously rendered frame will be stay
on the screen. Do clear back buffer whenever resize() is called
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3341 >
2022-11-05 17:23:24 +00:00
Edward Hervey
24a0e5bdfd
subparse: Fix non-closed tag handling.
...
Unclear what the goal was, but we could end up reading way past the next_tag.
Instead just move everything from after the end tag ('>') to the next_tag.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53040
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3340 >
2022-11-05 16:19:53 +00:00
Nicolas Dufresne
e283c99358
avutils: Add missing space in doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3330 >
2022-11-05 15:12:08 +00:00
Nicolas Dufresne
7b70de580c
avviddec: Initialize std_compliance to default
...
This was missed in the initial patch.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3330 >
2022-11-05 15:12:08 +00:00
Seungha Yang
e1e9ee5506
qsv: Fix encoding error when input memory belongs to other GPU
...
Copy frame if VA display of input buffer is different from that
of encoder, like we've been doing on Windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3335 >
2022-11-05 13:59:45 +00:00
Tim-Philipp Müller
04581fad6a
identity: fix "handoff" signal docs
...
The docs list an extra pad argument, which doesn't
match the actual signal function signature. Probably
a copy'n'paste mistake when copying things from fakesink.
Fixes #1546
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3337 >
2022-11-05 11:58:34 +00:00
He Junyan
1881d1826a
va: baseenc: Do not import the VA surface from other display.
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
d51b29b1dc
va: compositor: Do not use allocator and pool from other display.
...
Just like the va decoder, the compositor should not use allocator
and pool from other display. Also, when importing the input buffer,
if it is from other display, we should fallback to memory copy.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
b9b211c1d1
va: basetransform: Do not use allocator and pool from other display.
...
Just like the va decoder, the vpp and deinterlace should not use allocator
and pool from other display. Also, when importing the input buffer, if it
is from other display, we should fallback to memory copy.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
a8330686cb
va: basedec: Do not use allocator and pool from other display.
...
The command line such as:
gst-launch-1.0 -vf filesrc location=1.264 ! h264parse !
vah264dec ! varenderD129postproc ! fakesink
The decoder here gets the allocation proposal from the vpp which is
on another GPU device. The allocator and pool belong to other display
and should not be used in the decoder.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
3875c420f7
libs: va: Add API to peek the va buffer's display.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
464650a5d0
libs: va: Add API to peek the va memory's display.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
b1a98433f8
libs: va: Add API to peek the allocator's display.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
028920cfc4
libs: va: Fix code style in gstvaallocator.h
...
Replace all tabs with spaces.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
Seungha Yang
4db4f08227
d3dvideosink: Update plugin description
...
Direct3D is too generic (there are various version numbers).
Clarify that this element is using the Direct3D9 API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3333 >
2022-11-04 22:48:41 +00:00
Tim-Philipp Müller
edc2e8312e
qt: initialize GError properly in gst_qt_get_gl_wrapcontext()
...
Spotted by Claus Stovgaard.
Fixes #1545
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3327 >
2022-11-04 20:39:16 +00:00
Sebastian Dröge
b368a5fcd2
qtmux: Add durations to raw audio buffers from the raw audio adapter in prefill mode
...
This ensures that a duration can also be calculated and stored for the
last buffer at EOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3321 >
2022-11-04 19:02:22 +00:00
Sebastian Dröge
7b60e48c8c
qtmux: Release object lock before posting an error message
...
GST_ELEMENT_ERROR() also takes the object lock and this would then
deadlock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3321 >
2022-11-04 19:02:22 +00:00
Edward Hervey
73762156f3
gst-validate-1.0: Don't leak arguments and context
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:22 +00:00
Edward Hervey
3beec9bad3
validate-scenario: Don't leak temporary path value
...
It's only use in the structure iterator
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:22 +00:00
Edward Hervey
2114490b9b
validate-scenario: Don't leak temporary local variables structures
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
f4d0537b3e
lv2: Don't leak plugin information on registration
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
685a4aaaa7
ladspa: Don't leak plugin information on registration
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
8ca2a2a230
fdkaacenc: Properly terminate GEnumValue table
...
It should be terminated with a NULL entry, otherwise we just stray into the
realms of cryptographic libraries^W^W random memory usage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
0213536f77
libav: avcfg: Avoid brittle comparision
...
Subtracting a gint from another (or a guint from another) has no guarantees that
it will result in a gint.
Therefore do the actual comparision instead.
Also use the *actual* type for comparing flags (the field value types are different)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
cadc067bde
libav: avcfg: Don't leak duplicate enumvalue entries
...
If we discard the duplicates, we also need to free the allocated strings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
97bfb8b6cb
imagesequencesrc; Fix leaks
...
* The path was leaked
* The custom buffer was never freed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
6ffae88a9f
qtdemux: Fix cenc-related leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
aa61662632
deinterlace: Don't leak metas
...
There is no correlation between the frame being NULL and the metas not being
present.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
094d27585e
validate: plug some leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
7f86e925e2
adaptivedemux2: Fix collection leaks
...
* The collection on the period was never unreffed
* The collection in the message handler was never unreffed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
93d8b3f660
parsebin: Fix leak
...
Release the reference on the collection which was given to us when extracting it
from the event/message.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Jan Schmidt
b2f2a9125c
mssdemux2: Update for adaptivedemux2 refactoring
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 04:00:31 +11:00
Jan Schmidt
565f47b4f3
adaptivedemux2: Move stream_seek() to the Stream class
...
Move the last stream specific vfunc from the demux
class to the stream class.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 04:00:31 +11:00
Jan Schmidt
2fe641353d
adaptivedemux2: Refactor stream methods into the stream
...
Unlike the legacy elements, GstAdaptiveDemuxStream is a GObject now,
so a bunch of things that were actually stream methods on the
parent demux object can directly become stream methods now.
Move the stream class out to a header of its own.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 04:00:31 +11:00
Jan Schmidt
9f89b8e3ef
hlsdemux2/m3u8: Implement EXT-X-GAP parsing
...
Read the EXT-X-GAP tag and set is_gap on the segment.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
55db033570
hlsdemux2/m3u8: Refactor parsing for readability
...
Small readability improvements in the parsing code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
bfeb3c5625
adaptivedemux2/downloadhelper: Remove return val for download_request_add_buffer()
...
The function can't actually fail, and the only caller
was ignoring the result anyway, so remove the return value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
0f8c38c190
adaptivedemux2/downloadhelper: Add debug output of response headers
...
Dump the HTTP response headers at TRACE level
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
d1ae35f08a
adaptivedemux2/downloadhelper: Don't mark transfer as complete/error if cancelled.
...
If the state of the download request was reset to UNSENT,
it was cancelled. Don't update the state to COMPLETE or ERRORED
in on_read_ready().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
46517d5aca
adaptivedemux2/downloadhelper: Ignore spurious read failure
...
Sometimes g_input_stream_read_all_finish() can return
0 bytes, but still succeed (return TRUE) and have more
data available later. Only finish the transfer
if it returns 0 bytes *and* FALSE with no error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
1751f555f2
adaptivedemux2/downloadhelper: Fix function name
...
Fix a typo in the name of function download_request_despatch_progress()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
c9de81edd4
adaptivedemux2: Remove scheduler_lock mutex
...
Remove the old unused scheduler_lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
b691aece65
adaptivedemux2: Hold tracks lock accessing input_period
...
The input_period is protected by the TRACKS_LOCK,
so make sure to hold that when accessing it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
93f80bb061
adaptivedemux2: Add state checks and clean up obsolete variables
...
The cancelled flag was only set in the stream finalize()
method, after all activity on the stream has stopped anyway.
Replace uses of cancelled with checks on the stream state.
Remove the replaced flag, which was checked but never set
to TRUE anywhere any more.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Edward Hervey
730ed3a69a
gstpad: Fix non-serialized sticky event push
...
With non-serialized sticky events, such as GST_EVENT_INSTANT_RATE, we both want
to store the event (for later re-linking) *AND* push the event in a non-blocking
way.
We therefore must *not* propagate pending sticky events if the event is "sticky
or serialized" but only if it's "serialized"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3254 >
2022-11-04 14:20:36 +00:00
Jan Alexander Steffens (heftig)
424b331afc
srt: Remove callers for which srt_bstats fails
...
This keeps them from accumulating in the element and in the stats while
the sink is not being fed, as long as we at least periodically grab
stats.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Jan Alexander Steffens (heftig)
d575a41145
srt: Use simpler list operations for callers
...
Avoid `g_list_append` and `g_list_remove` (which have to scan the list)
and replace them with `g_list_prepend` and `g_list_delete_link`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Jan Alexander Steffens (heftig)
3c23c16f40
srt: Clean up poll/sock lifecycle
...
Make sure `srtobject->poll_id` is never invalid as long as `srtobject`
exists. Only remove our caller socket from it when the socket becomes
invalid.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Jan Alexander Steffens (heftig)
4e05100e8c
srt: Clean up error handling
...
- Make the srt_epoll_wait loops more uniform.
- Error only via GError when possible; let the element send the error
message. Avoids a second error message.
- Return 0 when cancelled. Avoids an error message from the element.
- Don't send an error message from send_headers when we're a server
sink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Jan Alexander Steffens (heftig)
a3cc5cf257
srt: Simplify socket stats
...
Don't hide stats depending on whether we're a sending or receiving
socket. While we're here, add some more debug logs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Jan Alexander Steffens (heftig)
b6974b6afc
srt: Replace stats accumulation with naive byte counting
...
srt_bstats cannot be used to get the stats of closed connections, so the
best we can do is keep the running count ourselves.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Seungha Yang
bfed80a82c
directshow: Validate enumerated AM_MEDIA_TYPE struct
...
The video info struct can be null if format is undefined
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3323 >
2022-11-04 10:01:39 +00:00
Seungha Yang
786b7699d1
vpx: Complete high bitdepth vp9 en/decoding support
...
Adding 12bits variant formats to en/decoder, and high bitdepth
4:4:4 (except for GBR) encoding support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3298 >
2022-11-04 05:37:58 +09:00
Seungha Yang
1ce38adfe3
vpx: Define formats for compatibility
...
ifdef for enum values never work. Instead, define new enum type
and use it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3298 >
2022-11-04 05:14:23 +09:00
Seungha Yang
6d46a9c3c7
examples: d3d11: Fix GCC build error/warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3318 >
2022-11-04 02:17:22 +09:00
Seungha Yang
f7cc753274
qsvjpegenc: Add support for YUY2 format
...
Now GstD3D11 defines YUY2 format
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316 >
2022-11-03 06:40:10 +09:00
Seungha Yang
1853dd56a4
qsv: Add JPEG decoder
...
Because DXVA does not define JPEG decoding, we need this
vendor specific API for Windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316 >
2022-11-03 06:40:10 +09:00
Seungha Yang
3f94df9487
d3d11: Add support for YUY2 format
...
YUY2 is a primary YUV 4:2:2 format for DXVA.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316 >
2022-11-03 06:40:09 +09:00
Nicolas Dufresne
5fe360dec4
doc: avviddec: Update plugin cache
...
This is to add std-compliance property and GstFFMpegVidDec base class.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3311 >
2022-11-02 19:23:14 +00:00
Nicolas Dufresne
99ec53073a
avviddec: Introduce a class for shared properties
...
Without a parent class,the documentation would need to be duplicated for
every CODECs. This patch adds an abstract class in between GstVideoDecoder
and the element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3311 >
2022-11-02 19:23:14 +00:00
Seungha Yang
af05abdb79
avviddec: Expose std-compliance option
...
Default compliance mode (i.e., FF_COMPLIANCE_NORMAL) might not
strictly follow specification. This property will allow user
to specifiy expected compliance mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3311 >
2022-11-02 19:23:14 +00:00
Michael Gruner
2cdfa8f419
parse: do delayed set only if the target child was not found and fail otherwise
...
When using the child proxy notation (child::property=value) it may
happen that the target child does not exist at the time of parsing
(i.e: decodebin creates the encoder according to the contents of the
stream). On this cases, we want to delay the setting of the property
to later, when new elements are added. Previous logic performed a
delayed set even if the target child was found but the property
was not found in it. This should be treated as a failure because,
unlike missing elements, properties should not appear dynamically.
By not failing, typos in property names may go unnoticed to the end
user.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2908 >
2022-11-02 13:21:09 +00:00
Michael Gruner
ded2fed3b9
childproxy: Implement a new ::get_child_by_name_recurse() API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2908 >
2022-11-02 13:21:09 +00:00
Tong Wu
60f7467dfe
msdkcontext: use gst_object_unref instead of g_object_unref
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301 >
2022-11-02 07:40:59 +00:00
Tong Wu
bae66c8ae0
msdkcontext: use gst_object_ref for GstVaDisplay
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301 >
2022-11-02 07:40:59 +00:00
Tong Wu
c9cc92a20a
msdkcontext: g_object_new() must not return nullptr
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301 >
2022-11-02 07:40:59 +00:00
Tong Wu
7b03da634b
msdkenc: use GST_CAPS_FEATURE_MEMORY_VA to check the feature
...
Add macros to protect sinkpad_is_va(), since it is not defined on
Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301 >
2022-11-02 07:40:59 +00:00
Guillaume Desmottes
a92f41e0c7
wpe: fix wpevideosrc gst-play example
...
wpe:// no longer works since 1.20, see wpesrc examples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3306 >
2022-11-02 00:21:21 +00:00
Eric Knapp
87e9952b8f
vah264enc: Added option to insert CEA-708 closed captions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2910 >
2022-11-01 23:22:03 +00:00
Seungha Yang
be1771126d
qsv: Check 16K resolution support
...
... and remove duplicated code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3310 >
2022-11-01 17:23:52 +00:00
Marijn Suijten
31c23fb6c0
vulkan: Mark gst_vulkan_image_view_new create_info as constant pointer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615 >
2022-11-01 15:19:51 +01:00
Marijn Suijten
3d081c45be
vulkan: Remove unnecessary null checks
...
These null checkes are slightly misleading when double-checking
mutability for external language interop. None of the functions in
these files allow the variable at hand to become `NULL` under normal
operation, because they are checked at initialization and never (allowed
to be) reassigned to `NULL`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615 >
2022-11-01 15:19:51 +01:00
Marijn Suijten
ebe7517b8e
vulkan: Add missing (nullable)
annotation to Returns
...
Most of these functions already state they might return `%NULL`, but
this is not picked up by G-IR.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615 >
2022-11-01 15:19:51 +01:00
Marijn Suijten
614cd87732
vulkan: Add missing array length
and (out)
annotation to parameters
...
Add `array length` annotation for `layouts` such that `n_layouts` is
properly marked as its length, and add `(out)` where a function returns
in that parameter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615 >
2022-11-01 15:19:51 +01:00
Jan Schmidt
4a8805ade7
hlsdemux2: m3u8: Use PDT to offset stream time when aligning playlist
...
When matching segments across playlists with Program-Date-Times,
use the difference in segment PDTs to adjust the stream time
that's being transferred. This can fix cases where the
segment boundaries don't align across different streams
and the first download gets thrown away once the PTS
is seen and found not to match.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3309 >
2022-11-01 13:04:44 +00:00
Jan Schmidt
6af3769511
hlsdemux2: Download new header when it changes
...
Check whether the init file / MAP data for a segment
is different to the current data and trigger an
update if so. Previously, the header would only
be checked in HLS after switching bitrate or
after a seek / first download.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3307 >
2022-11-01 11:53:26 +00:00
Jan Schmidt
9b8c71d148
m3u8: Expose GstM3U8InitFile methods
...
Exposure ref/unref methods for the GstM3U8InitFile type,
and add a gst_m3u8_init_file_equal() comparison method.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3307 >
2022-11-01 11:51:44 +00:00
Tim-Philipp Müller
9e6056b306
subprojects: orc: bump to 0.4.33
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3304 >
2022-10-31 23:50:28 +00:00
Seungha Yang
92e03ba869
d3d11decoder: Fix for VP9 decoding with odd resolution
...
Fixing off by one mismatch when width and/or height of stream
is odd number
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3302 >
2022-10-31 20:45:25 +00:00
Seungha Yang
5e66dde1b2
qsv: Add VP9 decoder
...
Recent Intel GPU supports 12bits VP9 decoding but only VP9
profile2 with 10bits is defined by DXVA spec.
Thus, we need this vendor specific decoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3290 >
2022-10-31 19:30:47 +00:00
Edward Hervey
33db765f45
adaptivedemux2: Improve minimum buffering threshold
...
Previously the minimum buffering threshold was hardcoded to a specific
value (10s). This is suboptimal this an actual value will depend on the actual
stream being played.
This commit sets the low watermark threshold in time to 0, which is an automatic
mode. Subclasses can provide a stream `recommended_buffering_threshold` when
update_stream_info() is called.
Currently implemented for HLS, where we recommended 1.5 average segment
duration. This will result in buffering being at 100% when the 2nd segment has
been downloaded (minus a bit already being consumed downstream)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3240 >
2022-10-31 16:16:50 +01:00
Seungha Yang
d8bdd9429b
d3d11vp9dec: Disallow Profile2 12bits stream
...
Since DXVA does not support the format, specify bit-depth field
to sinkpad template caps so that d3d11vp9dec can be skipped
during autoplugging
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297 >
2022-10-31 11:29:39 +00:00
Seungha Yang
32b13a883a
vp9parse: Set subsampling to src caps even if GBR stream
...
Some muxer elements will need the subsampling information
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297 >
2022-10-31 11:29:38 +00:00
Seungha Yang
47f1dc837f
vp9parse: Delaying src caps until frame is parsed if profile > 0
...
subsampling and/or bitdepth information will be required for
negotiation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297 >
2022-10-31 11:29:38 +00:00
Sanchayan Maity
da52bedbff
fdkaacenc: Update documentation to clarify bitrate and peak-bitrate
...
bitrate property is only applicable for constant bitrate and
peak-bitrate is only applicable for variable bitrate. Clarify
the same.
2022-10-30 16:54:51 +05:30
Sanchayan Maity
f0ceb9ea4f
fdkaacenc: Add support for setting bitrate mode
2022-10-30 16:54:51 +05:30
Sanchayan Maity
595dd7a1ed
fdkaacenc: Add support for setting peak bitrate
2022-10-29 16:04:42 +05:30
Sanchayan Maity
734593ccab
fdkaacenc: Add support for enabling afterburner
...
This is an additional quality parameter. In the default configuration this
quality switch is deactivated because it would cause a workload increase
which might be significant. If workload is not an issue in the application
it can be recommended to activate this feature.
2022-10-29 15:57:52 +05:30
Sanchayan Maity
a63d8ee720
fdkaacdec: Do not report decoding error for flush request
...
A flush request is done when set_format is called to empty internal bit
buffer maintained by fdk-aac. When this happens, during the explicit
call to handle_buffer, decodeFrame does not return a AAC_DEC_OK. This
gets reported as a decoding error while no decoding error in fact took
place. Since this can be confusing, just return a GST_FLOW_OK and log
that an explicit flush was requested.
2022-10-29 10:47:16 +05:30
Sanchayan Maity
858e516383
wavparse: Speed up type finding for DTS
...
In order to figure out if the "raw" audio contained within the wav
container is actually DTS, right now we call the typefinder helper
which runs all typefinders.
Speed up this type finding process by specifying the extension.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3294 >
2022-10-28 19:01:26 +05:30
Sanchayan Maity
673d13f176
playbin3: Fix missing pad unref
...
GST_TRACERS="leaks" GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 test.mkv
When running a pipeline like above, leaks are observed.
0:00:56.882419132 240637 0x5562c528ccc0 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d20a0, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string);
0:00:56.882429131 240637 0x5562c528ccc0 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d2be0, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string);
0:00:56.882437056 240637 0x5562c528ccc0 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d3720, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string);
gst_element_release_request_pad does not unref the pad. It needs to
be followed by gst_object_unref. Doing that fixes the above leaks.
Use g_ptr_array_new_with_free_func with gst_object_unref as the free
function to unref the pad after release.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3177 >
2022-10-28 10:15:42 +05:30
Matthew Waters
1c835695a3
pbutils: add correct mime mapping for vp9
...
Based on https://www.webmproject.org/vp9/mp4/#codecs-parameter-string
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260 >
2022-10-28 00:06:07 +00:00
Matthew Waters
e2081ce31e
mp4mux: enable muxing VP9 streams
...
As specified in https://www.webmproject.org/vp9/mp4/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260 >
2022-10-28 00:06:07 +00:00
Matthew Waters
5bed545113
qtmux: add support for writing vpcC box for VP9
...
Increases compatibility for VP9 in .mov in at least VLC.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260 >
2022-10-28 00:06:07 +00:00
Matthew Waters
f77f27f4c9
vp9parser: initialize subsampling to -1
...
The default value of 0 is a valid subsampling value and could be
confused with an 'unset' value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260 >
2022-10-28 00:06:07 +00:00
Sebastian Dröge
bf98b0ecd6
gst-plugins-rs: Track 0.9 branch until 1.22 release
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3286 >
2022-10-27 21:30:09 +00:00
Víctor Manuel Jáquez Leal
96f0521155
vaencoder: Reset attribute index to one.
...
Further fix to 4ffb3663
where I forgot to reset the attribute index.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3285 >
2022-10-27 20:32:15 +00:00
Thibault Saunier
1c1b0380cb
dashdemux2: Fix the way we determine current_position after seeks
...
Without that the current_position was off after seeks, potentially
leading to not properly push a last fragment when a `.stop` time was
set.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159 >
2022-10-27 19:45:44 +00:00
Thibault Saunier
4f991a55af
adaptivedemux: Minor typo fix
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159 >
2022-10-27 19:45:44 +00:00
Thibault Saunier
8a9821e805
dash: Fix computing repeat_index
when seeking in stream with a start !=0 on the first fragment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159 >
2022-10-27 19:45:44 +00:00
Thibault Saunier
f7abd81a45
matroskademux: Let upstream handle seeking/duration query in time if possible
...
So proper response are given for dash streams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159 >
2022-10-27 19:45:44 +00:00
Thibault Saunier
8c7579e129
matroskademux: Start support for upstream segments in TIME format
...
So we can use matroskademux for dash webm dash streams.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159 >
2022-10-27 19:45:44 +00:00
Jakub Adam
2125dbbd0b
ximagesrc: grab the server while capturing screen image
...
Makes sure screen resolution doesn't change in the middle of the
process.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1562 >
2022-10-27 18:42:38 +00:00
Jakub Adam
c93afcc99c
ximagesrc: change video resolution when X11 screen gets resized
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1562 >
2022-10-27 18:42:38 +00:00
Sebastian Dröge
c878d0f68b
core/base: Only post latency messages if the latency values have actually changed
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1525
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3282 >
2022-10-27 15:25:22 +00:00
Edward Hervey
8f286fc388
videodecoder: Only post latency message if it changed
...
Posting latency messages causes a full and potentially expensive latency
recalculation of the pipeline. While subclasses should check whether the latency
really changed or not before calling this function, we ensure that we do not
post such messages if it didn't change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3282 >
2022-10-27 15:25:22 +00:00
Nicolas Dufresne
5c2eba666b
avdec_h265: Fix endless renegoation with alternate interlacing
...
The picture parameter picture->top_field_first is reused in this mode
to signal the TOP fields. As a side effect, it will change every frame
and current code assumed that if this changes then a renegotiation is
needed. Fixed this by ignoring that change whenever we are decoding one field
only.
Fixes #1523
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3276 >
2022-10-27 13:34:48 +00:00
He Junyan
2408ca2f18
h265bitwriter: Correct the all API to byte aligned.
...
In fact, all the h265 bit writer have byte aligned output. So we
change the API from bit size in unit to byte size, which is easy
to use.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193 >
2022-10-27 12:15:43 +00:00
He Junyan
c294ba82e6
h264bitwriter: Correct the all API to byte aligned.
...
In fact, all the h264 bit writer have byte aligned output except
the slice header. So we change the API from bit size in unit to
byte size, which is easy to use. For slice header, we add a extra
"trail_bits_num" to return the unaligned bits number.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193 >
2022-10-27 12:15:43 +00:00
He Junyan
9dc76185fc
bitwriter: Fix a nal conversion bug when input is not byte aligned.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193 >
2022-10-27 12:15:43 +00:00
Mengkejiergeli Ba
13be7cbe86
msdkvpp: Set va mem caps as higher priority
...
We use va pool as msdkvpp's bufferpool, which means both va memory
and dma memory will be allocated by va pool. Considering drm modifier
stuff is not ready, we use va memory with higher priortiry than
dma memory when deciding vpp caps.
Besides, this patch removes the specified "interlace-mode" in vpp caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3253 >
2022-10-27 11:12:08 +00:00
Edward Hervey
cb1345ab77
concat: Properly propagate EOS seqnum
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3284 >
2022-10-27 11:20:01 +02:00
Mengkejiergeli Ba
c989d023fd
msdkav1enc: Remove reorder TU workaround
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3225 >
2022-10-27 07:07:38 +00:00
Mengkejiergeli Ba
78a7c6318a
msdkav1enc: Remove pts workaround
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3225 >
2022-10-27 07:07:38 +00:00
Seungha Yang
2c5a050ae7
codecparsers: {h264,h265}bitwriter: Don't install headers yet
...
Those APIs are quite early stage of development, and we might want to
change them in the near future
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3275 >
2022-10-27 06:15:56 +00:00
Mengkejiergeli Ba
2c1315cae9
msdkvpp: Fix upper frc
...
Refact vpp commit 4c6b719445
broke the
upper FRC, here to fix this by using outbuf_new.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3223 >
2022-10-27 05:17:12 +00:00
Mengkejiergeli Ba
27216d6f2e
bad: Add msdkav1enc docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2971 >
2022-10-27 04:02:10 +00:00
Nicolas Dufresne
4fb9f2a2b4
meson: Fix path for webrtc validate tests
...
This fixes a crash when trying to run gst-validate-launcher from inside
the meson devenv. The error was:
ModuleNotFoundError: No module named 'observer'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3273 >
2022-10-26 18:16:25 +00:00
Nicolas Dufresne
9ebe338d80
avviddec: Avoid flushing on framerate changes
...
A framerate change does not require flushing the decoder and causes
issues with some specific fragmented files if the two fragments have
different framerate.
Fixes #1522
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3270 >
2022-10-26 17:23:02 +00:00
Daniels Umanovskis
990d124790
ximagesink, xvimagesink: set the _NET_WM_PID atom on the window
...
This makes it easier for X11 window management to work with windows created by these sinks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3267 >
2022-10-26 16:10:36 +00:00
Nicolas Dufresne
8a8fe360a2
alphacombine: Add missing query handler for gaps
...
The gap handling was in place, but there was no event handler to trigger it.
Implement the alpha sink event handler for the gaps. This fixes handling of
valid streams which may not refresh the alpha frames for every video frames.
It will also allow a clean error if the stream was missing the initial
alpha frame, at least until we find a better way to handle these
invalid frames.
Related to #1518
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3264 >
2022-10-26 14:51:40 +00:00
Ignacio Casal Quinteiro
d44eb4b2fa
avfdeviceprovider: do not leak the properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3268 >
2022-10-26 10:29:25 +00:00
Víctor Manuel Jáquez Leal
ba24191f2a
vaencoder: Fix caps semantics.
...
When using gst_va_caps_from_profiles() the semantics of sink/src caps
depends if the element is an encoder or a decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
d32fdf975d
va: Fix typos.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
4ffb3663a8
vah264enc: Fail if unsupported rate control.
...
Handle when encoder doesn't support rate control, which is set as
VA_RC_NONE, and if the set rate control mode is not supported by the
GStreamer element, the element configuration fails.
Also it logs out max and target bitrate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
5e531c1a88
vah264enc: Add todo item.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
d463feaa08
vaencoder: Honor entrypoint at constructor.
...
The entrypoint is set when the encoder helper is constructed,
nonetheless it was also passed as parameter when opening. That's
buggy.
In order to simplify the code, the entrypoint at construction is
honored.
But gst_va_encoder_has_profile_and_entrypoint() now doesn't rely in
the internal list of profiles since it only contains those that
belongs to codec and entrypoint, thus it queries directly the VA
driver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
79c47fbdb8
vabaseenc: Scope error bail out.
...
Though this is not enforced by the GStreamer code style, it's clearer
to add a nested scope for error handling using label/goto.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
d608872ba3
vabaseenc: Use class entrypoint.
...
Add a macro to access to class entrypoint and use it instead of move
it to a variable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Seungha Yang
e68645c2d2
d3d11: Move format defines to private header
...
Those defines will be likely changed/deleted in the future, and we
don't need to expose them to public at the moment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3265 >
2022-10-26 02:55:34 +09:00
Tim-Philipp Müller
d132592423
xingmux: move from gst-plugins-ugly to gst-plugins-good
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/415
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3251 >
2022-10-25 12:40:20 +00:00
Patrick Griffis
2265709574
build: Fix building ges with tools disabled
...
If you configure with `tools=disabled` then ges_launch is undefined.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3259 >
2022-10-25 08:53:19 +00:00
Sebastian Dröge
366893e9ac
Fix various warnings from gobject-introspection
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3261 >
2022-10-25 09:45:25 +03:00