Jakub Adam
9fd396834a
amfencoder: always empty the queue when pushing output samples
...
gst_amf_encoder_try_output() pushes at most one output buffer downstream
although more may be ready. As a consequence, output samples will keep
queueing up in AMFComponent whenever QueryOutput() returns AMF_REPEAT
(and do_wait is FALSE). This has negative impact on latency when the
video being encoded is a live stream.
In order to avoid it, always retrieve and push all samples available in
AMFComponent's output queue at once.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2536 >
2022-06-01 18:19:09 +02:00
Seungha Yang
238ce301b6
hlsdemux2: Adjust debug log level
...
HLS manifest might not be represented by a single common caps
when different codecs are mixed in a playlist, but it
does not seem to be a critical issue we need to warn.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2516 >
2022-06-01 14:32:55 +00:00
Guillaume Desmottes
0086d7b016
basetransform: handle gst_base_transform_query_caps() returning NULL
...
If gst_base_transform_transform_caps() returns NULL, gst_base_transform_query_caps()
will return NULL as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2532 >
2022-06-01 09:55:53 +02:00
Jan Alexander Steffens (heftig)
15c69c17ea
clock: Avoid creating a weakref with every entry
...
Creating and destroying weakrefs takes a write lock on a global
`GRWLock`. This makes for a very contended lock when the pipeline has
many synchronizing elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2530 >
2022-06-01 06:03:28 +00:00
Nicolas Dufresne
f1756493d2
video: Fix NV12_16L32 size calculation
...
The subsampling of the second plane was not taken into account, resulting in a
16bit per pixel buffers instead of 12.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2512 >
2022-05-31 16:23:01 +00:00
Guillaume Desmottes
4cb935bcea
basetransform: fix critical if transform_caps() returned NULL
...
klass->transform_caps() may return NULL, which was raising this
critical:
GStreamer-CRITICAL **: 12:23:56.243: gst_caps_is_subset: assertion 'subset != NULL' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2528 >
2022-05-31 14:27:51 +02:00
Stéphane Cerveau
6b55f97529
adaptivedemux2: fix plugin/element init
...
In case of per features registration such as the
customizable gstreamer-full library, each
element should check that the soup library can be loaded to
facilitate the element registration.
Initialize the debug categories properly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2348 >
2022-05-30 13:13:48 +00:00
Seungha Yang
7acfd0cdd1
directshow: Fix for uninitialized debug category warning
...
A method in the code is used in another place (device provider)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2519 >
2022-05-30 12:00:43 +00:00
Víctor Manuel Jáquez Leal
be948816d3
va: Register base classes as abstract.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521 >
2022-05-29 16:03:46 +00:00
Víctor Manuel Jáquez Leal
ae9fe4a851
va: encoder: Use entrypoint type.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521 >
2022-05-29 16:03:46 +00:00
tom schuring
d71a6bf457
plugin: add Apache 2 license to known licenses
...
the licence in gstreamer/subprojects/gstreamer/gst/gstplugin.c
currently is defined to be one of:
LGPL GPL QPL GPL/QPL MPL BSD MIT/X11 0BSD Proprietary
The open source project for the kinesis plugin is using an
Apache 2.0 license. Because "Apache 2.0" is not one of the
supported licenses it automatically falls back to Proprietary.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2514 >
2022-05-29 12:36:42 +00:00
Víctor Manuel Jáquez Leal
4474056f6f
va264enc: Fix typo.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508 >
2022-05-29 11:56:39 +00:00
Víctor Manuel Jáquez Leal
e83983d7ca
va: encoder: Fix regression since commit 2042c2d4f0
.
...
There's no need to compare with the open entrypoint to query the
encoder. This commit removes the checks to the configured entrypoint
with the parameter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508 >
2022-05-29 11:56:39 +00:00
Jan Schmidt
a8f18aef18
rtpptdemux: Don't GST_FLOW_ERROR when ignoring invalid packets
...
https://bugzilla.gnome.org/show_bug.cgi?id=741398 changed
rtpptdemux in 2014 to not post a GST_ELEMENT_ERROR on the
bus when dropping an invalid (non-RTP) packet, but still
returned GST_FLOW_ERROR upstream - so the pipeline still
stops, but now without a useful bus error.
Return GST_FLOW_OK instead, so the pipeline keeps
running. Some old telephony equipment can send invalid
packets before the real RTP traffic starts.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2520 >
2022-05-29 20:27:38 +10:00
Seungha Yang
5762dfb15d
mfvideoencoder: Handle dynamic property update
...
Re-init MFT on property update to apply new encoding options
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Seungha Yang
2db6e0ac3c
mediafoundation: Run indent
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Seungha Yang
9fbf4f9c10
mfvideoenc: Remove redundant bitwise or operation
...
MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY (0xc0) covers
MFT_ENUM_FLAG_SORTANDFILTER (0x40)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Seungha Yang
442d21ab2a
mfvideoencoder: Early terminate d3d11 interop
...
Shared texture will work only for the same GPU
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Seungha Yang
39dd92fa5e
mfvideoencoder: Check HRESULT code as well for GPU sync
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Seungha Yang
00ae87cbb5
mfvideoencoder: Don't specify keyed mutex misc flag
...
Current implemetation copies textures using non-keyed mutex way.
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX is pointless
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Nirbheek Chauhan
a6db1a4c81
jack: Always use jack_free as specified by the docs
...
Fixes a crash on Windows due to a CRT mismatch. The JACK installation
still uses MSVCRT, and we the Universal CRT for both MinGW and MSVC.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2497 >
2022-05-28 11:34:23 +00:00
Nirbheek Chauhan
4865f36344
jack: Add support for detecting libjack on Windows
...
No source code changes were necessary to get the plugin working on
Windows with MSVC.
Run QJackCtl and audiotestsrc ! jackaudiosink just works.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2497 >
2022-05-28 11:34:23 +00:00
Víctor Manuel Jáquez Leal
24527856cb
vacompositor: Pass video info pointer than copying it.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496 >
2022-05-28 00:00:39 +00:00
Víctor Manuel Jáquez Leal
f9b631e0ea
vacompositor: Remove useless consts.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496 >
2022-05-28 00:00:39 +00:00
Seungha Yang
fe64295841
d3d11decoder: Work around Intel DXVA driver crash
...
Intel DXVA driver crashes sometimes (from GPU thread) if
ID3D11VideoDecoder is released while there are outstanding view objects.
To make sure the object life cycle, holds an ID3D11VideoDecoder refcount
in GstD3D11Memory object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2504 >
2022-05-27 15:13:15 +00:00
Xavier Claessens
ea990ff817
ci: Make sure to always update subprojects
...
The command was not run in Windows jobs, better keep subprojects
handling in a single script.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2509 >
2022-05-27 14:33:53 +00:00
Seungha Yang
7c8902c983
qsvencoder: Bind internal texture to render target
...
... so that memory allocator can initialize texture with black color
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502 >
2022-05-27 14:03:49 +00:00
Seungha Yang
0deb73d9ba
d3d11memory: Clear YUV texture with black color
...
We prefer black color as an initial texture color and
Direct3D11 runtime will initialize texture with zeros (except for alpha)
which is fine for RGB formats. But UV components of YUV texture
requires manual clear for black color.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502 >
2022-05-27 14:03:49 +00:00
U. Artie Eoff
3c5d3ae7ea
tests: vaapi: remove unused header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2503 >
2022-05-27 10:25:20 +00:00
U. Artie Eoff
331e3af879
tests: vaapi: fix memleak in vaapioverlay test
...
Need to unmap the frame to ensure vaapioverlay can destruct/dispose.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2503 >
2022-05-27 10:25:20 +00:00
U. Artie Eoff
becabd36da
tests: va: add simple vacompositor test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2481 >
2022-05-27 09:42:36 +00:00
Mengkejiergeli Ba
81d2982476
msdkh265enc: Add intra refresh parameters
...
Note that for msdkh265enc, intra refresh parameters are only supported
under low-power mode. If these parameters are set without enabling lowpower,
they will be simply ignored.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308 >
2022-05-27 02:15:42 +00:00
Mengkejiergeli Ba
9c8cb97db9
msdkh264enc: Add intra refresh parameters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308 >
2022-05-27 02:15:42 +00:00
Seungha Yang
aa835f5e64
tests: examples: Stop duplicating keyboard interaction handler code
...
Extract the code from QSV and use it for D3D11 and NVCODEC examples
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2468 >
2022-05-26 18:52:35 +00:00
Tim-Philipp Müller
962dc37d4f
webrtc: fix build with older libnice versions
...
1) check for right macro name when checking for NICE_VERSION_CHECK
2) if libnice version is 0.1.18.1 this should not satisfy
a NICE_VERSION_CHECK(0,1,19).
Fixes build with libnice 0.1.18.1 subproject checkout.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2499 >
2022-05-26 18:17:49 +00:00
Hou Qi
7f2fb3b783
v4l2: Reset transfer in gst_v4l2_object_acquire_format()
...
get_colorspace() checks input caps transfer when mapping V4L2_XFER_FUNC_709
back to V4L2_COLORSPACE_BT2020 and GST_VIDEO_TRANSFER_BT2020_12. After
receiving source change event, decoder will G_FMT and S_FMT again. So need
to reset transfer when acquiring format to avoid using the old transfer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2475 >
2022-05-26 17:09:28 +00:00
Jan Schmidt
6c0423b861
amc: Don't map input buffer with write mode
...
When copying data out of a GStreamer buffer, we don't
need to map it writable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2492 >
2022-05-26 12:44:03 +00:00
Philippe Normand
eefd793011
webrtc: Use new libnice API to get the candidate relay address
...
Corresponding libnice API added in:
https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/229 (0.1.19)
https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/232 (0.1.20)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Philippe Normand
08021caa73
webrtc: Ensure the NICE_CHECK_VERSION macro is available
...
This macro was introduced in libnice 0.1.19.1, so until we bump our libnice
dependency to 0.1.20 we have to vendor the macro.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Philippe Normand
c19319c777
webrtc: Refactor ICECandidateStats freeing logic to a dedicated function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Philippe Normand
dce8a7750d
webrtcbin: Document IceCandidateStats and RTCIceCandidatePairStats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Sherrill Lin
f335b40ae8
webrtcstats: Update unit test for outbound rtp stats
...
"remote-id" is not guaranteed to present after commit 1deb034e3d
.
Thus, we should not fail the test if "remote-id" is not found.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Sherrill Lin
3e7fb83393
webrtcstats: Improve selected candidate pair stats by adding ICE candidate info
...
The implementation follows w3.org specs:
* https://www.w3.org/TR/webrtc-stats/#icecandidate-dict *
* https://www.w3.org/TR/webrtc-stats/#candidatepair-dict *
Corresponding unit tests are also added.
Rebased and updated from
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1462
Fixes #1207
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
He Junyan
2042c2d4f0
va: H264enc: Add encoder for VAEntrypointEncSliceLP.
...
We name vah264lpenc to support H264's VAEntrypointEncSliceLP encoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2472 >
2022-05-25 20:40:48 +00:00
He Junyan
d47416d3a2
va: encoder: Do not reset the frame count when reconfig().
...
We should not reset the input/output_frame_count when some configure
changes. For example, the if resolution changes, the current way just
resets the frame count and make the PTS of the output buffer restart
from the original PTS of the first frame. That causes a lot of QOS
event and drop all the new frames.
We should only reset them when encoder start().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489 >
2022-05-25 18:56:34 +00:00
He Junyan
994f2c56e2
va: encoder: change reset_state() to a virtual function of base class.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489 >
2022-05-25 18:56:34 +00:00
Seungha Yang
b91093a2e6
playbin3: Configure combiner on pad-added if needed
...
When collection is updated, decodebin3 exposes pad first and then
streams-selected message is posted.
The condition can cause a situation where playbin3 links non-existing
combiner/playsink pads (since streams-selected is not posted yet) with
new decodebin output pad. This commit will re-check selected/active
streams condition on pad-added and reconfigure output if needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2482 >
2022-05-25 13:50:17 +00:00
Piotrek Brzeziński
5490189b9b
cutter: Include running/stream-time in messages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2490 >
2022-05-25 12:27:10 +00:00
Stéphane Cerveau
802c8674d4
gstreamer-full-static: autopep on script
...
Pass autopep on generate_init_static_plugins.py
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1637 >
2022-05-25 12:13:47 +00:00
Stéphane Cerveau
a997108b18
gstreamer-full-static: Be more strict with plugin param
...
Check that the plugins are correctly separated by ";"
and do not accept "," or ":" inside.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1637 >
2022-05-25 12:13:47 +00:00