Go to the source code of this file.
| typedef struct rtmp_body_t rtmp_body_t |
| typedef struct rtmp_control_thread_t rtmp_control_thread_t |
| typedef void(* rtmp_handler_t)(rtmp_control_thread_t *p_thread, rtmp_packet_t *rtmp_packet) |
| typedef struct rtmp_packet_t rtmp_packet_t |
References rtmp_body_t::body, rtmp_packet_t::body, flv_build_onMetaData(), flv_rebuild(), rtmp_body_t::length_buffer, rtmp_control_thread_t::metadata_audiocodecid, rtmp_control_thread_t::metadata_samplerate, rtmp_control_thread_t::metadata_samplesize, rtmp_control_thread_t::metadata_stereo, rtmp_control_thread_t::metadata_videocodecid, access_t::p_sys, access_sys_t::p_thread, rtmp_new_block(), and rtmp_packet_free().
Referenced by Read().
References block_Realloc(), FLV_HEADER_AUDIO, FLV_HEADER_SIGNATURE, FLV_HEADER_SIZE, FLV_HEADER_VERSION, FLV_HEADER_VIDEO, rtmp_control_thread_t::has_audio, rtmp_control_thread_t::has_video, hton32, block_t::i_buffer, block_t::p_buffer, access_t::p_sys, p_sys, and access_sys_t::p_thread.
Referenced by Read().
| rtmp_body_t* rtmp_body_new | ( | int | length_buffer | ) |
References rtmp_body_t::body, rtmp_body_t::length_body, rtmp_body_t::length_buffer, and RTMP_BODY_SIZE_ALLOC.
Referenced by flv_build_onMetaData(), rtmp_build_bytes_read(), rtmp_build_publish_start(), rtmp_connect_active(), rtmp_encode_createStream_result(), rtmp_encode_NetConnection_connect_result(), rtmp_encode_NetStream_play_reset_onStatus(), rtmp_encode_NetStream_play_start_onStatus(), rtmp_encode_onBWDone(), rtmp_encode_ping_clear_stream(), rtmp_encode_ping_reset_stream(), rtmp_encode_server_bw(), and rtmp_read_net_packet().
| void rtmp_body_reset | ( | rtmp_body_t * | ) |
| rtmp_packet_t* rtmp_build_bytes_read | ( | rtmp_control_thread_t * | p_thread, | |
| uint32_t | reply | |||
| ) |
References rtmp_body_t::body, hton32, rtmp_body_append(), rtmp_body_new(), RTMP_CONTENT_TYPE_BYTES_READ, RTMP_DEFAULT_STREAM_INDEX_CONTROL, and rtmp_new_packet().
Referenced by Read().
| rtmp_packet_t* rtmp_build_flv_over_rtmp | ( | rtmp_control_thread_t * | p_thread, | |
| block_t * | p_buffer | |||
| ) |
References rtmp_control_thread_t::flv_body, rtmp_control_thread_t::flv_content_type, rtmp_control_thread_t::flv_length_body, FLV_TAG_PREVIOUS_TAG_SIZE, FLV_TAG_SIZE, rtmp_control_thread_t::flv_timestamp, block_t::i_buffer, ntoh32, block_t::p_buffer, rtmp_body_append(), rtmp_body_reset(), rtmp_get_stream_index(), rtmp_new_packet(), and RTMP_SRC_DST_DEFAULT.
Referenced by Write().
| rtmp_packet_t* rtmp_build_publish_start | ( | rtmp_control_thread_t * | p_thread | ) |
References AMF_DATATYPE_END_OF_OBJECT, AMF_DATATYPE_NULL, AMF_DATATYPE_NUMBER, AMF_DATATYPE_OBJECT, AMF_DATATYPE_SIZE_END_OF_OBJECT, AMF_DATATYPE_SIZE_NULL, AMF_DATATYPE_SIZE_NUMBER, AMF_DATATYPE_SIZE_OBJECT, AMF_DATATYPE_SIZE_OBJECT_VARIABLE, AMF_DATATYPE_SIZE_STRING, AMF_DATATYPE_STRING, amf_encode_element(), amf_encode_object_variable(), rtmp_body_t::body, rtmp_control_thread_t::psz_publish, rtmp_body_append(), rtmp_body_new(), RTMP_CONTENT_TYPE_INVOKE, RTMP_DEFAULT_STREAM_INDEX_INVOKE, rtmp_new_packet(), rtmp_control_thread_t::stream_client_id, and rtmp_control_thread_t::stream_server_id.
Referenced by Read().
| int rtmp_connect_active | ( | rtmp_control_thread_t * | p_thread | ) |
References AMF_BOOLEAN_FALSE, AMF_CALL_NETCONNECTION_CONNECT, AMF_CALL_NETCONNECTION_CONNECT_AUDIOCODECS, AMF_CALL_NETCONNECTION_CONNECT_OBJECTENCODING, AMF_CALL_NETCONNECTION_CONNECT_VIDEOCODECS, AMF_CALL_NETCONNECTION_CONNECT_VIDEOFUNCTION, AMF_CALL_NETSTREAM_PLAY, AMF_CALL_STREAM_CLIENT_NUMBER, AMF_DATATYPE_BOOLEAN, AMF_DATATYPE_END_OF_OBJECT, AMF_DATATYPE_NULL, AMF_DATATYPE_NUMBER, AMF_DATATYPE_OBJECT, AMF_DATATYPE_SIZE_BOOLEAN, AMF_DATATYPE_SIZE_END_OF_OBJECT, AMF_DATATYPE_SIZE_NULL, AMF_DATATYPE_SIZE_NUMBER, AMF_DATATYPE_SIZE_OBJECT, AMF_DATATYPE_SIZE_OBJECT_VARIABLE, AMF_DATATYPE_SIZE_STRING, AMF_DATATYPE_STRING, amf_encode_element(), amf_encode_object_variable(), asprintf(), rtmp_body_t::body, rtmp_control_thread_t::lock, msg_Dbg, msg_Err, rtmp_control_thread_t::psz_application, vlc_url_t::psz_buffer, rtmp_control_thread_t::psz_media, rtmp_control_thread_t::psz_page_url, rtmp_control_thread_t::psz_swf_url, rtmp_control_thread_t::result_connect, rtmp_control_thread_t::result_play, rtmp_body_append(), rtmp_body_new(), RTMP_CONTENT_TYPE_INVOKE, RTMP_CONTENT_TYPE_PING, RTMP_DEFAULT_STREAM_CLIENT_ID, RTMP_DEFAULT_STREAM_INDEX_CONTROL, RTMP_DEFAULT_STREAM_INDEX_INVOKE, rtmp_encode_packet(), rtmp_encode_ping(), rtmp_new_packet(), RTMP_PING_BUFFER_TIME_CLIENT, RTMP_PING_SIZE_BUFFER_TIME_CLIENT, RTMP_SRC_DST_CONNECT_OBJECT, RTMP_SRC_DST_CONNECT_OBJECT2, RTMP_SRC_DST_DEFAULT, RTMP_TIME_CLIENT_BUFFER, rtmp_control_thread_t::stream_client_id, rtmp_control_thread_t::url, vlc_cond_wait(), vlc_mutex_lock(), vlc_mutex_unlock(), rtmp_control_thread_t::wait, and write_rtmp().
| int rtmp_connect_passive | ( | rtmp_control_thread_t * | p_thread | ) |
| uint8_t* rtmp_encode_packet | ( | rtmp_control_thread_t * | p_thread, | |
| rtmp_packet_t * | rtmp_packet | |||
| ) |
References rtmp_body_t::body, rtmp_packet_t::body, rtmp_control_thread_t::chunk_size_send, rtmp_packet_t::content_type, hton32, i, rtmp_body_t::length_body, rtmp_packet_t::length_encoded, rtmp_packet_t::length_header, rtmp_encode_header_size(), RTMP_HEADER_SIZE_1, rtmp_packet_t::src_dst, rtmp_packet_t::stream_index, rtmp_packet_t::timestamp, and rtmp_packet_t::timestamp_relative.
Referenced by Read(), rtmp_connect_active(), rtmp_handler_invoke(), and Write().
| int rtmp_handshake_active | ( | vlc_object_t * | p_this, | |
| int | fd | |||
| ) |
References i, msg_Err, net_Read, net_Write, RTMP_HANDSHAKE, RTMP_HANDSHAKE_BODY_SIZE, and vlc_rand_bytes().
| int rtmp_handshake_passive | ( | vlc_object_t * | p_this, | |
| int | fd | |||
| ) |
References i, msg_Err, net_Read, net_Write, RTMP_HANDSHAKE, and RTMP_HANDSHAKE_BODY_SIZE.
| void rtmp_init_handler | ( | rtmp_handler_t * | rtmp_handler | ) |
References RTMP_CONTENT_TYPE_AUDIO_DATA, RTMP_CONTENT_TYPE_BYTES_READ, RTMP_CONTENT_TYPE_CHUNK_SIZE, RTMP_CONTENT_TYPE_CLIENT_BW, RTMP_CONTENT_TYPE_FLEX_SHARED_OBJECT, RTMP_CONTENT_TYPE_FLEX_STREAM, RTMP_CONTENT_TYPE_INVOKE, RTMP_CONTENT_TYPE_MESSAGE, RTMP_CONTENT_TYPE_NOTIFY, RTMP_CONTENT_TYPE_PING, RTMP_CONTENT_TYPE_SERVER_BW, RTMP_CONTENT_TYPE_SHARED_OBJECT, RTMP_CONTENT_TYPE_UNKNOWN_02, RTMP_CONTENT_TYPE_UNKNOWN_07, RTMP_CONTENT_TYPE_UNKNOWN_0A_0E, RTMP_CONTENT_TYPE_VIDEO_DATA, rtmp_handler_audio_data(), rtmp_handler_chunk_size(), rtmp_handler_invoke(), rtmp_handler_notify(), rtmp_handler_null(), and rtmp_handler_video_data().
Referenced by ThreadControl().
| rtmp_packet_t* rtmp_read_net_packet | ( | rtmp_control_thread_t * | p_thread | ) |
References rtmp_body_t::body, rtmp_packet_t::body, rtmp_control_thread_t::chunk_size_recv, rtmp_packet_t::content_type, rtmp_control_thread_t::fd, rtmp_body_t::length_body, rtmp_packet_t::length_body, rtmp_body_t::length_buffer, msg_Err, net_Read, ntoh32, rtmp_body_new(), rtmp_decode_header_size(), RTMP_HEADER_SIZE_MASK, RTMP_HEADER_STREAM_INDEX_MASK, rtmp_control_thread_t::rtmp_headers_recv, rtmp_packet_t::src_dst, rtmp_packet_t::stream_index, rtmp_packet_t::timestamp, rtmp_packet_t::timestamp_relative, and VLC_OBJECT.
Referenced by ThreadControl().
1.5.6