
Data Structures | |
| struct | sout_stream_sys_t |
| struct | sout_stream_id_t |
Defines | |
| #define | RAOP_PORT 5000 |
| #define | RAOP_USER_AGENT "VLC " VERSION |
| #define | SOUT_CFG_PREFIX "sout-raop-" |
| #define | HOST_TEXT N_("Host") |
| #define | HOST_LONGTEXT N_("Hostname or IP address of target device") |
| #define | VOLUME_TEXT N_("Volume") |
| #define | VOLUME_LONGTEXT |
| #define | PASSWORD_TEXT N_("Password") |
| #define | PASSWORD_LONGTEXT N_("Password for target device.") |
| #define | PASSWORD_FILE_TEXT N_("Password file") |
| #define | PASSWORD_FILE_LONGTEXT N_("Read password for target device from file.") |
| #define | CheckForGcryptError(p_this, i_gcrypt_err) CheckForGcryptErrorWithLine( p_this, i_gcrypt_err, __LINE__ ) |
Enumerations | |
| enum | jack_type_t { JACK_TYPE_NONE = 0, JACK_TYPE_ANALOG, JACK_TYPE_DIGITAL } |
Functions | |
| static int | Open (vlc_object_t *) |
| Probes and initializes. | |
| static void | Close (vlc_object_t *) |
| Releases resources. | |
| static sout_stream_id_t * | Add (sout_stream_t *, es_format_t *) |
| static int | Del (sout_stream_t *, sout_stream_id_t *) |
| static int | Send (sout_stream_t *, sout_stream_id_t *, block_t *) |
| static int | VolumeCallback (vlc_object_t *p_this, char const *psz_cmd, vlc_value_t oldval, vlc_value_t newval, void *p_data) |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static void | FreeSys (vlc_object_t *p_this, sout_stream_sys_t *p_sys) |
| static void | FreeId (sout_stream_id_t *id) |
| static void | RemoveBase64Padding (char *str) |
| static int | CheckForGcryptErrorWithLine (sout_stream_t *p_stream, gcry_error_t i_gcrypt_err, unsigned int i_line) |
| static int | MGF1 (vlc_object_t *p_this, unsigned char *mask, size_t l, const unsigned char *Z, const size_t zLen, const int Hash) |
| static int | AddOaepPadding (vlc_object_t *p_this, unsigned char *EM, const size_t emLenWithPrefix, const unsigned char *M, const size_t mLen, const unsigned char *P, const size_t pLen) |
| static int | EncryptAesKeyBase64 (vlc_object_t *p_this, char **result) |
| static char * | ReadPasswordFile (vlc_object_t *p_this, const char *psz_path) |
| static int | SplitHeader (char **ppsz_next, char **ppsz_name, char **ppsz_value) |
| static void | FreeHeader (void *p_value, void *p_data) |
| static int | ReadStatusLine (vlc_object_t *p_this) |
| static int | ReadHeader (vlc_object_t *p_this, vlc_dictionary_t *p_resp_headers, int *done) |
| static int | WriteAuxHeaders (vlc_object_t *p_this, vlc_dictionary_t *p_req_headers) |
| static int | SendRequest (vlc_object_t *p_this, const char *psz_method, const char *psz_content_type, const char *psz_body, vlc_dictionary_t *p_req_headers) |
| static int | ParseAuthenticateHeader (vlc_object_t *p_this, vlc_dictionary_t *p_resp_headers) |
| static int | ExecRequest (vlc_object_t *p_this, const char *psz_method, const char *psz_content_type, const char *psz_body, vlc_dictionary_t *p_req_headers, vlc_dictionary_t *p_resp_headers) |
| static int | AnnounceSDP (vlc_object_t *p_this, char *psz_local, uint32_t i_session_id) |
| static int | SendSetup (vlc_object_t *p_this) |
| static int | SendRecord (vlc_object_t *p_this) |
| static int | SendFlush (vlc_object_t *p_this) |
| static int | SendTeardown (vlc_object_t *p_this) |
| static int | UpdateVolume (vlc_object_t *p_this) |
| static void | LogInfo (vlc_object_t *p_this) |
| static void | SendAudio (sout_stream_t *p_stream, block_t *p_buffer) |
Variables | |
| static const char | ps_raop_rsa_pubkey [] |
| static const char | ps_raop_rsa_exp [] = "\x01\x00\x01" |
| static const char | psz_delim_space [] = " " |
| static const char | psz_delim_colon [] = ":" |
| static const char | psz_delim_equal [] = "=" |
| static const char | psz_delim_semicolon [] = ";" |
| static const char *const | ppsz_sout_options [] |
| #define CheckForGcryptError | ( | p_this, | |||
| i_gcrypt_err | ) | CheckForGcryptErrorWithLine( p_this, i_gcrypt_err, __LINE__ ) |
Referenced by EncryptAesKeyBase64(), MGF1(), and SendAudio().
| #define HOST_LONGTEXT N_("Hostname or IP address of target device") |
| #define HOST_TEXT N_("Host") |
| #define PASSWORD_FILE_LONGTEXT N_("Read password for target device from file.") |
| #define PASSWORD_FILE_TEXT N_("Password file") |
| #define PASSWORD_LONGTEXT N_("Password for target device.") |
| #define PASSWORD_TEXT N_("Password") |
| #define RAOP_PORT 5000 |
| #define RAOP_USER_AGENT "VLC " VERSION |
Referenced by SendRequest().
| #define SOUT_CFG_PREFIX "sout-raop-" |
| #define VOLUME_LONGTEXT |
Value:
N_("Output volume for analog output: 0 for silence, " \ "1..255 from almost silent to very loud.")
| #define VOLUME_TEXT N_("Volume") |
| enum jack_type_t |
| static sout_stream_id_t * Add | ( | sout_stream_t * | p_stream, | |
| es_format_t * | p_fmt | |||
| ) | [static] |
References es_format_t::audio, AUDIO_ES, sout_stream_sys_t::b_alac_warning, es_format_Copy(), sout_stream_id_t::fmt, FreeId(), es_format_t::i_cat, audio_format_t::i_channels, es_format_t::i_codec, audio_format_t::i_rate, msg_Err, msg_Warn, sout_stream_sys_t::p_audio_stream, sout_stream_t::p_sys, and VLC_CODEC_ALAC.
| static int AddOaepPadding | ( | vlc_object_t * | p_this, | |
| unsigned char * | EM, | |||
| const size_t | emLenWithPrefix, | |||
| const unsigned char * | M, | |||
| const size_t | mLen, | |||
| const unsigned char * | P, | |||
| const size_t | pLen | |||
| ) | [static] |
| static int AnnounceSDP | ( | vlc_object_t * | p_this, | |
| char * | psz_local, | |||
| uint32_t | i_session_id | |||
| ) | [static] |
References asprintf(), EncryptAesKeyBase64(), ExecRequest(), FreeHeader(), p_stream, sout_stream_t::p_sys, p_sys, sout_stream_sys_t::ps_aes_iv, sout_stream_sys_t::psz_host, RemoveBase64Padding(), vlc_b64_encode_binary(), vlc_dictionary_clear(), vlc_dictionary_init(), vlc_dictionary_insert(), VLC_EGENERIC, VLC_ENOMEM, and VLC_SUCCESS.
| static int CheckForGcryptErrorWithLine | ( | sout_stream_t * | p_stream, | |
| gcry_error_t | i_gcrypt_err, | |||
| unsigned int | i_line | |||
| ) | [static] |
References msg_Err.
| static void Close | ( | vlc_object_t * | p_this | ) | [static] |
Releases resources.
Close the module.
Destroys the X11 window.
Disconnect from the X server.
Close a SDL video output.
It destroys an OpenGL vout display.
Terminate a vout display created by Open.
It destroyes a Direct3D vout display.
Terminate an output method created by Open.
Release the drawable.
Close a libcaca video output.
Close a aa video output method.
Close the filter.
Terminate a splitter module.
This function closes a clone video splitter module.
Common close function.
Releases allocate resources.
Close: Destructor.
| p_this | pointer to this filter object | |
| p_this,: | the filter object |
| static int Del | ( | sout_stream_t * | p_stream, | |
| sout_stream_id_t * | id | |||
| ) | [static] |
References FreeId(), sout_stream_sys_t::p_audio_stream, sout_stream_t::p_sys, and VLC_SUCCESS.
| static int EncryptAesKeyBase64 | ( | vlc_object_t * | p_this, | |
| char ** | result | |||
| ) | [static] |
References AddOaepPadding(), CheckForGcryptError, msg_Err, p_stream, sout_stream_t::p_sys, p_sys, sout_stream_sys_t::ps_aes_key, ps_raop_rsa_exp, ps_raop_rsa_pubkey, vlc_b64_encode_binary(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by AnnounceSDP().
| static int ExecRequest | ( | vlc_object_t * | p_this, | |
| const char * | psz_method, | |||
| const char * | psz_content_type, | |||
| const char * | psz_body, | |||
| vlc_dictionary_t * | p_req_headers, | |||
| vlc_dictionary_t * | p_resp_headers | |||
| ) | [static] |
References sout_stream_sys_t::auth, FreeHeader(), FREENULL, http_auth_FormatAuthorizationHeader(), sout_stream_sys_t::i_control_fd, msg_Err, p_stream, sout_stream_t::p_sys, p_sys, ParseAuthenticateHeader(), sout_stream_sys_t::psz_last_status_line, http_auth_t::psz_nonce, sout_stream_sys_t::psz_password, sout_stream_sys_t::psz_url, ReadHeader(), ReadStatusLine(), SendRequest(), vlc_dictionary_clear(), vlc_dictionary_insert(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by AnnounceSDP(), SendFlush(), SendRecord(), SendSetup(), SendTeardown(), and UpdateVolume().
| static void FreeHeader | ( | void * | p_value, | |
| void * | p_data | |||
| ) | [static] |
References VLC_UNUSED.
Referenced by AnnounceSDP(), ExecRequest(), SendFlush(), SendRecord(), SendSetup(), SendTeardown(), and UpdateVolume().
| static void FreeId | ( | sout_stream_id_t * | id | ) | [static] |
| static void FreeSys | ( | vlc_object_t * | p_this, | |
| sout_stream_sys_t * | p_sys | |||
| ) | [static] |
References sout_stream_sys_t::aes_ctx, sout_stream_sys_t::b_volume_callback, sout_stream_sys_t::i_control_fd, sout_stream_sys_t::i_stream_fd, net_Close, sout_stream_sys_t::p_sendbuf, p_stream, sout_stream_sys_t::psz_client_instance, sout_stream_sys_t::psz_host, sout_stream_sys_t::psz_last_status_line, sout_stream_sys_t::psz_password, sout_stream_sys_t::psz_session, sout_stream_sys_t::psz_url, SOUT_CFG_PREFIX, var_DelCallback, and VolumeCallback().
| static void LogInfo | ( | vlc_object_t * | p_this | ) | [static] |
| static int MGF1 | ( | vlc_object_t * | p_this, | |
| unsigned char * | mask, | |||
| size_t | l, | |||
| const unsigned char * | Z, | |||
| const size_t | zLen, | |||
| const int | Hash | |||
| ) | [static] |
References __MIN, CheckForGcryptError, p_stream, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by AddOaepPadding().
| static int Open | ( | vlc_object_t * | p_this | ) | [static] |
Probes and initializes.
Status of this demuxer: Real Media format -----------------.
Basic chorus/flanger/delay audio filter This implements a variable delay filter for VLC.
Todo:
Open the module.
Create an X11 window.
Probe the X server.
This function initializes SDL vout method.
It creates an OpenGL vout display.
This function allocates and initialize the DirectX vout display.
It creates a Direct3D vout display.
This function allocates and initializes a FB vout method.
Find the drawable set by libvlc application.
This function initializes libcaca vout method.
This function allocates and initializes a aa vout method.
This function allocates and initializes a Wall splitter module.
Open the filter.
This function allocates and initializes a Clone splitter module.
Open: initialize and create stuff.
Connect to the sftp server and ask for a file.
| p_this,: | the vlc_object |
| p_this | ||
| p_this,: | the filter object |
| static int ParseAuthenticateHeader | ( | vlc_object_t * | p_this, | |
| vlc_dictionary_t * | p_resp_headers | |||
| ) | [static] |
References sout_stream_sys_t::auth, http_auth_ParseWwwAuthenticateHeader(), msg_Err, p_stream, sout_stream_t::p_sys, p_sys, vlc_dictionary_value_for_key(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by ExecRequest().
| static int ReadHeader | ( | vlc_object_t * | p_this, | |
| vlc_dictionary_t * | p_resp_headers, | |||
| int * | done | |||
| ) | [static] |
References sout_stream_sys_t::i_control_fd, msg_Err, net_Gets, p_stream, sout_stream_t::p_sys, p_sys, psz_delim_colon, psz_name, psz_value, strdup(), strsep(), vlc_dictionary_insert(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by ExecRequest().
| static char* ReadPasswordFile | ( | vlc_object_t * | p_this, | |
| const char * | psz_path | |||
| ) | [static] |
References msg_Err, strdup(), and vlc_fopen().
| static int ReadStatusLine | ( | vlc_object_t * | p_this | ) | [static] |
References sout_stream_sys_t::i_control_fd, msg_Err, net_Gets, p_stream, sout_stream_t::p_sys, p_sys, psz_delim_space, sout_stream_sys_t::psz_last_status_line, strdup(), strsep(), and VLC_EGENERIC.
Referenced by ExecRequest().
| static void RemoveBase64Padding | ( | char * | str | ) | [static] |
Referenced by AnnounceSDP().
| static int Send | ( | sout_stream_t * | p_stream, | |
| sout_stream_id_t * | id, | |||
| block_t * | p_buffer | |||
| ) | [static] |
| static void SendAudio | ( | sout_stream_t * | p_stream, | |
| block_t * | p_buffer | |||
| ) | [static] |
References sout_stream_sys_t::aes_ctx, block_ChainRelease(), block_Release(), CheckForGcryptError, block_t::i_buffer, sout_stream_sys_t::i_sendbuf_len, sout_stream_sys_t::i_stream_fd, msg_Err, net_Write, block_t::p_buffer, block_t::p_next, sout_stream_sys_t::p_sendbuf, sout_stream_t::p_sys, p_sys, sout_stream_sys_t::ps_aes_iv, and realloc_or_free().
Referenced by Send().
| static int SendFlush | ( | vlc_object_t * | p_this | ) | [static] |
References ExecRequest(), FreeHeader(), vlc_dictionary_clear(), vlc_dictionary_init(), vlc_dictionary_insert(), VLC_SUCCESS, and VLC_UNUSED.
| static int SendRecord | ( | vlc_object_t * | p_this | ) | [static] |
| static int SendRequest | ( | vlc_object_t * | p_this, | |
| const char * | psz_method, | |||
| const char * | psz_content_type, | |||
| const char * | psz_body, | |||
| vlc_dictionary_t * | p_req_headers | |||
| ) | [static] |
References sout_stream_sys_t::i_control_fd, sout_stream_sys_t::i_cseq, net_Printf, net_Write, p_stream, sout_stream_t::p_sys, p_sys, sout_stream_sys_t::psz_client_instance, sout_stream_sys_t::psz_url, RAOP_USER_AGENT, VLC_EGENERIC, VLC_ENOMEM, VLC_SUCCESS, and WriteAuxHeaders().
Referenced by ExecRequest().
| static int SendSetup | ( | vlc_object_t * | p_this | ) | [static] |
References ExecRequest(), FreeHeader(), sout_stream_sys_t::i_jack_type, sout_stream_sys_t::i_server_port, JACK_TYPE_ANALOG, JACK_TYPE_DIGITAL, msg_Err, p_stream, sout_stream_t::p_sys, p_sys, psz_name, sout_stream_sys_t::psz_session, psz_value, SplitHeader(), strdup(), vlc_dictionary_clear(), vlc_dictionary_init(), vlc_dictionary_insert(), vlc_dictionary_value_for_key(), VLC_EGENERIC, and VLC_SUCCESS.
| static int SendTeardown | ( | vlc_object_t * | p_this | ) | [static] |
References ExecRequest(), FreeHeader(), vlc_dictionary_clear(), vlc_dictionary_init(), and VLC_SUCCESS.
| static int SplitHeader | ( | char ** | ppsz_next, | |
| char ** | ppsz_name, | |||
| char ** | ppsz_value | |||
| ) | [static] |
References psz_delim_equal, psz_delim_semicolon, psz_delim_space, and strsep().
Referenced by SendSetup().
| static int UpdateVolume | ( | vlc_object_t * | p_this | ) | [static] |
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
| static int VolumeCallback | ( | vlc_object_t * | p_this, | |
| char const * | psz_cmd, | |||
| vlc_value_t | oldval, | |||
| vlc_value_t | newval, | |||
| void * | p_data | |||
| ) | [static] |
| static int WriteAuxHeaders | ( | vlc_object_t * | p_this, | |
| vlc_dictionary_t * | p_req_headers | |||
| ) | [static] |
References i, sout_stream_sys_t::i_control_fd, net_Printf, p_stream, sout_stream_t::p_sys, p_sys, psz_value, vlc_dictionary_all_keys(), vlc_dictionary_value_for_key(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by SendRequest().
const char* const ppsz_sout_options[] [static] |
Initial value:
{
"host",
"password",
"password-file",
"volume",
NULL
}
const char ps_raop_rsa_exp[] = "\x01\x00\x01" [static] |
Referenced by EncryptAesKeyBase64().
const char ps_raop_rsa_pubkey[] [static] |
Initial value:
"\xe7\xd7\x44\xf2\xa2\xe2\x78\x8b\x6c\x1f\x55\xa0\x8e\xb7\x05\x44"
"\xa8\xfa\x79\x45\xaa\x8b\xe6\xc6\x2c\xe5\xf5\x1c\xbd\xd4\xdc\x68"
"\x42\xfe\x3d\x10\x83\xdd\x2e\xde\xc1\xbf\xd4\x25\x2d\xc0\x2e\x6f"
"\x39\x8b\xdf\x0e\x61\x48\xea\x84\x85\x5e\x2e\x44\x2d\xa6\xd6\x26"
"\x64\xf6\x74\xa1\xf3\x04\x92\x9a\xde\x4f\x68\x93\xef\x2d\xf6\xe7"
"\x11\xa8\xc7\x7a\x0d\x91\xc9\xd9\x80\x82\x2e\x50\xd1\x29\x22\xaf"
"\xea\x40\xea\x9f\x0e\x14\xc0\xf7\x69\x38\xc5\xf3\x88\x2f\xc0\x32"
"\x3d\xd9\xfe\x55\x15\x5f\x51\xbb\x59\x21\xc2\x01\x62\x9f\xd7\x33"
"\x52\xd5\xe2\xef\xaa\xbf\x9b\xa0\x48\xd7\xb8\x13\xa2\xb6\x76\x7f"
"\x6c\x3c\xcf\x1e\xb4\xce\x67\x3d\x03\x7b\x0d\x2e\xa3\x0c\x5f\xff"
"\xeb\x06\xf8\xd0\x8a\xdd\xe4\x09\x57\x1a\x9c\x68\x9f\xef\x10\x72"
"\x88\x55\xdd\x8c\xfb\x9a\x8b\xef\x5c\x89\x43\xef\x3b\x5f\xaa\x15"
"\xdd\xe6\x98\xbe\xdd\xf3\x59\x96\x03\xeb\x3e\x6f\x61\x37\x2b\xb6"
"\x28\xf6\x55\x9f\x59\x9a\x78\xbf\x50\x06\x87\xaa\x7f\x49\x76\xc0"
"\x56\x2d\x41\x29\x56\xf8\x98\x9e\x18\xa6\x35\x5b\xd8\x15\x97\x82"
"\x5e\x0f\xc8\x75\x34\x3e\xc7\x82\x11\x76\x25\xcd\xbf\x98\x44\x7b"
Referenced by EncryptAesKeyBase64().
const char psz_delim_colon[] = ":" [static] |
Referenced by ReadHeader().
const char psz_delim_equal[] = "=" [static] |
Referenced by SplitHeader().
const char psz_delim_semicolon[] = ";" [static] |
Referenced by SplitHeader().
const char psz_delim_space[] = " " [static] |
Referenced by ReadStatusLine(), and SplitHeader().
1.5.6