summaryrefslogtreecommitdiff
path: root/subprojects/gst-plugins-bad
Commit message (Collapse)AuthorAgeFilesLines
* d3d11videosink: Add render-rectangle propertyHEADmainSeungha Yang2023-05-172-23/+37
| | | | | | | | ... and resize HWND on GstVideoOverlay::set_render_rectangle even when we are rendering without external HWND Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2563 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4653>
* h264parser: Define level enum valuesSeungha Yang2023-05-174-78/+37
| | | | | | ... and stop duplicating it Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4595>
* gstplay: avoid getting property of playbin2 if subtitle_sid is nullElliot Chen2023-05-171-2/+4
| | | | | | | | There is a probability of getting "current-text" property when play with playbin3, and this property is available only in playbin2. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4106>
* wasapi2: fix "device" property descriptionSeungha Yang2023-05-174-4/+9
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4651>
* wasapi: fix "device" property descriptionTim-Philipp Müller2023-05-172-2/+2
| | | | | | Fixes gstreamer/gst-plugins-bad#1620 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4651>
* avdtputil: Use int instead of int range for fixed bitpool valuesCarlos Rafael Giani2023-05-171-4/+16
| | | | | | Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1698 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4650>
* cudaconvertscale: Add support for flip/rotationSeungha Yang2023-05-163-20/+368
| | | | | | | Similar to the d3d11convert element, colorspace conversion, resizing and flip/rotation operations can be done in a single kernel function call Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4640>
* d3d11convert: Fix for runtime property updateSeungha Yang2023-05-161-24/+96
| | | | | | | Every setup happens in set_caps() method but basetransform will not call the set_caps() if in/out caps were not changed Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4646>
* va: No need to sort the device after registeredHe Junyan2023-05-161-12/+2
| | | | | | | The va devices are already registered by the drm path order, so there is no need to sort them again after registered. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4643>
* va: Sort udev path name before register the va pluginsHe Junyan2023-05-161-0/+17
| | | | | | | | | | | | The devices list returned by g_udev_client_query_by_subsystem() may contain udev devices in disorder path name. For example, on some platform it may contain renderD129 before renderD128 device. This will cause we register wrong va plugin name. In this case, the renderD129 will be registered as default plugins such as vah265dec, while the renderD128 will be registered as varenderD128h265dec. This conflicts with the non-udev version of gst_va_device_find_devices(). Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4643>
* jpegparse: fix warning text and debug dataVíctor Manuel Jáquez Leal2023-05-151-5/+5
| | | | | | | They were backwards or missing. Fix: #2567 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4641>
* sctpenc: Fix potential shutdown deadlockJohan Sternerup2023-05-151-31/+31
| | | | | | | | | | | | | | | When transitioning from state PAUSED to READY, the sctpenc element could previously be stuck in an endless loop trying to resend data in case the underlying sctp stream was in the process of resetting. usrsctp_sendv() would repeatedly return EAGAIN with the result that 0 bytes were sent and then sctpenc would retry forever. To bring sctpenc out of the resend loop we just need to inform the sink pad that it is flushing, which is already done for the associated data queue, but we also need to set the bools associated with the sinkpads that are used as the loop criterion. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4601>
* msdkmjpegdec: Fix ColorFormat for BGRx formatYinhang Liu2023-05-151-0/+1
| | | | | | | For msdkmjpegdec, the BGRx format is supported in src caps, set the ColorFormat to MFX_JPEG_COLORFORMAT_RGB. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4489>
* msdk: Fix initialization of the msdk_session.impl_idxYinhang Liu2023-05-151-0/+3
| | | | | | This fixes the issue of msdk_session.impl_idx not being initialized. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4448>
* d3d11: Update element metaSeungha Yang2023-05-129-15/+15
| | | | | | Make them consistent, update outdated description and fix some typos Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4619>
* vulkan: minor meson clean upsVíctor Manuel Jáquez Leal2023-05-122-19/+14
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4621>
* wpe: Add support for the WPEWebKit 2.0 API versionPhilippe Normand2023-05-126-21/+97
| | | | | | | Most notably this disables console messages support when the 2.0 API is used, because there is no replacement for it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4159>
* webrtc: advertise end-of-candidate with an empty candidate stringMatthew Waters2023-05-122-16/+138
| | | | | | | | Just like what is done in the browsers. When this is sent to the peer, they will be able to know that no more candidates are coming and can complete ICE. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4598>
* macos: Remove old NSApp workaround related codePiotr Brzeziński2023-05-111-160/+5
| | | | | | | | | | | | | This is no longer needed since the introduction of `gst_macos_main()` in 1.22. Before that existed, we had a patch for GLib in Cerbero, which did work but made it impossible to update GLib at all. The code being removed was a fail-safe in case of running without said patch being applied. It's no longer needed, since for macOS we just wrap our GStreamer with an NSApplication using `gst_macos_main()`. Warnings will be displayed if no NSApp/NSRunLoop is found wherever needed, pointing the user towards using the new API. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4366>
* vkshaderspv: fix exampleVíctor Manuel Jáquez Leal2023-05-101-1/+1
| | | | | | Use the correct element names. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4594>
* d3d11videosink: Don't clear prepared buffer on unlock_stop()Seungha Yang2023-05-101-2/+2
| | | | | | | That can be called between prepare() and render() which results in unexpected error flow return Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4583>
* msdk: fix a not referenced build errorTong Wu2023-05-101-0/+1
| | | | | | Error Type: error C4189: ‘dma_caps’: local variable is initialized but not referenced Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4587>
* closedcaption: write 0x00 padding instead of 0x80 in cc_data/cdpMatthew Waters2023-05-107-42/+48
| | | | | | | | | Depending on the exact output format, 0x00 may be a better default for padding than 0x80. 0x00 is the recommended padding value when used in CDP (and cc_data) but is not when used in s334-1a. See CTA-708-E 4.3.5 amd SMPTE 334-1-2007 5.3.2. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4578>
* h264decoder: Drop nonexisting picture silently without errorSeungha Yang2023-05-091-4/+10
| | | | | | | | If end_picture() was not successful, we do drop corresponding GstVideoCodecFrame and therefore gst_video_decoder_get_frame() will return nullptr which is expected behavior. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4561>
* msdk: Remove unreachable statementYinhang Liu2023-05-091-2/+0
| | | | | | | The execution cannot reach the statement: "gst_caps_unref(dma_caps);", so remove it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4449>
* webrtcdatachannel: Bind to parent webrtcbin using a weak referencePhilippe Normand2023-05-083-5/+30
| | | | | | | | | | The previous approach of using a simple pointer could lead to a use-after-free in case a data-channel was created and its parent webrtcbin was disposed soon after. Fixes #2103 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4160>
* webrtc/nice: support consent-freshness RFC7675Matthew Waters2023-05-081-0/+1
| | | | | | | | As is supported by libwebrtc already. This allows ICE components to transition to failed if consent to send from the peer is revoked or if multiple consent packets are lost. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4542>
* d3d11: Add support for IPCSeungha Yang2023-05-0612-0/+4020
| | | | | | | Adding d3d11ipcsrc and d3d11ipcsink elements so that Direct3D11 textures can be shared between processes Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4514>
* d3d11memory: Don't clear wrapped texture memorySeungha Yang2023-05-051-0/+7
| | | | | | | The external texture may hold already rendered scene and therefore it should not be cleared in alloc method Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4554>
* onnx: Fix typo in documented pipelineRuben Gonzalez2023-05-051-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4552>
* vkdebug: fix type compilation warningVíctor Manuel Jáquez Leal2023-05-051-1/+1
| | | | | | | | | Since VkMemoryHeapFlagBits is an enum, while VkMemoryHeapFlags is the expected alias of VkFlags. This issue is spotted by warning of gcc 13.1.1 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4547>
* mfvideoenc: Allow only even resolution numbersSeungha Yang2023-05-041-6/+11
| | | | | | | | | | Some H/W vendors support odd resolution if D3D11 texture is used or via IMF2DBuffer, but not all vendors support it. Also software MFT does not allow odd resolution. Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1165 Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2537 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4540>
* webrtcbin: Fix potential deadlock when closing before any data was sentPhilippe Normand2023-05-031-0/+5
| | | | | | | | | A blocking pad probe is added on new sink pads, it's usually removed after the caps have been negotiated or the signaling state switched to stable, but if that never happens and the pad is released we kept the pad probe active, leaving the pad blocked, preventing clean disposal. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4529>
* srt: assert instead of segfault when passing no error to ERROR_TO_WARNINGGuillaume Desmottes2023-05-021-1/+3
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4524>
* srt: fix segfault if send_headers() failedGuillaume Desmottes2023-05-021-1/+1
| | | | | | | | The error handling code was assuming that 'internal_error' was set, while we were passing the caller GError. The internal error is already propagated to the caller later on. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4524>
* dtlstransport: Keep strong ref of dtls encoder/decoderPhilippe Normand2023-05-021-2/+30
| | | | | | | | Otherwise get_property() calls for the client, certificate and/or remote-certificate properties might access moved objects, since the encoder and decoder are added to the transportsendbin. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4519>
* gstcodectimestamper: remove PC file generation from plugin's own meson.buildMihail Ivanchev2023-05-011-1/+0
| | | | | | The file generated here is incomplete; it is generated for all plugins in a loop at an upper level. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4518>
* va: h265enc: map the mbbrc to correct enum value in get_property()He Junyan2023-04-281-2/+23
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4509>
* va: h264enc: map the mbbrc to correct enum value in get_property()He Junyan2023-04-281-2/+23
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4509>
* rtpsrc: Give better names to internal elementsThibault Saunier2023-04-281-18/+41
| | | | | | Same name was used for all instances of rtpsrc making debugging more complex Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4484>
* wasapi2: Allows process loopback capture on Windows 10Seungha Yang2023-04-281-1/+3
| | | | | | | | | | | As per MS documentation[1], it requires Windows 10 Build 20348 but it seems to be supported by old versions too [1] https://learn.microsoft.com/en-us/windows/win32/api/audioclientactivationparams/ ns-audioclientactivationparams-audioclient_process_loopback_params Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2524 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4505>
* meson: Add feature options for optional va deps libdrm and gudevNirbheek Chauhan2023-04-283-8/+16
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428>
* meson: Fix libdrm and vaapi configure checksNirbheek Chauhan2023-04-282-10/+16
| | | | | | | We do not need fallback: for libdrm checks because the wrap file already has a [provide] section. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428>
* vkswapper: missing image barrier after vkCmdClearColorImageVíctor Manuel Jáquez Leal2023-04-281-0/+26
| | | | | | | | | | After clear color image command the swapper image needs to add a barrier before copying the buffer to display on it. Otherwise a potential synchronization problem might occur. Fixes #2403 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4501>
* vulkan: use VK_QUEUE_FAMILY_IGNORED in barriersVíctor Manuel Jáquez Leal2023-04-286-30/+30
| | | | | | | | Instead of using the valid queue family 0 (zero) if there aren't queue transfers there's no need to specify a not validated queue family, but just VK_QUEUE_FAMILY_IGNORED. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4501>
* cudamemory: Fix for semi planar YUV memory size decisionSeungha Yang2023-04-271-1/+3
| | | | | | UV plan of the semi planar format requires only half of Y plane size Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4502>
* webrtc: do not tear down data channel before data is flushedDaniel Moberg2023-04-271-9/+18
| | | | | | | | | | | | | | | Current implementation can in some cases detect that all data is sent but in reality it is not, leading to a push to an unlinked pad. This is a race between the probe used to track data sent and a call to close. This patch sends an EOS before starting the close procedure and then waits for the EOS event to come through to the src pad before commencing with tear down. This ensures that any queued data before EOS is flushed. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4462>
* ccutils: generate valid padding in field 1 when needing to generate field 2Matthew Waters2023-04-262-3/+43
| | | | | | Fixes CC in Field 2 but not in Field 1 errors. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4490>
* d3d11videosink: Fix for ignored initial render rectangleSeungha Yang2023-04-261-6/+23
| | | | | | | | Application can set target render rect before internal HWND configuration Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2518 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4480>
* bad: disable dtls test if openssl is not presentStéphane Cerveau2023-04-251-1/+1
| | | | | | | | | | | | | | | | | | | On MacOS with homebrew, the openssl library is not properly detected with pkg-config. So disable the test compilation if openssl is not properly detected along with libcrypto. libcrypto is detected but it uses the system one which leads to the error: your binary is not an allowed client of /usr/lib/libcrypto.dylib for architecture x86_64 See more details from Apple: https://developer.apple.com/forums/thread/124782 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4481>