- 02 Aug, 2021 1 commit
-
- 03 Mar, 2021 1 commit
-
-
Vp8/vp9 supported profiles/levels are listed in decoder sink caps, but there is no parser for these two formats and the demuxers also don't have these information. It causes negotiation fail between demuxers and decoder when check caps "accept = gst_caps_is_subset (caps, template_caps);". To fix this, need to remove profiles/levels for vp8/vp9 formats in decoder sink caps. Fix #854 Part-of: <!887>
-
- 24 Feb, 2021 1 commit
-
-
Negotiating v4l2h264dec ! v4l2h264enc transcoding pipelines fails in case the encoder does not accept framerate=(fraction)0/1. The acquired caps used for downstream negotiation are determined from gst_v4l2_object_acquire_format(), which sets the GstVideoInfo::fps_n and ::fps_d fields to 0. To fix this, copy the frame rate from the sink side. Part-of: <!882>
-
- 19 Oct, 2020 2 commits
-
-
Sebastian Dröge authored
Part-of: <!778>
-
Sebastian Dröge authored
System frame numbers are supposed to be unique and correct drivers are passing through timestamps without modification from the output/sink to the capture/src side. Part-of: <!778>
-
- 11 Aug, 2020 1 commit
-
-
gst_v4l2_open() is called by gst_v4l2_device_provider_probe_device(), where the GstV4l2Object is created without an associated GstElement. If gst_v4l2_open() fails, it raises a bus message, but without an element, a precondition check fails on gst_element_message_full_with_details() generating a crash if running with fatal-warnings debug mode. GstV4l2Error is a helper to raise error bus messages when it is appropiated. This patch changes the direct bus messages to this helper, and the elements will actually send the error message. Part-of: <!694>
-
- 03 Jul, 2020 1 commit
-
-
Part-of: <!602>
-
- 11 Jun, 2020 1 commit
-
-
Jordan Petridіs authored
gst_element_class_set_metadata is meant to only be used with static or inlined strings, which isn't the case for the 2 elements here resulting in use-after-free later on. https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c#gst_element_class_set_static_metadata Part-of: <!622>
-
- 22 May, 2020 1 commit
-
-
The levels and profiles probe function returned a dynamically allocated GValue that was leaked. Simplify this by using a stack allocated GValue and a boolean return value. Part-of: <!599>
-
- 15 Apr, 2020 1 commit
-
-
This patch will now set the maximum of buffers to 32, allowing to grow the pool for drivers that supports that and will respect the minimum buffers reported by the driver. This was made to fix a stall with the virtio CODEC driver. Fixes #672
-
- 29 Oct, 2019 1 commit
-
-
James Cowgill authored
In commit e2ff8773 ("v4l2videodec: support orphaning") support for orphaning the capture buffer pool was added when the format is renegotiated. However, the commit forgot to check that a pool existed before doing this. This is needed because it's possible for the format to be renegotiated before a capture pool is allocated, which would result in trying to orphan a NULL pool and lead to a NULL pointer dereference. Fix this by checking a pool exists first. If the pool doesn't exist, there are no buffers to be reclaimed, so skip the allocation query in that case.
-
- 11 Oct, 2019 1 commit
-
-
Backward playback will drain and flush every frame. Stop playback when backward playback have race condition between exit thread and streaming thread flush. Add one check to avoid it. Fixes #639
-
- 05 Oct, 2019 1 commit
-
-
- 27 Sep, 2019 1 commit
-
-
Philipp Zabel authored
Add support for V4L2 MPEG-2 decoders reporting supported profiles and levels.
-
- 09 Jul, 2019 1 commit
-
-
Seungha Yang authored
gst_pad_template_new() does not take ownership of the caps
-
- 24 Jun, 2019 1 commit
-
-
Return right type for drain() function.
-
- 05 Jun, 2019 1 commit
-
-
Philippe Normand authored
There used to be some profile/level support in encoders. This code was moved to GstV4l2Codecs and is now also used for decoders. The caps templates for the H.264, H.265, MPEG4, VP8 and VP9 encoders and decoders should now reflect the profiles and levels advertised by the kernel.
-
- 16 Apr, 2019 1 commit
-
-
Guillaume Desmottes authored
The sink_event parent function may consume the event so we shouldn't use it after having calling it.
-
- 05 Apr, 2019 1 commit
-
-
Recent kernels allow REQBUFS(0) on a queue that still has buffers in use (mmapped or exported via dmabuf), orphaning all buffers on the queue. If this is supported, the v4l2videodec element does not have to send a drain request downstream.
-
- 18 Mar, 2019 1 commit
-
-
Philippe Normand authored
-
- 26 Feb, 2019 1 commit
-
-
Matthew Waters authored
If a different format is chosen, then these values are incorrect.
-
- 14 Sep, 2018 4 commits
-
-
This is to support Amlogic CODEC driver which does not provide a full list of formats when the driver is initially opened. GStreamer does not strictly need this full list initially, but only later, in order to negotiate with downstream if multiple format can be selected. With this change, we will no longer probe twice the device, since the probed list can be directly used for negotation.
-
Add a debug message right before waiting for the driver. This is useful in order to debug drivers without a properly implemented decoder or encoder stop command.
-
The recently added vicodec (virtual codec) V4L driver uses the Fast Walsh-Hadamard Transform for encoding and decoding. Add support for it.
- 09 Jul, 2018 1 commit
-
-
Nicolas Dufresne authored
In some cases, set_format() may get called twice before the output format is set. Running an allocation query in this case is both not needed and will cause assertion due tot he NULL caps.
-
- 27 Jun, 2018 1 commit
-
-
gst_v4l2_buffer_pool_flush() executes streamoff for the output, but streamoff->streamon for the capture of the decoder. gst_v4l2_buffer_pool_streamon() on capture assumes that is able to resurrect the buffers from the pool, but acquiring buffers fails if the buffer pool is still flushing. The decoder needs to stop flushing the pools before calling gst_v4l2_buffer_pool_flush() to restart the v4l2 device. Otherwise starting the decoding thread might fail, because there are no buffers in the capture pool. This fixes a regression that was introduced in 97985a33 ("v4l2videodec: Add dynamic resolution change support"). https://bugzilla.gnome.org/show_bug.cgi?id=796681
-
- 12 May, 2018 1 commit
-
-
It's a decoder, not an encoder :) https://bugzilla.gnome.org/show_bug.cgi?id=795941
-
- 26 Apr, 2018 1 commit
-
-
gst_v4l2_dup() will now take care of setting v4l2capture->no_initial_format and keep_aspect instead of doing it manually. Fix a typo as keep_aspect was set twice on v4l2output but never on v4l2capture. https://bugzilla.gnome.org/show_bug.cgi?id=795028
-
- 12 Jan, 2018 2 commits
- 08 Jan, 2018 1 commit
-
-
Nicolas Dufresne authored
This implements a "big hammer" reallocation method. We effectively drain and stop both side of the decoder and restart. This though is the most generic method. This change should enable on most drivers adaptive streaming. https://bugzilla.gnome.org/show_bug.cgi?id=752962
-
- 13 Dec, 2017 1 commit
-
-
Nicolas Dufresne authored
This way we can pass the pad name instead of the element for tracing which helps identifying which v4l2object is used withing M2M element like decoder, encoder and transform. For the reference, pads are name <parent-name>:<pad-name>.
-
- 06 Dec, 2017 1 commit
-
-
Commit 1f31715c ("v4l2videodec: use visible size, not coded size, for downstream negotiation filter") added support for removing the padding obtained as the difference between width/height from G_FMT and visible width/height from G_SELECTION from the probed caps obtained via TRY_FMT. This patch fixes the padding removal for drivers that only round up height, but not width, to the padded frame size. This might happen because horizontal padding can be handled by line stride (bytesperline), but there is no such thing as plane stride in the V4L2 API for single-buffer planar formats. https://bugzilla.gnome.org/show_bug.cgi?id=791271
-
- 07 Oct, 2017 1 commit
-
-
- 19 Sep, 2017 2 commits
-
-
Nicolas Dufresne authored
-
Nicolas Dufresne authored
The purpose of being able to flush the buffer pool is only to unlock any blocked operation. Doing streamoff/streamon had the side effect of turning off and on the camera. As we do a flush_start / flush_stop sequence when shutting down, that would cause a really quick sequence of streamoff/streamon/streamoff/close which was causing some cameras to stop working. https://bugzilla.gnome.org/show_bug.cgi?id=783945
-
- 02 Aug, 2017 1 commit
-
-
Nicolas Dufresne authored
This was missing, preventing the encoder and decoder to work properly. This also adds support for camera that would produce VP9 (if that exists).
-
- 27 Jul, 2017 1 commit
-
-
Nicolas Dufresne authored
Don't stop registering the other dynamic plugins if one registration fails.
-
- 24 Jul, 2017 1 commit
-
-
Nicolas Dufresne authored
The library has started preventing a lot of interesting use cases, like CREATE_BUFS, DMABuf, usage of TRY_FMT. As the libv4l2 is totally inactive and not maintained, we decided to disable it. As a convenience we added a run-time environment that let you enable it for testing. GST_V4L2_USE_LIBV4L2=1 This of course only works if you have enabled libv4l2 at build time.
-