Eric Knapp
1818374de2
decklinkvideosink: Add 3G-SDI Level A output support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2544 >
2022-06-07 10:07:42 +03:00
He Junyan
e2392e2e3e
h264parser: Fix memory leaks in parse_user_data_unregistered().
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2551 >
2022-06-06 19:21:58 +00:00
Jan Alexander Steffens (heftig)
5ebc9427d9
rtmp2: Fix allocation of GstRtmpMeta
...
Use the right size.
On 64-bit platforms, `GstMetaInfo` is larger than `GstRtmpMeta`, which
masked this bug. On 32-bit platforms, it causes crashes. Thanks to
@maxatka for discovering this.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1721
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2553 >
2022-06-06 15:51:07 +00:00
Robert Mader
eb915b662a
gstwaylandsink: Add support for the "render-rectangle" property
...
We already implement the `set_render_rectangle` videooverlay interface,
thus install the videooverlay property accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2479 >
2022-06-06 14:36:39 +02:00
Robert Mader
8c3e33d494
gstwayland: Move reusable parts of the waylandsink into a library
...
In preparation for the new element `GstGtkWaylandSink`, move reusable
parts out of `GstWaylandSink` into the already exisiting but very
barebone library.
Notable changes include:
- the `GstWaylandVideo` interface was dropped
- support for `wl-shell` was dropped
- lots of renaming in order to match established naming patterns
- lots of code modernisations, reducing boilerplate
- members were made private wherever possible
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2479 >
2022-06-06 14:36:39 +02:00
Jan Alexander Steffens (heftig)
d86ad30be2
opencv: Allow building against 4.6.x
...
Replace the broken version checks with one modeled after
`GLIB_CHECK_VERSION`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2557 >
2022-06-06 00:30:15 +02:00
Olivier Crête
9fe2e1c5eb
webrtcbin: Reject answers that don't contain the same number of m-line as offer
...
Otherwise, it segfaults later. Also add test to validate this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2526 >
2022-06-03 20:28:19 +00:00
Marc Leeman
955adc4564
rfbsrc: add uri interface
...
Adding a uri interface enables plugging in RFB/VNC sources to anything
that makes use of uridecodebin:
gst-play-1.0 rfb://:password@10.40.216.180:5903?shared=1
Use userinfo to pass user (ignored) and password, other key/value pairs
can be encoded in the query part of the URI (see shared)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1963 >
2022-06-03 19:44:28 +00:00
Andoni Morales Alastruey
77937f9398
videoparse: rename from _free to _clear
...
The function does not free the structure but the data
contained within.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458 >
2022-06-03 08:29:05 +00:00
Andoni Morales Alastruey
cb7e1a6576
h264parse: fix leak in user data unregistered
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458 >
2022-06-03 08:29:05 +00:00
Andoni Morales Alastruey
64a92b549d
Fix documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458 >
2022-06-03 08:29:05 +00:00
Brad Hards
804a6054bb
h264parse: add unit test for Precision Time Stamp in SEI messages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458 >
2022-06-03 08:29:05 +00:00
Andoni Morales Alastruey
ca2eb9f65f
h264parse: add support Precision Time Stamp in SEI messages
...
Expose User Data Unregistered as a new Meta and add
API to parse Precision Time Stamp (ST 0604).
Fixes #927
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458 >
2022-06-03 08:29:05 +00:00
Seungha Yang
9d0f792b66
meson: cuda: Add missing override_dependency()
...
Required for GstCuda library to be consumed via "gstreamer-cuda-1.0"
dependency.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2539 >
2022-06-02 19:14:12 +00:00
Seungha Yang
dc1d5f798f
cuda: Fix uninitialized debug category
...
Make sure debug category init
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2542 >
2022-06-02 18:33:30 +00:00
Mengkejiergeli Ba
7696ca83b2
msdkav1enc: Reorder pts
...
This is a workaround for pts because oneVPL cannot handle the pts
correctly when there is b-frames. We first cache the input frame pts in
a queue then retrive the smallest one for the output encoded frame as
we always output the coded frame when this frame is displayable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089 >
2022-06-02 13:39:11 +00:00
Mengkejiergeli Ba
ae7dfb9680
msdkav1enc: Add b-pyramid and p-pyramid
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089 >
2022-06-02 13:39:11 +00:00
Mengkejiergeli Ba
8ea23fd0da
msdkav1enc: Add tile for encoding
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089 >
2022-06-02 13:39:11 +00:00
Mengkejiergeli Ba
610b7ee66a
msdk: Add msdkav1enc element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089 >
2022-06-02 13:39:11 +00:00
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
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
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
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
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
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
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
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