Commit graph

1330 commits

Author SHA1 Message Date
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)
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
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
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
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
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
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
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
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
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
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