summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)AuthorFilesLines
2018-03-10meson: Add deviceprovider changes to directsoundsinkNirbheek Chauhan1-1/+9
These were missed when they were added to Makefile.am
2018-03-07v4l2: Fix support for 32bit mmapNicolas Dufresne2-5/+17
https://bugzilla.gnome.org/show_bug.cgi?id=793103
2018-03-01directsoundsink: Downgrade rank to match directsoundsrc in -badNirbheek Chauhan1-1/+1
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.
2018-02-15docs: remove pointless Since: 0.10.x markersTim-Philipp Müller1-2/+0
2018-02-08osxvideosink: fix build on macOS versions < 12.0Jérôme Laheurte2-2/+2
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
2018-01-25directsoundsink: Add missing \ in multi-line #defineSebastian Dröge1-9/+9
2018-01-25directsoundsink: Add support for a DeviceProviderSebastian Dröge6-15/+365
https://bugzilla.gnome.org/show_bug.cgi?id=792782
2018-01-17v4l2: fix division by 0 for complex video formatsGuillaume Desmottes1-2/+11
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
2018-01-17v4l2: display stride and width values if stride is too smallGuillaume Desmottes1-1/+2
https://bugzilla.gnome.org/show_bug.cgi?id=792596
2018-01-12v4l2videodec: add property set/get PROP_CAPTURE_IO_MODE error handlingPeter Seiderer1-4/+8
https://bugzilla.gnome.org/show_bug.cgi?id=791841
2018-01-12v4l2videodec: fold property set/get PROP_OUTPUT_IO_MODE case into defaultPeter Seiderer1-8/+0
https://bugzilla.gnome.org/show_bug.cgi?id=791841
2018-01-12v4l2videoenc: add property set/get PROP_CAPTURE_IO_MODE error handlingPeter Seiderer1-4/+8
https://bugzilla.gnome.org/show_bug.cgi?id=791841
2018-01-12v4l2videoenc: fold property set/get PROP_OUTPUT_IO_MODE case into defaultPeter Seiderer1-8/+0
https://bugzilla.gnome.org/show_bug.cgi?id=791841
2018-01-12v4l2videoenc: fix capture-io-mode property getPeter Seiderer1-2/+2
https://bugzilla.gnome.org/show_bug.cgi?id=791841
2018-01-11v4l2src: Maintain downstream caps orderNicolas Dufresne1-10/+42
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
2018-01-11v4l2videoenc: Also re-enabled paused taskNicolas Dufresne1-2/+3
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.
2018-01-08v4l2videoenc: Call stop on object before renegotiationNicolas Dufresne1-0/+3
Otherwise renegotiation fails as we are still streaming. https://bugzilla.gnome.org/show_bug.cgi?id=791338
2018-01-08v4l2videoenc: Remove dead codeNicolas Dufresne1-5/+0
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
2018-01-08v4l2videoenc: Delay capture pool activationNicolas Dufresne1-6/+8
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
2018-01-08v4l2videodec: Add dynamic resolution change supportNicolas Dufresne2-6/+52
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
2017-12-22v4l2deviceprovider: Don't do slow probesNicolas Dufresne1-0/+1
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.
2017-12-22v4l2object: Don't redefine mmap64Nicolas Dufresne1-1/+1
On Linux, there exist a case where mmap64 is already a define to mmap, so avoid the redefine warning here.
2017-12-22v4l2object: Don't use mmap64 if off_t is 64-bitTing-Wei Lan1-0/+4
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
2017-12-22Revert "v4l2object: Use mmap64 to match libv4l2 signature"Nicolas Dufresne1-6/+0
This reverts commit b61bba48488c0a627d90f04cc9917d8c4f3f0d9b.
2017-12-21v4l2object: Check for mmap64 before using itTing-Wei Lan1-0/+4
mmap64 is not available on FreeBSD. https://bugzilla.gnome.org/show_bug.cgi?id=791779
2017-12-13v4l2object: Use a debug object for tracingNicolas Dufresne10-140/+150
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>.
2017-12-06v4l2videodec: Handle drivers that only round up heightPhilipp Zabel1-4/+11
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
2017-11-29v4l2object: Fix dmabuf support detectionFlorent Thiéry1-1/+1
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
2017-11-06v4l2deviceprovider: Ignore touch sensing devicesJan Alexander Steffens (heftig)1-1/+6
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
2017-11-03v4l2allocator: Add support for data_offsetNicolas Dufresne2-55/+56
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
2017-10-12directsoundsink: simplify how DirecSoundBuffer is clearedPhilippe Renon1-1/+1
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
2017-10-12directsoundsink: fix commentPhilippe Renon1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=788847
2017-10-12directsoundsink: don't call set_volume with private scaled volumePhilippe Renon1-1/+2
use get_volume() instead to get unscaled volume https://bugzilla.gnome.org/show_bug.cgi?id=788847
2017-10-12directsoundsink: remove duplicate volume initializationPhilippe Renon1-1/+0
https://bugzilla.gnome.org/show_bug.cgi?id=788847
2017-10-07v4l2videoenc: Fix driver capability dectectionNicolas Dufresne1-1/+1
Use the right set of caps when checking if caps intersect. That makes the check only select the supported devices.
2017-10-07v4l2videoenc/dec: Don't leak template capsNicolas Dufresne2-0/+4
2017-10-07v4l2videodec: Protect against null pool in _stopNicolas Dufresne1-2/+4
This may happen if the negotiation fails, as we will have never created the pools.
2017-10-07v4l2: fix build without libv4lTim-Philipp Müller1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=779466
2017-10-05v4l2object: auto-detect dmabuf export for V4L2_IO_AUTO on capture sideEnrico Jorns1-2/+28
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
2017-09-19v4l2videodec: Don't leak codec nameNicolas Dufresne1-0/+2
2017-09-19v4l2bufferpool: Don't stop streaming when pool is flushingNicolas Dufresne5-110/+97
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
2017-09-13v4l2src: Ensure all caps a fixatedNicolas Dufresne1-24/+28
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.
2017-09-13v4l2object: Don't leak the par valueNicolas Dufresne1-1/+11
2017-09-06v4l2object: Handle BT2020 for colorspace and transferIan Jamison1-1/+5
This was not fully handled in switches and ub gst_v4l2_object_get_colorspace(); https://bugzilla.gnome.org/show_bug.cgi?id=787313
2017-09-06v4l2object: Fix colorimetry transfer lookup for 4K videoIan Jamison1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=787160
2017-09-06v4l2src: Check if caps have changed after try_fmtNicolas Dufresne1-4/+4
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.
2017-08-08v4l2bufferpool: Don't mark jpeg frames as deltasCyril Lashkevich1-1/+4
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
2017-08-06osxvideo: rename library according to the plugin namePhilippe Normand1-6/+6
https://bugzilla.gnome.org/show_bug.cgi?id=785880
2017-08-02v4l2bufferpool: Don't drop buffer ref on qbufNicolas Dufresne1-3/+2
This function no longer take ownership of the buffer. CID 1414800
2017-08-02v4l2: Enable VP9 formatNicolas Dufresne2-0/+8
This was missing, preventing the encoder and decoder to work properly. This also adds support for camera that would produce VP9 (if that exists).