FreeRDP
|
#include <errno.h>
#include <fcntl.h>
#include <poll.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <linux/videodev2.h>
#include "camera.h"
Macros | |
#define | TAG CHANNELS_TAG("rdpecam-v4l.client") |
#define | CAM_V4L2_BUFFERS_COUNT 4 |
#define | CAM_V4L2_CAPTURE_THREAD_SLEEP_MS 1000 |
#define | CAM_V4L2_FRAMERATE_NUMERATOR_DEFAULT 30 |
#define | CAM_V4L2_FRAMERATE_DENOMINATOR_DEFAULT 1 |
Functions | |
static void | cam_v4l_stream_free (void *obj) |
static void | cam_v4l_stream_close_device (CamV4lStream *stream) |
static UINT | cam_v4l_stream_stop (CamV4lStream *stream) |
static const char * | cam_v4l_get_fourcc_str (unsigned int fourcc) |
static UINT32 | ecamToV4L2PixFormat (CAM_MEDIA_FORMAT ecamFormat) |
static BOOL | cam_v4l_format_supported (int fd, UINT32 format) |
static int | cam_v4l_open_device (const char *deviceId, int flags) |
static INT16 | cam_v4l_get_media_type_descriptions (ICamHal *hal, const char *deviceId, int streamIndex, const CAM_MEDIA_FORMAT_INFO *supportedFormats, size_t nSupportedFormats, CAM_MEDIA_TYPE_DESCRIPTION *mediaTypes, size_t *nMediaTypes) |
static UINT | cam_v4l_enumerate (ICamHal *ihal, ICamHalEnumCallback callback, CameraPlugin *ecam, GENERIC_CHANNEL_CALLBACK *hchannel) |
static void | cam_v4l_stream_free_buffers (CamV4lStream *stream) |
static size_t | cam_v4l_stream_alloc_buffers (CamV4lStream *stream) |
static UINT | cam_v4l_stream_capture_thread (void *param) |
static CamV4lStream * | cam_v4l_stream_create (CameraDevice *dev, int streamIndex, ICamHalSampleCapturedCallback callback) |
static UINT | cam_v4l_stream_start (ICamHal *ihal, CameraDevice *dev, int streamIndex, const CAM_MEDIA_TYPE_DESCRIPTION *mediaType, ICamHalSampleCapturedCallback callback) |
static UINT | cam_v4l_stream_stop_by_device_id (ICamHal *ihal, const char *deviceId, int streamIndex) |
static UINT | cam_v4l_free (ICamHal *ihal) |
FREERDP_ENTRY_POINT (UINT VCAPITYPE v4l_freerdp_rdpecam_client_subsystem_entry(PFREERDP_CAMERA_HAL_ENTRY_POINTS pEntryPoints)) | |
#define CAM_V4L2_BUFFERS_COUNT 4 |
#define CAM_V4L2_CAPTURE_THREAD_SLEEP_MS 1000 |
#define CAM_V4L2_FRAMERATE_DENOMINATOR_DEFAULT 1 |
#define CAM_V4L2_FRAMERATE_NUMERATOR_DEFAULT 30 |
#define TAG CHANNELS_TAG("rdpecam-v4l.client") |
FreeRDP: A Remote Desktop Protocol Implementation MS-RDPECAM Implementation, V4L Interface
Copyright 2024 Oleg Turovski oleg2 104@ hotma il.c om
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
static |
Function description
|
static |
Function description
|
static |
Function description
|
static |
Function description
|
static |
Function description
|
static |
Function description
|
static |
Function description
|
static |
Function description
|
static |
Function description
|
static |
Function description
|
static |
Function description
OBJECT_FREE_FN for streams hash table value
|
static |
Function description
|
static |
Function description
|
static |
Function description
|
static |
Function description
|
static |
Function description