FFmpeg
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().

◆ 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 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: