
Defines | |
| #define | GETUTF16(psz, size) |
| #define | GET32(i_pos) |
| #define | MMS_RETRY_MAX 10 |
| #define | MMS_RETRY_SLEEP 50000 |
Functions | |
| int | MMSTUOpen (access_t *) |
| void | MMSTUClose (access_t *) |
| static block_t * | Block (access_t *) |
| static int | Seek (access_t *, uint64_t) |
| static int | Control (access_t *, int, va_list) |
| static int | MMSOpen (access_t *, vlc_url_t *, int) |
| static int | MMSStart (access_t *, uint32_t) |
| static int | MMSStop (access_t *) |
| static void | MMSClose (access_t *) |
| static int | mms_CommandRead (access_t *p_access, int i_command1, int i_command2) |
| static int | mms_CommandSend (access_t *, int, uint32_t, uint32_t, uint8_t *, int) |
| static int | mms_HeaderMediaRead (access_t *, int) |
| static int | mms_ReceivePacket (access_t *) |
| static void | KeepAliveStart (access_t *) |
| static void | KeepAliveStop (access_t *) |
| static int | NetFillBuffer (access_t *p_access) |
| static int | mms_ParseCommand (access_t *p_access, uint8_t *p_data, size_t i_data, int *pi_used) |
| static int | mms_ParsePacket (access_t *p_access, uint8_t *p_data, size_t i_data, int *pi_used) |
| static int | mms_ReceiveCommand (access_t *p_access) |
| static void * | KeepAliveThread (void *p_data) |
| #define GET32 | ( | i_pos | ) |
Value:
( p_sys->p_cmd[i_pos] + ( p_sys->p_cmd[i_pos +1] << 8 ) + \ ( p_sys->p_cmd[i_pos + 2] << 16 ) + \ ( p_sys->p_cmd[i_pos + 3] << 24 ) )
Referenced by mms_ParseCommand().
| #define GETUTF16 | ( | psz, | |||
| size | ) |
| #define MMS_RETRY_MAX 10 |
Referenced by mms_CommandRead(), and mms_HeaderMediaRead().
| #define MMS_RETRY_SLEEP 50000 |
Referenced by mms_CommandRead(), and mms_HeaderMediaRead().
References __MAX, access_t::b_eof, block_New, access_sys_t::i_header, access_sys_t::i_media, access_sys_t::i_media_used, access_sys_t::i_packet_length, access_t::i_pos, access_t::info, mms_HeaderMediaRead(), MMS_PACKET_MEDIA, block_t::p_buffer, access_sys_t::p_header, access_sys_t::p_media, access_t::p_sys, and p_sys.
| static int Control | ( | access_t * | p_access, | |
| int | i_query, | |||
| va_list | args | |||
| ) | [static] |
References ACCESS_CAN_CONTROL_PACE, ACCESS_CAN_FASTSEEK, ACCESS_CAN_PAUSE, ACCESS_CAN_SEEK, ACCESS_GET_CONTENT_TYPE, ACCESS_GET_PRIVATE_ID_STATE, ACCESS_GET_PTS_DELAY, ACCESS_GET_TITLE_INFO, ACCESS_SET_PAUSE_STATE, ACCESS_SET_PRIVATE_ID_STATE, ACCESS_SET_SEEKPOINT, ACCESS_SET_TITLE, access_sys_t::asfh, access_sys_t::b_seekable, access_t::i_pos, asf_stream_t::i_selected, access_t::info, KeepAliveStart(), KeepAliveStop(), MMSStop(), msg_Warn, access_t::p_sys, p_sys, Seek(), asf_header_t::stream, var_GetInteger, VLC_EGENERIC, and VLC_SUCCESS.
| static void KeepAliveStart | ( | access_t * | p_access | ) | [static] |
References access_sys_t::b_keep_alive, access_sys_t::keep_alive, KeepAliveThread(), access_t::p_sys, p_sys, vlc_clone(), and VLC_THREAD_PRIORITY_LOW.
Referenced by Control().
| static void KeepAliveStop | ( | access_t * | p_access | ) | [static] |
References access_sys_t::b_keep_alive, access_sys_t::keep_alive, access_t::p_sys, p_sys, vlc_cancel(), and vlc_join().
Referenced by Control(), and MMSTUClose().
| static void* KeepAliveThread | ( | void * | p_data | ) | [static] |
References CLOCK_FREQ, mms_CommandSend(), msleep, vlc_restorecancel(), and vlc_savecancel().
Referenced by KeepAliveStart().
| static int mms_CommandRead | ( | access_t * | p_access, | |
| int | i_command1, | |||
| int | i_command2 | |||
| ) | [static] |
References access_t::b_eof, access_sys_t::i_command, access_t::info, mms_ReceiveCommand(), MMS_RETRY_MAX, MMS_RETRY_SLEEP, msg_Warn, msleep, access_t::p_sys, p_sys, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by MMSOpen(), and MMSStart().
| static int mms_CommandSend | ( | access_t * | p_access, | |
| int | i_command, | |||
| uint32_t | i_prefix1, | |||
| uint32_t | i_prefix2, | |||
| uint8_t * | p_data, | |||
| int | i_data_old | |||
| ) | [static] |
References var_buffer_t::i_data, access_sys_t::i_handle_tcp, access_sys_t::i_seq_num, access_sys_t::lock_netwrite, MMS_CMD_HEADERSIZE, msg_Err, net_Write, var_buffer_t::p_data, access_t::p_sys, p_sys, var_buffer_add32(), var_buffer_add64(), var_buffer_addmemory(), var_buffer_free(), var_buffer_initwrite(), VLC_EGENERIC, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
Referenced by KeepAliveThread(), mms_ReceiveCommand(), mms_ReceivePacket(), MMSClose(), MMSOpen(), MMSStart(), MMSStop(), and Seek().
| static int mms_HeaderMediaRead | ( | access_t * | p_access, | |
| int | i_type | |||
| ) | [static] |
References access_t::b_eof, access_sys_t::i_command, access_t::info, MMS_PACKET_ANY, MMS_PACKET_CMD, MMS_PACKET_HEADER, mms_ReceivePacket(), MMS_RETRY_MAX, MMS_RETRY_SLEEP, msg_Err, msg_Warn, msleep, access_t::p_sys, p_sys, and vlc_object_alive.
Referenced by Block(), MMSOpen(), MMSStart(), and Seek().
| static int mms_ParseCommand | ( | access_t * | p_access, | |
| uint8_t * | p_data, | |||
| size_t | i_data, | |||
| int * | pi_used | |||
| ) | [static] |
References GET32, GetDWLE(), access_sys_t::i_cmd, access_sys_t::i_command, MMS_CMD_HEADERSIZE, MMS_PACKET_CMD, msg_Dbg, msg_Err, msg_Warn, access_sys_t::p_cmd, access_t::p_sys, p_sys, and xmalloc().
Referenced by mms_ReceiveCommand(), and mms_ReceivePacket().
| static int mms_ParsePacket | ( | access_t * | p_access, | |
| uint8_t * | p_data, | |||
| size_t | i_data, | |||
| int * | pi_used | |||
| ) | [static] |
References FREENULL, GetDWLE(), GetWLE(), access_sys_t::i_header, access_sys_t::i_header_packet_id_type, access_sys_t::i_media, access_sys_t::i_media_packet_id_type, access_sys_t::i_media_used, access_sys_t::i_packet_seq_num, MMS_PACKET_HEADER, MMS_PACKET_MEDIA, MMS_PACKET_UDP_TIMING, msg_Warn, access_sys_t::p_header, access_sys_t::p_media, access_t::p_sys, p_sys, xmalloc(), and xrealloc().
Referenced by mms_ReceivePacket().
| static int mms_ReceiveCommand | ( | access_t * | p_access | ) | [static] |
References access_sys_t::buffer_tcp, access_sys_t::i_buffer_tcp, access_sys_t::i_command, MMS_BUFFER_SIZE, mms_CommandSend(), mms_ParseCommand(), msg_Warn, NetFillBuffer(), access_t::p_sys, p_sys, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by mms_CommandRead().
| static int mms_ReceivePacket | ( | access_t * | p_access | ) | [static] |
References access_sys_t::buffer_tcp, access_sys_t::buffer_udp, GetDWLE(), GetWLE(), access_sys_t::i_buffer_tcp, access_sys_t::i_buffer_udp, access_sys_t::i_command, access_sys_t::i_proto, MMS_BUFFER_SIZE, MMS_CMD_HEADERSIZE, mms_CommandSend(), MMS_PACKET_CMD, mms_ParseCommand(), mms_ParsePacket(), MMS_PROTO_UDP, msg_Warn, NetFillBuffer(), access_t::p_sys, and p_sys.
Referenced by mms_HeaderMediaRead().
| static void MMSClose | ( | access_t * | p_access | ) | [static] |
References FREENULL, access_sys_t::i_command_level, access_sys_t::i_handle_tcp, access_sys_t::i_handle_udp, access_sys_t::i_proto, mms_CommandSend(), MMS_PROTO_UDP, msg_Dbg, net_Close, access_sys_t::p_cmd, access_sys_t::p_header, access_sys_t::p_media, access_t::p_sys, p_sys, access_sys_t::psz_encryption_type, access_sys_t::psz_server_version, access_sys_t::psz_tool_version, and access_sys_t::psz_update_player_url.
Referenced by MMSOpen(), and MMSTUClose().
References asf_HeaderParse(), ASF_STREAM_AUDIO, ASF_STREAM_UNKNOWN, asf_StreamSelect(), access_sys_t::asfh, access_t::b_eof, GenerateGuid(), GetDWLE(), GETUTF16, access_sys_t::guid, GUID_FMT, GUID_PRINT, i, asf_stream_t::i_bitrate, access_sys_t::i_buffer_tcp, access_sys_t::i_buffer_udp, asf_stream_t::i_cat, access_sys_t::i_cmd, access_sys_t::i_command, access_sys_t::i_command_level, var_buffer_t::i_data, access_sys_t::i_flags_broadcast, access_sys_t::i_handle_tcp, access_sys_t::i_handle_udp, access_sys_t::i_header, access_sys_t::i_header_packet_id_type, access_sys_t::i_header_size, access_sys_t::i_max_bit_rate, access_sys_t::i_media, access_sys_t::i_media_length, access_sys_t::i_media_packet_id_type, access_sys_t::i_media_used, access_sys_t::i_packet_count, access_sys_t::i_packet_length, access_sys_t::i_packet_seq_num, vlc_url_t::i_port, access_t::i_pos, access_sys_t::i_proto, asf_stream_t::i_selected, access_sys_t::i_seq_num, access_t::info, MMS_CMD_HEADERSIZE, mms_CommandRead(), mms_CommandSend(), mms_HeaderMediaRead(), MMS_PACKET_HEADER, MMS_PROTO_UDP, MMSClose(), msg_Dbg, msg_Err, msg_Info, msg_Warn, net_Close, net_ConnectTCP, net_GetSockAddress(), net_ListenUDP1(), access_sys_t::p_cmd, var_buffer_t::p_data, access_sys_t::p_header, access_sys_t::p_media, access_t::p_sys, p_sys, access_sys_t::psz_encryption_type, vlc_url_t::psz_host, vlc_url_t::psz_path, access_sys_t::psz_server_version, access_sys_t::psz_tool_version, access_sys_t::psz_update_player_url, asf_header_t::stream, access_sys_t::sz_bind_addr, var_buffer_add16(), var_buffer_add32(), var_buffer_add64(), var_buffer_addUTF16(), var_buffer_free(), var_buffer_initwrite(), var_buffer_reinitwrite(), var_InheritBool, var_InheritInteger, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by MMSTUOpen().
| static int MMSStart | ( | access_t * | p_access, | |
| uint32_t | i_packet | |||
| ) | [static] |
References access_sys_t::i_command, access_sys_t::i_command_level, var_buffer_t::i_data, access_sys_t::i_media_packet_id_type, mms_CommandRead(), mms_CommandSend(), mms_HeaderMediaRead(), MMS_PACKET_MEDIA, msg_Dbg, msg_Err, var_buffer_t::p_data, access_t::p_sys, p_sys, var_buffer_add32(), var_buffer_add64(), var_buffer_add8(), var_buffer_free(), and var_buffer_initwrite().
Referenced by MMSTUOpen().
| static int MMSStop | ( | access_t * | p_access | ) | [static] |
References access_sys_t::i_command_level, mms_CommandSend(), access_t::p_sys, and p_sys.
| void MMSTUClose | ( | access_t * | p_access | ) |
| int MMSTUOpen | ( | access_t * | p_access | ) |
| static int NetFillBuffer | ( | access_t * | p_access | ) | [static] |
References __MIN, access_sys_t::buffer_tcp, access_sys_t::buffer_udp, pollfd::events, pollfd::fd, access_sys_t::i_buffer_tcp, access_sys_t::i_buffer_udp, access_sys_t::i_handle_tcp, access_sys_t::i_handle_udp, access_sys_t::i_proto, access_sys_t::i_timeout, MMS_BUFFER_SIZE, MMS_PROTO_UDP, msg_Dbg, msg_Err, msg_Warn, access_t::p_sys, p_sys, poll, POLLIN, pollfd::revents, and vlc_object_alive.
Referenced by mms_ReceiveCommand(), and mms_ReceivePacket().
| static int Seek | ( | access_t * | p_access, | |
| uint64_t | i_pos | |||
| ) | [static] |
References access_t::b_eof, access_sys_t::b_seekable, access_sys_t::i_command, access_sys_t::i_command_level, var_buffer_t::i_data, access_sys_t::i_header, access_sys_t::i_media_packet_id_type, access_sys_t::i_media_used, access_sys_t::i_packet_count, access_sys_t::i_packet_length, access_t::i_pos, access_t::info, mms_CommandSend(), mms_HeaderMediaRead(), MMS_PACKET_CMD, MMS_PACKET_MEDIA, MMSStop(), msg_Dbg, var_buffer_t::p_data, access_t::p_sys, p_sys, var_buffer_add32(), var_buffer_add64(), var_buffer_add8(), var_buffer_free(), var_buffer_initwrite(), VLC_EGENERIC, vlc_object_alive, and VLC_SUCCESS.
1.5.6