tasoss foobaridis
684e9b2499
Change name of property from Exists to Availability
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3510 >
2022-12-02 19:19:38 +00:00
Thibault Saunier
712bda84db
ges: Add API to disable timeline coherence checks
...
There are cases where user might want to be in full control of the
timeline and not be limited by the checks that are being done by GES
to go from one timeline layout to another, this should be doable as
it is a valid use case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3501 >
2022-12-02 18:37:29 +00:00
Seungha Yang
ac6b3e9a45
d3d11av1dec: Promote rank to primary + 1
...
... so that this element can have higher rank than the other software
AV1 decoders
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3495 >
2022-12-02 17:56:22 +00:00
Colin Kinloch
39f15af038
git: Show all suggestions on pre-commit hook
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3506 >
2022-12-02 17:53:34 +00:00
Edward Hervey
36c3bb0d05
uridecodebin3: Protect against NULL uri/suburi
...
Fixes #1625
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3511 >
2022-12-02 16:55:05 +00:00
Xavier Claessens
949b12c7f5
README: Add section how to build and visualize documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3442 >
2022-12-02 15:41:32 +00:00
Xavier Claessens
ef73db4210
meson: Add toplevel "gst-doc" alias target
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3442 >
2022-12-02 15:41:32 +00:00
Xavier Claessens
1ca0323bcf
meson: Add doc directory to XDG_DATA_DIRS
...
gst-env.py does it already, but it was missing from meson devenv.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3442 >
2022-12-02 15:41:31 +00:00
Edward Hervey
90d4129301
multiqueue: Handle gapless with flushing
...
Don't reset the stream-start group-id when stop/pausing single queues. They are
only resetted when re-used (in READY->PAUSED).
Fixes #1586
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3487 >
2022-12-02 09:22:41 +00:00
Edward Hervey
41017e6c34
uridecodebin3: Always store pending buffering messages
...
Fixes #1586
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3487 >
2022-12-02 09:22:41 +00:00
Víctor Manuel Jáquez Leal
901ad2b4f5
vajpegdec: Reenable element negotiation.
...
negotiation vmethod were overwritten by vabasedec, leading to errors.
This was a regression of commit b6538e0560
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3509 >
2022-12-02 08:37:02 +00:00
Edward Hervey
9f9e625776
gstinfo: Optimize color escape code creation
...
When coloring is in use, those escape codes are going to be created many times
for almost all debug lines.
Don't create plenty of temporary allocations, and instead build the escape code
ourselves statically
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3498 >
2022-12-02 06:02:48 +00:00
Johan Sternerup
4b96294f19
webrtc: Fix possible use-after-free of GstWebRTCICETransport
...
Because of the asynchronous resolving of mDNS ICE candidates it is
possible that GstWebRTCICE outlives webrtcbin. This in turn prolongs
the lifetime of the GstWebRTCNiceStream objects via refs in
nice_stream_map. Thus the GstWebRTCICETransport objects held in
GstWebRTCNiceStream may be invalid at the time they are accessed by
the _on_candidate_gathering_done() callback since GstWebRTCNiceStream
doesn't take a reference to them. Doing so would create a circular
reference, so instead this commit introduces weak references to the
transport objects and then we can check if the objects are valid before
accessing them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3502 >
2022-12-02 03:37:29 +00:00
Aleksandr Slobodeniuk
38f6a0ba2e
rtspsrc: fix seek event leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3500 >
2022-12-01 23:52:40 +00:00
Victor Manuel Jaquez Leal
4cbdf43e7d
va: Handle input caps change.
...
Update output caps if it's notified by baseclass
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480 >
2022-12-01 18:54:14 +00:00
Victor Manuel Jaquez Leal
19b83bc156
vaav1dec: Use gst_va_base_dec_set_output_state().
...
And even that vaav1dec doesn't use vabasedec negotiate vmethod, it should align
with the new scheme of using base's width & height for surface size and
output_info structure for downstream display size negotiation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480 >
2022-12-01 18:54:14 +00:00
Victor Manuel Jaquez Leal
e5417b2db7
vavp9dec: Use gst_va_base_dec_set_output_state().
...
As this element reopen the internal decoder differently, it only uses the helper
function to negotiate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480 >
2022-12-01 18:54:14 +00:00
Victor Manuel Jaquez Leal
6dfca46ada
vampeg2dec: Streams are progressive by default.
...
By initializating progressive, then interlaced streams are detected correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480 >
2022-12-01 18:54:14 +00:00
Victor Manuel Jaquez Leal
b6538e0560
va: Add and use common decode negotiate vmethod.
...
This vmethod can be used by decoders with the same VA decoder reopen logic:
same profile, chroma, width and height.
Also a new public method called gst_va_base_dec_set_output_state() with the
common GStreamer code for setting the output state, which is always called by
the negotiate vmethod.
In order to do this refactoring, new variables in vabasedec have to be populated
by the decoders:
* width and height define the resolution set in VA decoder. In the case of H264
would be de coded_width and codec_height, or max_width and max_height in AV1.
* output_info is the downstream video info used for negotiation in
gst_va_base_dec_set_output_state().
* input_state, from codec parent class shall be also held by vabasedec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480 >
2022-12-01 18:54:14 +00:00
Víctor Manuel Jáquez Leal
31c63a6e6c
vaav1dec: Use gst_va_base_dec_prepare_output_frame().
...
And simplify a bit the code flow.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480 >
2022-12-01 18:54:14 +00:00
Víctor Manuel Jáquez Leal
4a8ecc2dba
va: Add and use gst_va_base_dec_prepare_output_frame().
...
This helper will do downstream negotiation and later will
allocate the output frame.
H265 and AV1 decoders don't use this approach since their output
frame allocation is different.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480 >
2022-12-01 18:54:14 +00:00
Víctor Manuel Jáquez Leal
f1a9728b30
va: Remove last_ret error handling in decoders.
...
It was used in the early development of the base classes. Now it
shouldn't be needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480 >
2022-12-01 18:54:14 +00:00
Víctor Manuel Jáquez Leal
de5b76a922
va: Add and use gst_va_base_dec_process_output().
...
This function will copy the frame, if it's needed, and will apply buffer flags.
The function is used by all the decoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480 >
2022-12-01 18:54:14 +00:00
He Junyan
765adf5325
va: Fix the caps memory leak by gst_va_pool_new_with_config().
...
The gst_va_pool_new_with_config() will ref the caps, and so we need
to unref after that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3503 >
2022-12-01 17:31:16 +00:00
Víctor Manuel Jáquez Leal
c8a0d706ca
va: Add render node name in non-first devices.
...
There could be multi-GPU setups where the non-first has more
entrypoints than the first one, and the elements names are not
homogeneous, leading to pipeline building error.
This patch add the render node in the elements names when they belong
to the non-first device.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3491 >
2022-12-01 16:00:55 +00:00
Victor Manuel Jaquez Leal
cccbf1f02d
vafilter: Increase the caps for HDR.
...
As they might be other medatadata types.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3473 >
2022-12-01 15:17:49 +00:00
Victor Manuel Jaquez Leal
b25b1be70d
vafilter: Increase the number of 3DLUT caps to 16.
...
To fix the warning on Alderlake
vafilter gstvafilter.c:534:gst_va_filter_ensure_filters:<vafilter0>
vaQueryVideoProcFiltersCaps: list argument exceeds maximum number
Increase the number of caps to 16 as vadumpcaps does.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3473 >
2022-12-01 15:17:49 +00:00
Bo Elmgreen
1f88f411bc
qt: deactivate context if fill_info fails
...
Now the OpenGL context is deactivated if call to gst_gl_context_fill_info()
fails in gst_qt_get_gl_wrapcontext(), preventing that the context is left
activated, which could lead to invalid memory reads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3492 >
2022-12-01 14:21:37 +00:00
Sebastian Dröge
925715c734
av{aud,vid}dec: Report decoding errors to the base class
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1889 >
2022-12-01 13:40:53 +00:00
Pawel Stawicki
94ba019397
v4l2: Fix SIGSEGV on 'change state' during 'format change'
...
Ensure all access to v4l2object->pool imply taking a lock and a hard ref on the pool
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3481 >
2022-12-01 12:47:54 +00:00
Edward Hervey
0841e846a3
gst-inspect: Don't leak list
...
Just iterate the list instead of trying to be smart...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3497 >
2022-12-01 06:42:22 +00:00
Víctor Manuel Jáquez Leal
8f96453b0f
example: vaenc-dynamic-reconfigure: Support H265.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:45:24 +08:00
He Junyan
c365389930
va: Add H265 SCC profile support.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:45:19 +08:00
He Junyan
0952c556dc
va: Add extended formats support such as 10/12 bits, 4:2:2 and 4:4:4.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:45:14 +08:00
He Junyan
17c416ca92
va: enable multi tile support for H265 encoder.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:45:07 +08:00
He Junyan
2f8ce208e8
va: enable vah265lpenc for low power mode H265 encoder.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:45:00 +08:00
He Junyan
2677d4c6db
va: Add the low-delay-b frame support for H265.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:44:41 +08:00
He Junyan
9ee657cdee
va: Add prediction direction attribute support for H265 encoder.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:44:33 +08:00
He Junyan
4e7eddeafe
va: Register and enable and the vah265enc plugin.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:44:26 +08:00
He Junyan
3d99f24843
va: Implement the vah265enc plugin for va HEVC encoding.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:44:08 +08:00
Vivia Nikolaidou
a0e61539f8
opusdec: Use proper guint/guint8 type conversion
...
Do not cast, that might yield wrong results.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3494 >
2022-11-30 21:11:55 +02:00
Vivia Nikolaidou
c9afaf5cd9
opusdec: Negotiate default to 2 channels
...
In that place, dec->n_channels can still theoretically be 0. Default to
2 in that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3494 >
2022-11-30 20:56:30 +02:00
Vivia Nikolaidou
cdf411e82d
opusenc: Reverse channel order in template caps
...
We want to make it so that we prefer a higher, not lower, number of
channels. Otherwise, this pipeline would convert from 2 to 1 channels:
gst-launch-1.0 audiotestsrc ! audio/x-raw,channels=2 ! opusenc ! queue ! opusdec ! queue ! opusenc ! fakesink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3494 >
2022-11-30 20:52:05 +02:00
Philippe Normand
090cf943ed
avviddec: Report flow error when decoder refused packet
...
In cases where an invalid input packet is submitted to the decoder we emit a
warning but reporting the flow error upstream would also be useful. This came up
with a case were the application interacts directly with the decoder, using a
mechanism similar to GstHarness.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3463 >
2022-11-30 11:51:12 +00:00
Philippe Normand
fa863b2b7f
audiodecoder: Make data processing errors non-fatal by default
...
The previous default value of `max-errors` was too small and would potentially trigger the
decoder to emit errors too often for most cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3478 >
2022-11-30 10:27:50 +00:00
Philippe Normand
9e5cce0ab9
videodecoder: Make data processing errors non-fatal by default
...
The previous default value of `max-errors` was too small and would potentially trigger the
decoder to emit errors too often for most cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3478 >
2022-11-30 10:27:27 +00:00
Sebastian Dröge
12aa3925d0
sdpmessage: Annotate SDP message parameters for parse_uri()
and parse_buffer()
correctly
...
They are not actually `out` parameters but must be allocated and
initialized to a valid SDP message by the caller. Just allocating them
without initialization will cause memory corruptions because the
functions will try to clear/append to the existing SDP message.
As such they should be just marked as `transfer none`.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1605
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3484 >
2022-11-29 14:02:55 +02:00
Seungha Yang
a3b352c99d
mfvideosrc: Fix buffer leak
...
The allocated buffer should be released
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479 >
2022-11-28 18:50:03 +00:00
Seungha Yang
581481c12f
mediafoundation: Chain up from GObject::constructed
...
... so that GstTracer can trace it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479 >
2022-11-28 18:50:03 +00:00
Seungha Yang
b9b3a9c4e1
d3d11: Use correct ref/unref methods
...
Those objects are GstObject subclasses
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479 >
2022-11-28 18:50:03 +00:00