
Data Structures | |
| struct | filter_sys_t |
| filter_sys_t: chroma method descriptor More... | |
Defines | |
| #define | READ_BUFFER_SIZE 1000000 |
| #define | RMTOSD_HOST_TEXT N_("VNC Host") |
| #define | RMTOSD_HOST_LONGTEXT |
| #define | RMTOSD_PORT_TEXT N_("VNC Port") |
| #define | RMTOSD_PORT_LONGTEXT |
| #define | RMTOSD_PASSWORD_TEXT N_("VNC Password") |
| #define | RMTOSD_PASSWORD_LONGTEXT |
| #define | RMTOSD_UPDATE_TEXT N_("VNC poll interval" ) |
| #define | RMTOSD_UPDATE_LONGTEXT |
| #define | RMTOSD_POLL_TEXT N_("VNC polling") |
| #define | RMTOSD_POLL_LONGTEXT |
| #define | RMTOSD_MOUSE_TEXT N_("Mouse events") |
| #define | RMTOSD_MOUSE_LONGTEXT |
| #define | RMTOSD_KEYS_TEXT N_("Key events") |
| #define | RMTOSD_KEYS_LONGTEXT |
| #define | RMTOSD_ALPHA_TEXT N_("Alpha transparency value (default 255)") |
| #define | RMTOSD_ALPHA_LONGTEXT |
| #define | RMTOSD_CFG "rmtosd-" |
| #define | RMTOSD_UPDATE_MIN 200 |
| #define | RMTOSD_UPDATE_DEFAULT 1000 |
| #define | RMTOSD_UPDATE_MAX 300 |
| #define | CHALLENGESIZE 16 |
| #define | MAX_VNC_SERVER_NAME_LENGTH 255 |
Functions | |
| static int | CreateFilter (vlc_object_t *) |
| static void | DestroyFilter (vlc_object_t *) |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static subpicture_t * | Filter (filter_t *, mtime_t) |
| static int | MouseEvent (filter_t *, const vlc_mouse_t *, const vlc_mouse_t *, const video_format_t *) |
| static int | KeyEvent (vlc_object_t *p_this, char const *psz_var, vlc_value_t oldval, vlc_value_t newval, void *p_data) |
| static void | stop_osdvnc (filter_t *p_filter) |
| static void * | vnc_worker_thread (vlc_object_t *p_thread_obj) |
| static void * | update_request_thread (vlc_object_t *p_thread_obj) |
| static bool | open_vnc_connection (filter_t *p_filter) |
| static bool | handshaking (filter_t *p_filter) |
| static bool | process_server_message (filter_t *p_filter, rfbServerToClientMsg *msg) |
| static void | rgb_to_yuv (uint8_t *y, uint8_t *u, uint8_t *v, int r, int g, int b) |
| static bool | fill_rect (filter_sys_t *p_sys, uint16_t i_x, uint16_t i_y, uint16_t i_w, uint16_t i_h, uint8_t i_color) |
| static bool | copy_rect (filter_sys_t *p_sys, uint16_t i_x, uint16_t i_y, uint16_t i_w, uint16_t i_h, uint16_t i_sx, uint16_t i_sy) |
| static bool | raw_line (filter_sys_t *p_sys, uint16_t i_x, uint16_t i_y, uint16_t i_w) |
| static void | vnc_encrypt_bytes (unsigned char *bytes, char *passwd) |
| static bool | read_exact (filter_t *p_filter, int i_socket, char *p_readbuf, int i_bytes) |
| static bool | write_exact (filter_t *p_filter, int i_socket, char *p_writebuf, int i_bytes) |
| #define CHALLENGESIZE 16 |
Referenced by handshaking(), and vnc_encrypt_bytes().
| #define MAX_VNC_SERVER_NAME_LENGTH 255 |
Referenced by handshaking().
| #define READ_BUFFER_SIZE 1000000 |
Referenced by process_server_message().
| #define RMTOSD_ALPHA_LONGTEXT |
Value:
N_( \ "The transparency of the OSD VNC can be changed by giving a value " \ "between 0 and 255. A lower value specifies more transparency a higher " \ "means less transparency. The default is being not transparent " \ "(value 255) the minimum is fully transparent (value 0)." )
| #define RMTOSD_ALPHA_TEXT N_("Alpha transparency value (default 255)") |
| #define RMTOSD_CFG "rmtosd-" |
Referenced by CreateFilter(), and DestroyFilter().
| #define RMTOSD_HOST_LONGTEXT |
Value:
N_( \ "VNC hostname or IP address." )
| #define RMTOSD_HOST_TEXT N_("VNC Host") |
| #define RMTOSD_KEYS_LONGTEXT |
Value:
N_( \ "Send key events to VNC host." )
| #define RMTOSD_KEYS_TEXT N_("Key events") |
| #define RMTOSD_MOUSE_LONGTEXT |
Value:
N_( \ "Send mouse events to VNC host. Not needed for use as VDR ffnetdev client." )
| #define RMTOSD_MOUSE_TEXT N_("Mouse events") |
| #define RMTOSD_PASSWORD_LONGTEXT |
Value:
N_( \ "VNC password." )
| #define RMTOSD_PASSWORD_TEXT N_("VNC Password") |
| #define RMTOSD_POLL_LONGTEXT |
Value:
N_( \ "Activate VNC polling. Do NOT activate for use as VDR ffnetdev client." )
| #define RMTOSD_POLL_TEXT N_("VNC polling") |
| #define RMTOSD_PORT_LONGTEXT |
Value:
N_( \ "VNC port number." )
| #define RMTOSD_PORT_TEXT N_("VNC Port") |
| #define RMTOSD_UPDATE_DEFAULT 1000 |
| #define RMTOSD_UPDATE_LONGTEXT |
Value:
N_( \ "In this interval an update from VNC is requested, default every 300 ms. ")
| #define RMTOSD_UPDATE_MAX 300 |
| #define RMTOSD_UPDATE_MIN 200 |
| #define RMTOSD_UPDATE_TEXT N_("VNC poll interval" ) |
| static bool copy_rect | ( | filter_sys_t * | p_sys, | |
| uint16_t | i_x, | |||
| uint16_t | i_y, | |||
| uint16_t | i_w, | |||
| uint16_t | i_h, | |||
| uint16_t | i_sx, | |||
| uint16_t | i_sy | |||
| ) | [inline, static] |
References A_PLANE, i_column, plane_t::i_lines, plane_t::i_pitch, picture_t::p, filter_sys_t::p_pic, plane_t::p_pixels, U_PLANE, V_PLANE, and Y_PLANE.
Referenced by process_server_message().
| static int CreateFilter | ( | vlc_object_t * | p_this | ) | [static] |
References filter_sys_t::ar_color_table_yuv, filter_sys_t::b_continue, filter_sys_t::b_need_update, filter_sys_t::b_vnc_key_events, filter_sys_t::b_vnc_mouse_events, filter_sys_t::b_vnc_poll, EMPTY_STR, es_format_Init(), Filter(), FIND_PARENT, filter_t::fmt_out, i, filter_sys_t::i_alpha, filter_sys_t::i_port, es_format_t::i_priority, filter_sys_t::i_socket, filter_sys_t::i_vnc_poll_interval, KeyEvent(), filter_sys_t::lock, MouseEvent(), msg_Dbg, msg_Err, vout_thread_t::p_libvlc, filter_sys_t::p_pic, filter_t::p_sys, p_sys, filter_sys_t::p_vout, filter_sys_t::p_worker_thread, filter_sys_t::psz_host, filter_sys_t::psz_passwd, RMTOSD_CFG, SPU_ES, stop_osdvnc(), var_AddCallback, var_CreateGetBoolCommand, var_CreateGetIntegerCommand, var_CreateGetString, VLC_CODEC_SPU, VLC_EGENERIC, VLC_ENOMEM, vlc_gcrypt_init(), vlc_mutex_destroy(), vlc_mutex_init(), vlc_object_attach, vlc_object_create, vlc_object_find, vlc_object_release, VLC_OBJECT_VOUT, VLC_SUCCESS, vlc_thread_create, VLC_THREAD_PRIORITY_LOW, and vnc_worker_thread().
| static void DestroyFilter | ( | vlc_object_t * | p_this | ) | [static] |
| static bool fill_rect | ( | filter_sys_t * | p_sys, | |
| uint16_t | i_x, | |||
| uint16_t | i_y, | |||
| uint16_t | i_w, | |||
| uint16_t | i_h, | |||
| uint8_t | i_color | |||
| ) | [inline, static] |
References A_PLANE, filter_sys_t::ar_color_table_yuv, i_column, plane_t::i_lines, plane_t::i_pitch, picture_t::p, filter_sys_t::p_pic, plane_t::p_pixels, U_PLANE, V_PLANE, and Y_PLANE.
Referenced by process_server_message().
| static subpicture_t * Filter | ( | filter_t * | p_filter, | |
| mtime_t | date | |||
| ) | [static] |
References subpicture_t::b_absolute, filter_sys_t::b_continue, subpicture_t::b_ephemer, filter_sys_t::b_need_update, filter_NewSubpicture(), subpicture_region_t::i_align, filter_sys_t::i_alpha, subpicture_t::i_alpha, video_format_t::i_chroma, video_format_t::i_height, subpicture_t::i_original_picture_height, subpicture_t::i_original_picture_width, video_format_t::i_sar_den, video_format_t::i_sar_num, subpicture_t::i_start, subpicture_t::i_stop, video_format_t::i_visible_height, plane_t::i_visible_lines, plane_t::i_visible_pitch, video_format_t::i_visible_width, video_format_t::i_width, video_format_t::i_x_offset, video_format_t::i_y_offset, filter_sys_t::lock, msg_Err, picture_t::p, filter_sys_t::p_pic, subpicture_region_t::p_picture, subpicture_t::p_region, filter_t::p_sys, p_sys, picture_Copy(), subpicture_region_New(), VLC_CODEC_YUVA, vlc_mutex_lock(), vlc_mutex_unlock(), and Y_PLANE.
| static bool handshaking | ( | filter_t * | p_filter | ) | [static] |
References filter_sys_t::b_alpha_from_vnc, rfbPixelFormat::bigEndian, rfbPixelFormat::bitsPerPixel, rfbPixelFormat::blueMax, rfbPixelFormat::blueShift, CHALLENGESIZE, rfbPixelFormat::depth, rfbSetPixelFormatMsg::format, rfbPixelFormat::greenMax, rfbPixelFormat::greenShift, filter_sys_t::i_socket, filter_sys_t::i_vnc_height, filter_sys_t::i_vnc_width, MAX_VNC_SERVER_NAME_LENGTH, msg_Dbg, msg_Err, rfbSetEncodingsMsg::nEncodings, filter_t::p_sys, p_sys, rfbSetEncodingsMsg::pad, rfbPixelFormat::pad1, rfbSetPixelFormatMsg::pad1, rfbPixelFormat::pad2, rfbSetPixelFormatMsg::pad2, filter_sys_t::psz_passwd, read_exact(), rfbPixelFormat::redMax, rfbPixelFormat::redShift, rfbConnFailed, rfbEncodingCopyRect, rfbEncodingRRE, rfbSetEncodings, rfbSetPixelFormat, rfbVncAuth, rfbVncAuthOK, rfbClientInitMsg::shared, sz_rfbClientInitMsg, sz_rfbProtocolVersionMsg, sz_rfbServerInitMsg, sz_rfbSetEncodingsMsg, sz_rfbSetPixelFormatMsg, rfbPixelFormat::trueColour, rfbSetEncodingsMsg::type, rfbSetPixelFormatMsg::type, vnc_encrypt_bytes(), and write_exact().
Referenced by vnc_worker_thread().
| static int KeyEvent | ( | vlc_object_t * | p_this, | |
| char const * | psz_var, | |||
| vlc_value_t | oldval, | |||
| vlc_value_t | newval, | |||
| void * | p_data | |||
| ) | [static] |
References filter_sys_t::b_connection_active, filter_sys_t::b_vnc_key_events, rfbKeyEventMsg::down, vlc_value_t::i_int, filter_sys_t::i_socket, rfbKeyEventMsg::key, KEY_MODIFIER_ALT, KEY_MODIFIER_CTRL, KEY_MODIFIER_SHIFT, filter_sys_t::lock, msg_Dbg, msg_Err, filter_t::p_sys, p_sys, rfbKeyEventMsg::pad, rfbKeyEvent, sz_rfbKeyEventMsg, rfbKeyEventMsg::type, VLC_EGENERIC, vlc_mutex_lock(), vlc_mutex_unlock(), VLC_SUCCESS, VLC_UNUSED, and write_exact().
Referenced by CreateFilter(), and DestroyFilter().
| static int MouseEvent | ( | filter_t * | p_filter, | |
| const vlc_mouse_t * | p_old, | |||
| const vlc_mouse_t * | p_new, | |||
| const video_format_t * | p_fmt | |||
| ) | [static] |
References filter_sys_t::b_connection_active, filter_sys_t::b_vnc_mouse_events, rfbPointerEventMsg::buttonMask, vlc_mouse_t::i_pressed, filter_sys_t::i_socket, video_format_t::i_visible_height, video_format_t::i_visible_width, filter_sys_t::i_vnc_height, filter_sys_t::i_vnc_width, vlc_mouse_t::i_x, vlc_mouse_t::i_y, filter_sys_t::lock, msg_Dbg, filter_t::p_sys, p_sys, rfbPointerEvent, sz_rfbPointerEventMsg, rfbPointerEventMsg::type, VLC_EGENERIC, vlc_mutex_lock(), vlc_mutex_unlock(), VLC_SUCCESS, VLC_UNUSED, write_exact(), rfbPointerEventMsg::x, and rfbPointerEventMsg::y.
| static bool open_vnc_connection | ( | filter_t * | p_filter | ) | [static] |
References filter_sys_t::i_port, filter_sys_t::i_socket, msg_Dbg, msg_Err, net_ConnectTCP, filter_t::p_sys, p_sys, and filter_sys_t::psz_host.
Referenced by vnc_worker_thread().
| static bool process_server_message | ( | filter_t * | p_filter, | |
| rfbServerToClientMsg * | msg | |||
| ) | [static] |
References filter_sys_t::ar_color_table_yuv, filter_sys_t::b_alpha_from_vnc, filter_sys_t::b_need_update, copy_rect(), fill_rect(), rfbSetColourMapEntriesMsg::firstColour, rfbServerToClientMsg::fu, rfbRectangle::h, i, filter_sys_t::i_socket, rfbServerCutTextMsg::length, filter_sys_t::lock, msg_Err, rfbSetColourMapEntriesMsg::nColours, rfbFramebufferUpdateMsg::nRects, filter_t::p_sys, p_sys, raw_line(), filter_sys_t::read_buffer, READ_BUFFER_SIZE, read_exact(), rfbBell, rfbEncodingCopyRect, rfbEncodingRaw, rfbEncodingRRE, rfbFramebufferUpdate, rfbReSizeFrameBuffer, rfbServerCutText, rfbSetColourMapEntries, rgb_to_yuv(), rfbServerToClientMsg::scme, rfbServerToClientMsg::sct, sz_rfbCopyRect, sz_rfbFramebufferUpdateRectHeader, sz_rfbRectangle, sz_rfbRREHeader, rfbServerToClientMsg::type, vlc_mutex_lock(), vlc_mutex_unlock(), rfbRectangle::w, rfbRectangle::x, filter_sys_t::x, and rfbRectangle::y.
Referenced by vnc_worker_thread().
| static bool raw_line | ( | filter_sys_t * | p_sys, | |
| uint16_t | i_x, | |||
| uint16_t | i_y, | |||
| uint16_t | i_w | |||
| ) | [inline, static] |
References A_PLANE, filter_sys_t::ar_color_table_yuv, i_color, i_column, plane_t::i_lines, plane_t::i_pitch, picture_t::p, filter_sys_t::p_pic, plane_t::p_pixels, filter_sys_t::read_buffer, U_PLANE, V_PLANE, and Y_PLANE.
Referenced by process_server_message().
| static bool read_exact | ( | filter_t * | p_filter, | |
| int | i_socket, | |||
| char * | p_readbuf, | |||
| int | i_bytes | |||
| ) | [static] |
References net_Read.
Referenced by handshaking(), process_server_message(), and vnc_worker_thread().
| static void rgb_to_yuv | ( | uint8_t * | y, | |
| uint8_t * | u, | |||
| uint8_t * | v, | |||
| int | r, | |||
| int | g, | |||
| int | b | |||
| ) | [inline, static] |
| static void stop_osdvnc | ( | filter_t * | p_filter | ) | [static] |
References msg_Dbg, filter_t::p_sys, p_sys, filter_sys_t::p_worker_thread, vlc_object_kill, vlc_object_release, and vlc_thread_join.
Referenced by CreateFilter(), and DestroyFilter().
| static void * update_request_thread | ( | vlc_object_t * | p_thread_obj | ) | [static] |
References filter_sys_t::b_continue, filter_sys_t::b_vnc_poll, rfbFramebufferUpdateRequestMsg::h, filter_sys_t::i_socket, filter_sys_t::i_vnc_height, filter_sys_t::i_vnc_poll_interval, filter_sys_t::i_vnc_width, rfbFramebufferUpdateRequestMsg::incremental, msg_Dbg, msg_Err, msleep, vlc_object_t::p_parent, filter_t::p_sys, p_sys, rfbFramebufferUpdateRequest, sz_rfbFramebufferUpdateRequestMsg, rfbFramebufferUpdateRequestMsg::type, vlc_object_alive, vlc_restorecancel(), vlc_savecancel(), rfbFramebufferUpdateRequestMsg::w, write_exact(), rfbFramebufferUpdateRequestMsg::x, and rfbFramebufferUpdateRequestMsg::y.
Referenced by vnc_worker_thread().
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
| static void vnc_encrypt_bytes | ( | unsigned char * | bytes, | |
| char * | passwd | |||
| ) | [static] |
| static void * vnc_worker_thread | ( | vlc_object_t * | p_thread_obj | ) | [static] |
References filter_sys_t::b_connection_active, filter_sys_t::b_continue, filter_sys_t::b_need_update, handshaking(), filter_sys_t::i_socket, filter_sys_t::i_vnc_height, filter_sys_t::i_vnc_pixels, filter_sys_t::i_vnc_width, filter_sys_t::lock, msg_Dbg, msg_Err, net_Close, open_vnc_connection(), vlc_object_t::p_parent, filter_sys_t::p_pic, filter_t::p_sys, p_sys, picture_New(), picture_Release(), process_server_message(), read_exact(), rfbBell, rfbFramebufferUpdate, rfbReSizeFrameBuffer, rfbServerCutText, rfbSetColourMapEntries, sz_rfbBellMsg, sz_rfbFramebufferUpdateMsg, sz_rfbReSizeFrameBufferMsg, sz_rfbServerCutTextMsg, sz_rfbSetColourMapEntriesMsg, update_request_thread(), VLC_CODEC_YUVA, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_object_alive, vlc_object_attach, vlc_object_create, vlc_object_kill, vlc_object_release, vlc_restorecancel(), vlc_savecancel(), vlc_thread_create, vlc_thread_join, and VLC_THREAD_PRIORITY_LOW.
Referenced by CreateFilter().
| static bool write_exact | ( | filter_t * | p_filter, | |
| int | i_socket, | |||
| char * | p_writebuf, | |||
| int | i_bytes | |||
| ) | [static] |
References net_Write.
Referenced by handshaking(), KeyEvent(), MouseEvent(), and update_request_thread().
1.5.6