FreeRDP
camera_device_main.c File Reference
#include <freerdp/config.h>
#include <freerdp/freerdp.h>
#include <freerdp/channels/log.h>
#include <freerdp/server/rdpecam.h>

Macros

#define TAG   CHANNELS_TAG("rdpecam.server")
 

Enumerations

enum  eCameraDeviceChannelState { CAMERA_DEVICE_INITIAL , CAMERA_DEVICE_OPENED }
 

Functions

static UINT device_server_initialize (CameraDeviceServerContext *context, BOOL externalThread)
 
static UINT device_server_open_channel (device_server *device)
 
static UINT device_server_handle_success_response (CameraDeviceServerContext *context, wStream *s, const CAM_SHARED_MSG_HEADER *header)
 
static UINT device_server_recv_error_response (CameraDeviceServerContext *context, wStream *s, const CAM_SHARED_MSG_HEADER *header)
 
static UINT device_server_recv_stream_list_response (CameraDeviceServerContext *context, wStream *s, const CAM_SHARED_MSG_HEADER *header)
 
static UINT device_server_recv_media_type_list_response (CameraDeviceServerContext *context, wStream *s, const CAM_SHARED_MSG_HEADER *header)
 
static UINT device_server_recv_current_media_type_response (CameraDeviceServerContext *context, wStream *s, const CAM_SHARED_MSG_HEADER *header)
 
static UINT device_server_recv_sample_response (CameraDeviceServerContext *context, wStream *s, const CAM_SHARED_MSG_HEADER *header)
 
static UINT device_server_recv_sample_error_response (CameraDeviceServerContext *context, wStream *s, const CAM_SHARED_MSG_HEADER *header)
 
static UINT device_server_recv_property_list_response (CameraDeviceServerContext *context, wStream *s, const CAM_SHARED_MSG_HEADER *header)
 
static UINT device_server_recv_property_value_response (CameraDeviceServerContext *context, wStream *s, const CAM_SHARED_MSG_HEADER *header)
 
static UINT device_process_message (device_server *device)
 
static UINT device_server_context_poll_int (CameraDeviceServerContext *context)
 
static HANDLE device_server_get_channel_handle (device_server *device)
 
static DWORD WINAPI device_server_thread_func (LPVOID arg)
 
static UINT device_server_open (CameraDeviceServerContext *context)
 
static UINT device_server_close (CameraDeviceServerContext *context)
 
static UINT device_server_context_poll (CameraDeviceServerContext *context)
 
static BOOL device_server_context_handle (CameraDeviceServerContext *context, HANDLE *handle)
 
static wStreamdevice_server_packet_new (size_t size, BYTE version, BYTE messageId)
 
static UINT device_server_packet_send (CameraDeviceServerContext *context, wStream *s)
 
static UINT device_server_write_and_send_header (CameraDeviceServerContext *context, BYTE messageId)
 
static UINT device_send_activate_device_request_pdu (CameraDeviceServerContext *context, const CAM_ACTIVATE_DEVICE_REQUEST *activateDeviceRequest)
 
static UINT device_send_deactivate_device_request_pdu (CameraDeviceServerContext *context, const CAM_DEACTIVATE_DEVICE_REQUEST *deactivateDeviceRequest)
 
static UINT device_send_stream_list_request_pdu (CameraDeviceServerContext *context, const CAM_STREAM_LIST_REQUEST *streamListRequest)
 
static UINT device_send_media_type_list_request_pdu (CameraDeviceServerContext *context, const CAM_MEDIA_TYPE_LIST_REQUEST *mediaTypeListRequest)
 
static UINT device_send_current_media_type_request_pdu (CameraDeviceServerContext *context, const CAM_CURRENT_MEDIA_TYPE_REQUEST *currentMediaTypeRequest)
 
static UINT device_send_start_streams_request_pdu (CameraDeviceServerContext *context, const CAM_START_STREAMS_REQUEST *startStreamsRequest)
 
static UINT device_send_stop_streams_request_pdu (CameraDeviceServerContext *context, const CAM_STOP_STREAMS_REQUEST *stopStreamsRequest)
 
static UINT device_send_sample_request_pdu (CameraDeviceServerContext *context, const CAM_SAMPLE_REQUEST *sampleRequest)
 
static UINT device_send_property_list_request_pdu (CameraDeviceServerContext *context, const CAM_PROPERTY_LIST_REQUEST *propertyListRequest)
 
static UINT device_send_property_value_request_pdu (CameraDeviceServerContext *context, const CAM_PROPERTY_VALUE_REQUEST *propertyValueRequest)
 
static UINT device_send_set_property_value_request_pdu (CameraDeviceServerContext *context, const CAM_SET_PROPERTY_VALUE_REQUEST *setPropertyValueRequest)
 
CameraDeviceServerContext * camera_device_server_context_new (HANDLE vcm)
 
void camera_device_server_context_free (CameraDeviceServerContext *context)
 

Macro Definition Documentation

◆ TAG

#define TAG   CHANNELS_TAG("rdpecam.server")

FreeRDP: A Remote Desktop Protocol Implementation Video Capture Virtual Channel Extension

Copyright 2022 Pascal Nowack Pasca.nosp@m.l.No.nosp@m.wack@.nosp@m.gmx..nosp@m.de

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.

Enumeration Type Documentation

◆ eCameraDeviceChannelState

Enumerator
CAMERA_DEVICE_INITIAL 
CAMERA_DEVICE_OPENED 

Function Documentation

◆ camera_device_server_context_free()

void camera_device_server_context_free ( CameraDeviceServerContext *  context)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ camera_device_server_context_new()

CameraDeviceServerContext* camera_device_server_context_new ( HANDLE  vcm)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_process_message()

static UINT device_process_message ( device_server *  device)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_send_activate_device_request_pdu()

static UINT device_send_activate_device_request_pdu ( CameraDeviceServerContext *  context,
const CAM_ACTIVATE_DEVICE_REQUEST activateDeviceRequest 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_send_current_media_type_request_pdu()

static UINT device_send_current_media_type_request_pdu ( CameraDeviceServerContext *  context,
const CAM_CURRENT_MEDIA_TYPE_REQUEST currentMediaTypeRequest 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_send_deactivate_device_request_pdu()

static UINT device_send_deactivate_device_request_pdu ( CameraDeviceServerContext *  context,
const CAM_DEACTIVATE_DEVICE_REQUEST deactivateDeviceRequest 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_send_media_type_list_request_pdu()

static UINT device_send_media_type_list_request_pdu ( CameraDeviceServerContext *  context,
const CAM_MEDIA_TYPE_LIST_REQUEST mediaTypeListRequest 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_send_property_list_request_pdu()

static UINT device_send_property_list_request_pdu ( CameraDeviceServerContext *  context,
const CAM_PROPERTY_LIST_REQUEST propertyListRequest 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_send_property_value_request_pdu()

static UINT device_send_property_value_request_pdu ( CameraDeviceServerContext *  context,
const CAM_PROPERTY_VALUE_REQUEST propertyValueRequest 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_send_sample_request_pdu()

static UINT device_send_sample_request_pdu ( CameraDeviceServerContext *  context,
const CAM_SAMPLE_REQUEST sampleRequest 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_send_set_property_value_request_pdu()

static UINT device_send_set_property_value_request_pdu ( CameraDeviceServerContext *  context,
const CAM_SET_PROPERTY_VALUE_REQUEST setPropertyValueRequest 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_send_start_streams_request_pdu()

static UINT device_send_start_streams_request_pdu ( CameraDeviceServerContext *  context,
const CAM_START_STREAMS_REQUEST startStreamsRequest 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_send_stop_streams_request_pdu()

static UINT device_send_stop_streams_request_pdu ( CameraDeviceServerContext *  context,
const CAM_STOP_STREAMS_REQUEST stopStreamsRequest 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_send_stream_list_request_pdu()

static UINT device_send_stream_list_request_pdu ( CameraDeviceServerContext *  context,
const CAM_STREAM_LIST_REQUEST streamListRequest 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_close()

static UINT device_server_close ( CameraDeviceServerContext *  context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_context_handle()

static BOOL device_server_context_handle ( CameraDeviceServerContext *  context,
HANDLE *  handle 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_context_poll()

static UINT device_server_context_poll ( CameraDeviceServerContext *  context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_context_poll_int()

static UINT device_server_context_poll_int ( CameraDeviceServerContext *  context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_get_channel_handle()

static HANDLE device_server_get_channel_handle ( device_server *  device)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_handle_success_response()

static UINT device_server_handle_success_response ( CameraDeviceServerContext *  context,
wStream s,
const CAM_SHARED_MSG_HEADER header 
)
static
Here is the caller graph for this function:

◆ device_server_initialize()

static UINT device_server_initialize ( CameraDeviceServerContext *  context,
BOOL  externalThread 
)
static
Here is the caller graph for this function:

◆ device_server_open()

static UINT device_server_open ( CameraDeviceServerContext *  context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_open_channel()

static UINT device_server_open_channel ( device_server *  device)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_packet_new()

static wStream* device_server_packet_new ( size_t  size,
BYTE  version,
BYTE  messageId 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_packet_send()

static UINT device_server_packet_send ( CameraDeviceServerContext *  context,
wStream s 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_recv_current_media_type_response()

static UINT device_server_recv_current_media_type_response ( CameraDeviceServerContext *  context,
wStream s,
const CAM_SHARED_MSG_HEADER header 
)
static
Here is the caller graph for this function:

◆ device_server_recv_error_response()

static UINT device_server_recv_error_response ( CameraDeviceServerContext *  context,
wStream s,
const CAM_SHARED_MSG_HEADER header 
)
static
Here is the caller graph for this function:

◆ device_server_recv_media_type_list_response()

static UINT device_server_recv_media_type_list_response ( CameraDeviceServerContext *  context,
wStream s,
const CAM_SHARED_MSG_HEADER header 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_recv_property_list_response()

static UINT device_server_recv_property_list_response ( CameraDeviceServerContext *  context,
wStream s,
const CAM_SHARED_MSG_HEADER header 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_recv_property_value_response()

static UINT device_server_recv_property_value_response ( CameraDeviceServerContext *  context,
wStream s,
const CAM_SHARED_MSG_HEADER header 
)
static
Here is the caller graph for this function:

◆ device_server_recv_sample_error_response()

static UINT device_server_recv_sample_error_response ( CameraDeviceServerContext *  context,
wStream s,
const CAM_SHARED_MSG_HEADER header 
)
static
Here is the caller graph for this function:

◆ device_server_recv_sample_response()

static UINT device_server_recv_sample_response ( CameraDeviceServerContext *  context,
wStream s,
const CAM_SHARED_MSG_HEADER header 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_recv_stream_list_response()

static UINT device_server_recv_stream_list_response ( CameraDeviceServerContext *  context,
wStream s,
const CAM_SHARED_MSG_HEADER header 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_thread_func()

static DWORD WINAPI device_server_thread_func ( LPVOID  arg)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_server_write_and_send_header()

static UINT device_server_write_and_send_header ( CameraDeviceServerContext *  context,
BYTE  messageId 
)
static
Here is the call graph for this function:
Here is the caller graph for this function: