FFmpeg
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Fields
RTMPContext Struct Reference

protocol handler context More...

Data Fields

const AVClassclass
 
URLContextstream
 TCP stream used in interactions with RTMP server. More...
 
RTMPPacketprev_pkt [2]
 packet history used when reading and sending packets ([0] for reading, [1] for writing) More...
 
int nb_prev_pkt [2]
 number of elements in prev_pkt More...
 
int in_chunk_size
 size of the chunks incoming RTMP packets are divided into More...
 
int out_chunk_size
 size of the chunks outgoing RTMP packets are divided into More...
 
int is_input
 input/output flag More...
 
char * playpath
 stream identifier to play (with possible "mp4:" prefix) More...
 
int live
 0: recorded, -1: live, -2: both More...
 
char * app
 name of application More...
 
char * conn
 append arbitrary AMF data to the Connect message More...
 
ClientState state
 current state More...
 
int stream_id
 ID assigned by the server for the stream. More...
 
uint8_t * flv_data
 buffer with data for demuxer More...
 
int flv_size
 current buffer size More...
 
int flv_off
 number of bytes read from current buffer More...
 
int flv_nb_packets
 number of flv packets published More...
 
RTMPPacket out_pkt
 rtmp packet, created from flv a/v or metadata (for output) More...
 
uint32_t receive_report_size
 number of bytes after which we should report the number of received bytes to the peer More...
 
uint64_t bytes_read
 number of bytes read from server More...
 
uint64_t last_bytes_read
 number of bytes read last reported to server More...
 
uint32_t last_timestamp
 last timestamp received in a packet More...
 
int skip_bytes
 number of bytes to skip from the input FLV stream in the next write call More...
 
int has_audio
 presence of audio data More...
 
int has_video
 presence of video data More...
 
int received_metadata
 Indicates if we have received metadata about the streams. More...
 
uint8_t flv_header [RTMP_HEADER]
 partial incoming flv packet header More...
 
int flv_header_bytes
 number of initialized bytes in flv_header More...
 
int nb_invokes
 keeps track of invoke messages More...
 
char * tcurl
 url of the target stream More...
 
char * flashver
 version of the flash plugin More...
 
char * swfhash
 SHA256 hash of the decompressed SWF file (32 bytes) More...
 
int swfhash_len
 length of the SHA256 hash More...
 
int swfsize
 size of the decompressed SWF file More...
 
char * swfurl
 url of the swf player More...
 
char * swfverify
 URL to player swf file, compute hash/size automatically. More...
 
char swfverification [42]
 hash of the SWF verification More...
 
char * pageurl
 url of the web page More...
 
char * subscribe
 name of live stream to subscribe More...
 
int max_sent_unacked
 max unacked sent bytes More...
 
int client_buffer_time
 client buffer time in ms More...
 
int flush_interval
 number of packets flushed in the same request (RTMPT only) More...
 
int encrypted
 use an encrypted connection (RTMPE only) More...
 
TrackedMethodtracked_methods
 tracked methods buffer More...
 
int nb_tracked_methods
 number of tracked methods More...
 
int tracked_methods_size
 size of the tracked methods buffer More...
 
int listen
 listen mode flag More...
 
int listen_timeout
 listen timeout to wait for new connections More...
 
int nb_streamid
 The next stream id to return on createStream calls. More...
 
double duration
 Duration of the stream in seconds as returned by the server (only valid if non-zero) More...
 
int tcp_nodelay
 Use TCP_NODELAY to disable Nagle's algorithm if set to 1. More...
 
char * enhanced_codecs
 codec list in enhanced rtmp More...
 
char username [50]
 
char password [50]
 
char auth_params [500]
 
int do_reconnect
 
int auth_tried
 

Detailed Description

protocol handler context

Definition at line 79 of file rtmpproto.c.

Field Documentation

◆ class

const AVClass* RTMPContext::class

Definition at line 80 of file rtmpproto.c.

◆ stream

URLContext* RTMPContext::stream

◆ prev_pkt

RTMPPacket* RTMPContext::prev_pkt[2]

packet history used when reading and sending packets ([0] for reading, [1] for writing)

Definition at line 82 of file rtmpproto.c.

Referenced by get_packet(), handle_chunk_size(), read_connect(), rtmp_close(), rtmp_open(), rtmp_send_packet(), rtmp_write(), send_invoke_response(), write_begin(), and write_status().

◆ nb_prev_pkt

int RTMPContext::nb_prev_pkt[2]

◆ in_chunk_size

int RTMPContext::in_chunk_size

size of the chunks incoming RTMP packets are divided into

Definition at line 84 of file rtmpproto.c.

Referenced by get_packet(), handle_chunk_size(), read_connect(), rtmp_open(), and rtmp_write().

◆ out_chunk_size

int RTMPContext::out_chunk_size

size of the chunks outgoing RTMP packets are divided into

Definition at line 85 of file rtmpproto.c.

Referenced by handle_chunk_size(), read_connect(), rtmp_open(), rtmp_send_packet(), send_invoke_response(), write_begin(), and write_status().

◆ is_input

int RTMPContext::is_input

input/output flag

Definition at line 86 of file rtmpproto.c.

Referenced by gen_connect(), get_packet(), handle_chunk_size(), handle_invoke_result(), rtmp_close(), rtmp_handshake(), and rtmp_open().

◆ playpath

char* RTMPContext::playpath

stream identifier to play (with possible "mp4:" prefix)

Definition at line 87 of file rtmpproto.c.

Referenced by gen_fcpublish_stream(), gen_fcunpublish_stream(), gen_get_stream_length(), gen_play(), gen_publish(), gen_release_stream(), handle_invoke_result(), and rtmp_open().

◆ live

int RTMPContext::live

0: recorded, -1: live, -2: both

Definition at line 88 of file rtmpproto.c.

Referenced by gen_play(), handle_invoke_error(), and handle_invoke_result().

◆ app

char* RTMPContext::app

name of application

Definition at line 89 of file rtmpproto.c.

Referenced by do_llnw_auth(), gen_connect(), read_connect(), and rtmp_open().

◆ conn

char* RTMPContext::conn

append arbitrary AMF data to the Connect message

Definition at line 90 of file rtmpproto.c.

Referenced by gen_connect().

◆ state

ClientState RTMPContext::state

current state

Definition at line 91 of file rtmpproto.c.

Referenced by get_packet(), handle_invoke_status(), rtmp_close(), rtmp_open(), rtmp_seek(), and send_invoke_response().

◆ stream_id

int RTMPContext::stream_id

ID assigned by the server for the stream.

Definition at line 92 of file rtmpproto.c.

Referenced by gen_buffer_time(), gen_delete_stream(), gen_pause(), gen_play(), gen_publish(), gen_seek(), handle_invoke_result(), and rtmp_write().

◆ flv_data

uint8_t* RTMPContext::flv_data

buffer with data for demuxer

Definition at line 93 of file rtmpproto.c.

Referenced by append_flv_data(), handle_metadata(), inject_fake_duration_metadata(), rtmp_close(), rtmp_open(), rtmp_read(), and rtmp_write().

◆ flv_size

int RTMPContext::flv_size

◆ flv_off

int RTMPContext::flv_off

number of bytes read from current buffer

Definition at line 95 of file rtmpproto.c.

Referenced by append_flv_data(), handle_metadata(), rtmp_open(), rtmp_read(), rtmp_seek(), rtmp_write(), and update_offset().

◆ flv_nb_packets

int RTMPContext::flv_nb_packets

number of flv packets published

Definition at line 96 of file rtmpproto.c.

Referenced by rtmp_write().

◆ out_pkt

RTMPPacket RTMPContext::out_pkt

rtmp packet, created from flv a/v or metadata (for output)

Definition at line 97 of file rtmpproto.c.

Referenced by rtmp_close(), and rtmp_write().

◆ receive_report_size

uint32_t RTMPContext::receive_report_size

number of bytes after which we should report the number of received bytes to the peer

Definition at line 98 of file rtmpproto.c.

Referenced by get_packet(), handle_window_ack_size(), and rtmp_open().

◆ bytes_read

uint64_t RTMPContext::bytes_read

number of bytes read from server

Definition at line 99 of file rtmpproto.c.

Referenced by gen_bytes_read(), get_packet(), and rtmp_open().

◆ last_bytes_read

uint64_t RTMPContext::last_bytes_read

number of bytes read last reported to server

Definition at line 100 of file rtmpproto.c.

Referenced by get_packet(), and rtmp_open().

◆ last_timestamp

uint32_t RTMPContext::last_timestamp

last timestamp received in a packet

Definition at line 101 of file rtmpproto.c.

Referenced by get_packet(), and rtmp_pause().

◆ skip_bytes

int RTMPContext::skip_bytes

number of bytes to skip from the input FLV stream in the next write call

Definition at line 102 of file rtmpproto.c.

Referenced by rtmp_open(), and rtmp_write().

◆ has_audio

int RTMPContext::has_audio

presence of audio data

Definition at line 103 of file rtmpproto.c.

Referenced by append_flv_data(), handle_notify(), and rtmp_open().

◆ has_video

int RTMPContext::has_video

presence of video data

Definition at line 104 of file rtmpproto.c.

Referenced by append_flv_data(), handle_notify(), and rtmp_open().

◆ received_metadata

int RTMPContext::received_metadata

Indicates if we have received metadata about the streams.

Definition at line 105 of file rtmpproto.c.

Referenced by handle_notify(), and rtmp_open().

◆ flv_header

uint8_t RTMPContext::flv_header[RTMP_HEADER]

partial incoming flv packet header

Definition at line 106 of file rtmpproto.c.

Referenced by rtmp_write().

◆ flv_header_bytes

int RTMPContext::flv_header_bytes

number of initialized bytes in flv_header

Definition at line 107 of file rtmpproto.c.

Referenced by rtmp_write().

◆ nb_invokes

int RTMPContext::nb_invokes

◆ tcurl

char* RTMPContext::tcurl

url of the target stream

Definition at line 109 of file rtmpproto.c.

Referenced by gen_connect(), and rtmp_open().

◆ flashver

char* RTMPContext::flashver

version of the flash plugin

Definition at line 110 of file rtmpproto.c.

Referenced by gen_connect(), and rtmp_open().

◆ swfhash

char* RTMPContext::swfhash

SHA256 hash of the decompressed SWF file (32 bytes)

Definition at line 111 of file rtmpproto.c.

Referenced by rtmp_calc_swf_verification().

◆ swfhash_len

int RTMPContext::swfhash_len

length of the SHA256 hash

Definition at line 112 of file rtmpproto.c.

Referenced by rtmp_calc_swf_verification().

◆ swfsize

int RTMPContext::swfsize

size of the decompressed SWF file

Definition at line 113 of file rtmpproto.c.

Referenced by handle_user_control(), rtmp_calc_swf_verification(), rtmp_calc_swfhash(), and rtmp_handshake().

◆ swfurl

char* RTMPContext::swfurl

url of the swf player

Definition at line 114 of file rtmpproto.c.

Referenced by gen_connect().

◆ swfverify

char* RTMPContext::swfverify

URL to player swf file, compute hash/size automatically.

Definition at line 115 of file rtmpproto.c.

Referenced by gen_connect(), rtmp_calc_swfhash(), and rtmp_open().

◆ swfverification

char RTMPContext::swfverification[42]

hash of the SWF verification

Definition at line 116 of file rtmpproto.c.

Referenced by gen_swf_verification(), and rtmp_calc_swf_verification().

◆ pageurl

char* RTMPContext::pageurl

url of the web page

Definition at line 117 of file rtmpproto.c.

Referenced by gen_connect().

◆ subscribe

char* RTMPContext::subscribe

name of live stream to subscribe

Definition at line 118 of file rtmpproto.c.

Referenced by handle_invoke_result().

◆ max_sent_unacked

int RTMPContext::max_sent_unacked

max unacked sent bytes

Definition at line 119 of file rtmpproto.c.

Referenced by gen_window_ack_size(), handle_set_peer_bw(), read_connect(), and rtmp_open().

◆ client_buffer_time

int RTMPContext::client_buffer_time

client buffer time in ms

Definition at line 120 of file rtmpproto.c.

Referenced by gen_buffer_time().

◆ flush_interval

int RTMPContext::flush_interval

number of packets flushed in the same request (RTMPT only)

Definition at line 121 of file rtmpproto.c.

Referenced by rtmp_write().

◆ encrypted

int RTMPContext::encrypted

use an encrypted connection (RTMPE only)

Definition at line 122 of file rtmpproto.c.

Referenced by rtmp_handshake(), and rtmp_open().

◆ tracked_methods

TrackedMethod* RTMPContext::tracked_methods

tracked methods buffer

Definition at line 123 of file rtmpproto.c.

Referenced by add_tracked_method(), del_tracked_method(), find_tracked_method(), and free_tracked_methods().

◆ nb_tracked_methods

int RTMPContext::nb_tracked_methods

number of tracked methods

Definition at line 124 of file rtmpproto.c.

Referenced by add_tracked_method(), del_tracked_method(), find_tracked_method(), and free_tracked_methods().

◆ tracked_methods_size

int RTMPContext::tracked_methods_size

size of the tracked methods buffer

Definition at line 125 of file rtmpproto.c.

Referenced by add_tracked_method(), and free_tracked_methods().

◆ listen

int RTMPContext::listen

listen mode flag

Definition at line 126 of file rtmpproto.c.

Referenced by rtmp_open(), and rtmp_write().

◆ listen_timeout

int RTMPContext::listen_timeout

listen timeout to wait for new connections

Definition at line 127 of file rtmpproto.c.

Referenced by rtmp_open().

◆ nb_streamid

int RTMPContext::nb_streamid

The next stream id to return on createStream calls.

Definition at line 128 of file rtmpproto.c.

Referenced by rtmp_write(), send_invoke_response(), and write_begin().

◆ duration

double RTMPContext::duration

Duration of the stream in seconds as returned by the server (only valid if non-zero)

Definition at line 129 of file rtmpproto.c.

Referenced by handle_invoke_result(), inject_fake_duration_metadata(), and rtmp_open().

◆ tcp_nodelay

int RTMPContext::tcp_nodelay

Use TCP_NODELAY to disable Nagle's algorithm if set to 1.

Definition at line 130 of file rtmpproto.c.

Referenced by rtmp_open().

◆ enhanced_codecs

char* RTMPContext::enhanced_codecs

codec list in enhanced rtmp

Definition at line 131 of file rtmpproto.c.

Referenced by gen_connect().

◆ username

char RTMPContext::username[50]

Definition at line 132 of file rtmpproto.c.

Referenced by handle_connect_error(), and rtmp_open().

◆ password

char RTMPContext::password[50]

Definition at line 133 of file rtmpproto.c.

Referenced by do_adobe_auth(), do_llnw_auth(), handle_connect_error(), and rtmp_open().

◆ auth_params

char RTMPContext::auth_params[500]

Definition at line 134 of file rtmpproto.c.

Referenced by do_adobe_auth(), do_llnw_auth(), gen_connect(), and handle_connect_error().

◆ do_reconnect

int RTMPContext::do_reconnect

Definition at line 135 of file rtmpproto.c.

Referenced by get_packet(), handle_invoke_error(), and rtmp_open().

◆ auth_tried

int RTMPContext::auth_tried

Definition at line 136 of file rtmpproto.c.

Referenced by handle_connect_error().


The documentation for this struct was generated from the following file: