Age | Commit message (Collapse) | Author | Files | Lines |
|
These were missed when they were added to Makefile.am
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=793103
|
|
As stated in commit c2956036b8da4b8f22a63a4f5a254be03e870aa6 in -bad,
the wasapi elements are now better than directsound, and should be
preferred if they are available.
For a later release, once the elements have more testing, we can
consider moving them to -good.
|
|
|
|
Use value instead of version macro when testing for mac OS version,
since the define for the newer version may not be defined when
compiling against older versions.
https://bugzilla.gnome.org/show_bug.cgi?id=788402
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=792782
|
|
So complex video formats have 0 as pstride. Don't try to divide the
stride in such cases.
https://bugzilla.gnome.org/show_bug.cgi?id=792596
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=792596
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=791841
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=791841
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=791841
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=791841
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=791841
|
|
The g_list_insert_sorted() will behave like prepend when the compare
function returns 0. In our case, we want to maintain the order hence
append. This fixes this issue and improve the sorting algorithm to make
a 10x10 prefered over 10x200 with a preference of 10x8 (and similar
cases which was badly handled). This fixes generally fixes issue were a
sub-optimal format / size is picked.
https://bugzilla.gnome.org/show_bug.cgi?id=792435
|
|
When we only run _finish(), the task is never stopped externally,
instead it's only paused from the inside. We still want to restart
it in this case.
|
|
Otherwise renegotiation fails as we are still streaming.
https://bugzilla.gnome.org/show_bug.cgi?id=791338
|
|
gst_v4l2_object_stop() will free and nullify the pool, so the
following if will never be true.
https://bugzilla.gnome.org/show_bug.cgi?id=791338
|
|
This is support CODA driver which prevents setting the output format if
the capture is streaming.
https://bugzilla.gnome.org/show_bug.cgi?id=791338
|
|
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
|
|
This is problematic in the current design at it seriously slow down
startup of applications. As of now, no known application uses the
colorimetry and the interlace-modes for anything (the two fields that
won't be probed). So let's disable it, in the long term we'll try and
find a way to interact with the provider so applicaiton could opt-in
these slow probing methods for more advance configuration.
|
|
On Linux, there exist a case where mmap64 is already a define to mmap,
so avoid the redefine warning here.
|
|
The difference between mmap and mmap64 is the type of 'offset' argument.
mmap64 always uses a 64-bit interger as offset, while mmap uses off_t,
whose size can vary on different operating systems or architectures.
However, not all operating systems support mmap64. Fortunately, although
FreeBSD only has mmap, its off_t is always 64-bit regardless of
architectures, so we can simply use mmap when sizeof(off_t) == 8.
https://bugzilla.gnome.org/show_bug.cgi?id=791779
|
|
This reverts commit b61bba48488c0a627d90f04cc9917d8c4f3f0d9b.
|
|
mmap64 is not available on FreeBSD.
https://bugzilla.gnome.org/show_bug.cgi?id=791779
|
|
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>.
|
|
Commit 1f31715c9861 ("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
|
|
This resulted in improper selection of dmabuf on unsupported drivers.
The checked ioctl errno was not correct.
https://bugzilla.gnome.org/show_bug.cgi?id=790940
|
|
With GST_V4L2_USE_LIBV4L2=1, my laptop's touchpad shows up as a video
source device in gst-device-monitor, but attempting to stream from it
fails because the device doesn't actually support any video formats.
name : Synaptics RMI4 Touch Sensor
class : Video/Source
caps : video/x-raw, format=(string)I420, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
video/x-raw, format=(string)YV12, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
video/x-raw, format=(string)BGR, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
video/x-raw, format=(string)RGB, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
properties:
udev-probed = true
device.bus_path = /sys/devices/rmi4-00/rmi4-00.fn54/video4linux/v4l-touch0
sysfs.path = /sys/devices/rmi4-00/rmi4-00.fn54/video4linux/v4l-touch0
device.subsystem = video4linux
device.product.name = "Synaptics\ RMI4\ Touch\ Sensor"
device.capabilities = :capture:
device.api = v4l2
device.path = /dev/v4l-touch0
v4l2.device.driver = rmi4_f54
v4l2.device.card = "Synaptics\ RMI4\ Touch\ Sensor"
v4l2.device.bus_info = rmi4:rmi4-00.fn54
v4l2.device.version = 265480 (0x00040d08)
v4l2.device.capabilities = 2501902337 (0x95200001)
v4l2.device.device_caps = 354418689 (0x15200001)
gst-launch-1.0 v4l2src device=/dev/v4l-touch0 ! ...
v4l2-ctl -d /dev/v4l-touch0 --list-formats reports:
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'TD16'
Name : 16-bit signed deltas
Index : 1
Type : Video Capture
Pixel Format: 'TD08'
Name : 8-bit signed deltas
Index : 2
Type : Video Capture
Pixel Format: 'TU16'
Name : 16-bit unsigned touch data
https://bugzilla.gnome.org/show_bug.cgi?id=789197
|
|
In MPLANE mode, the driver may set data_offset, which represent some
padding at the start of the buffer used internally. This portion of the
data need to be skipped, though it is included in bytesused.
This patch removes frame size sanity check as the method used will no
longer work. This check was simply there to help detect broken kernel
drivers. It would be re-implement by estimating the plane size, which is
not totally trivial and may be too much work for a simple debug check.
https://bugzilla.gnome.org/show_bug.cgi?id=733501
|
|
we always want to clear the whole buffer so no need to
start from offset even if the offset is always zero.
https://bugzilla.gnome.org/show_bug.cgi?id=788847
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=788847
|
|
use get_volume() instead to get unscaled volume
https://bugzilla.gnome.org/show_bug.cgi?id=788847
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=788847
|
|
Use the right set of caps when checking if caps intersect. That makes
the check only select the supported devices.
|
|
|
|
This may happen if the negotiation fails, as we will have never
created the pools.
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=779466
|
|
Issue an invalid VIDIOC_EXPBUF ioctl to the driver to check if the
driver supports dmabuf export. If the driver does not implement the
IOCTL, the error is ENOTTY. Any other error codes mean that the driver
implements VIDIOC_EXPBUF.
https://bugzilla.gnome.org/show_bug.cgi?id=779466
|
|
|
|
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
|
|
The code relied on the list compare function to fixate the caps
but if the caps only has one structure, the compare function will
never get called. Capture device for which there is only one
structure in the caps would then get some assertion and later
fail badly.
Instead, fixate before inserting into the list and split the reading
and the fixation of the structures.
|
|
|
|
This was not fully handled in switches and
ub gst_v4l2_object_get_colorspace();
https://bugzilla.gnome.org/show_bug.cgi?id=787313
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=787160
|
|
try_fmt will update the caps colorimetry and interlace-mode. Before this
call, those field are missing. The caps equality check was always
failing when a spurious reconfigure event was received.
|
|
JPEG formats are encoded, but they never have keyframe flag. But in
fact they are keyframes
https://bugzilla.gnome.org/show_bug.cgi?id=785990
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=785880
|
|
This function no longer take ownership of the buffer.
CID 1414800
|
|
This was missing, preventing the encoder and decoder to work
properly. This also adds support for camera that would produce
VP9 (if that exists).
|