libgpac
Documentation of the core library of GPAC
out_http.c File Reference
#include <gpac/internal/media_dev.h>
#include <gpac/constants.h>
#include <gpac/maths.h>
#include <gpac/filters.h>
#include <gpac/ietf.h>
#include <gpac/config_file.h>
#include <gpac/base_coding.h>
#include <gpac/network.h>
#include <gpac/mpd.h>
+ Include dependency graph for out_http.c:

Data Structures

struct  HTTP_DIRInfo
 
struct  GF_HTTPOutCtx
 
struct  GF_HTTPOutInput
 
struct  HTTByteRange
 
struct  GF_HTTPOutSession
 
struct  GF_HTTPFileIO
 
struct  HTTP_DirEnum
 

Macros

#define OFFS(_n)   #_n, offsetof(GF_HTTPOutCtx, _n)
 

Enumerations

enum  { MODE_DEFAULT =0 , MODE_PUSH , MODE_SOURCE }
 
enum  { CORS_AUTO =0 , CORS_OFF , CORS_ON }
 
enum  { SKIP_RES_NO =0 , SKIP_RES_FILE , SKIP_RES_PUSH }
 
enum  RangeState { RANGE_OK = 0 , RANGE_BAD_FORMAT , RANGE_INVALID_FORMAT , RANGE_NOT_ALLOWED }
 
enum  { HTTP_PUT_HEADER_ENCODING =0 , HTTP_PUT_HEADER_MIME , HTTP_PUT_HEADER_RANGE , HTTP_PUT_HEADER_DONE }
 

Functions

GF_DownloadSession * gf_dm_sess_new_server (GF_DownloadManager *dm, GF_Socket *server, void *ssl_ctx, gf_dm_user_io user_io, void *usr_cbk, Bool async, GF_Err *e)
 
GF_DownloadSession * gf_dm_sess_new_subsession (GF_DownloadSession *sess, u32 stream_id, void *usr_cbk, GF_Err *e)
 
u32 gf_dm_sess_subsession_count (GF_DownloadSession *)
 
void gf_dm_sess_set_timeout (GF_DownloadSession *sess, u32 timeout)
 
GF_Socket * gf_dm_sess_get_socket (GF_DownloadSession *)
 
GF_Err gf_dm_sess_send (GF_DownloadSession *sess, u8 *data, u32 size)
 
void gf_dm_sess_clear_headers (GF_DownloadSession *sess)
 
void gf_dm_sess_set_header (GF_DownloadSession *sess, const char *name, const char *value)
 
void gf_dm_sess_set_header_ex (GF_DownloadSession *sess, const char *name, const char *value, Bool allow_overwrite)
 
GF_Err gf_dm_sess_flush_async (GF_DownloadSession *sess, Bool no_select)
 
u32 gf_dm_sess_async_pending (GF_DownloadSession *sess)
 
GF_Err gf_dm_sess_send_reply (GF_DownloadSession *sess, u32 reply_code, const char *response_body, u32 body_len, Bool no_body)
 
void gf_dm_sess_server_reset (GF_DownloadSession *sess)
 
Bool gf_dm_sess_is_h2 (GF_DownloadSession *sess)
 
void gf_dm_sess_flush_h2 (GF_DownloadSession *sess)
 
void gf_dm_sess_set_sock_group (GF_DownloadSession *sess, GF_SockGroup *sg)
 
static void httpio_del (GF_HTTPFileIO *hio)
 
static GF_Err httpio_seek (GF_FileIO *fileio, u64 offset, s32 whence)
 
static u32 httpio_read (GF_FileIO *fileio, u8 *buffer, u32 bytes)
 
static u32 httpio_write (GF_FileIO *fileio, u8 *buffer, u32 bytes)
 
static s64 httpio_tell (GF_FileIO *fileio)
 
static Bool httpio_eof (GF_FileIO *fileio)
 
static GF_FileIO * httpio_open (GF_FileIO *fileio_ref, const char *url, const char *mode, GF_Err *out_err)
 
static void httpout_close_session (GF_HTTPOutSession *sess, GF_Err code)
 
static void log_request_done (GF_HTTPOutSession *sess)
 
static void httpout_mark_session_done (GF_HTTPOutSession *sess)
 
static Bool httpout_sess_flush_close (GF_HTTPOutSession *sess, Bool close_session)
 
static void httpout_format_date (u64 time, char szDate[200], Bool for_listing)
 
static Bool httpout_dir_file_enum (void *cbck, char *item_name, char *item_path, GF_FileEnumInfo *file_info, Bool is_dir)
 
static Bool httpout_dir_enum (void *cbck, char *item_name, char *item_path, GF_FileEnumInfo *file_info)
 
static Bool httpout_file_enum (void *cbck, char *item_name, char *item_path, GF_FileEnumInfo *file_info)
 
static char * httpout_create_listing (GF_HTTPOutCtx *ctx, char *full_path, HTTP_DIRInfo *di)
 
static void httpout_set_local_path (GF_HTTPOutCtx *ctx, GF_HTTPOutInput *in)
 
static Bool httpout_sess_parse_range (GF_HTTPOutSession *sess, char *range, char **response_body)
 
static u32 httpout_do_log (GF_HTTPOutSession *sess, u32 method)
 
static const char * get_method_name (u32 method)
 
GF_Err httpout_new_subsession (GF_HTTPOutSession *sess, u32 stream_id)
 
static u32 httpout_auth_check (HTTP_DIRInfo *di, const char *auth_header, Bool for_write)
 
static void httpout_push_headers (GF_HTTPOutSession *sess)
 
static void httpout_sess_io (void *usr_cbk, GF_NETIO_Parameter *parameter)
 
static void httpout_in_io_ex (void *usr_cbk, GF_NETIO_Parameter *parameter, Bool is_llhas)
 
static void httpout_in_io (void *usr_cbk, GF_NETIO_Parameter *parameter)
 
static void httpout_in_io_llhas (void *usr_cbk, GF_NETIO_Parameter *parameter)
 
static GF_Err httpout_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static void httpout_check_connection (GF_HTTPOutSession *sess)
 
static void httpout_check_new_session (GF_HTTPOutCtx *ctx, GF_Socket *serversock)
 
static GF_Err httpout_initialize (GF_Filter *filter)
 
static void httpout_del_session (GF_HTTPOutSession *s)
 
static void httpout_check_mem_path (GF_HTTPOutSession *sess, GF_HTTPOutInput *in)
 
static void httpout_close_llhas_part (GF_HTTPOutCtx *ctx, GF_HTTPOutInput *in, Bool final_flush)
 
static void httpout_finalize (GF_Filter *filter)
 
static GF_Err httpout_sess_data_upload (GF_HTTPOutSession *sess, const u8 *data, u32 size)
 
static void httpout_process_session (GF_Filter *filter, GF_HTTPOutCtx *ctx, GF_HTTPOutSession *sess)
 
static Bool httpout_close_upload (GF_HTTPOutCtx *ctx, GF_HTTPOutInput *in, Bool for_llhas)
 
static Bool httpout_open_input (GF_HTTPOutCtx *ctx, GF_HTTPOutInput *in, const char *name, Bool is_delete, Bool is_static, Bool is_fake, Bool check_no_open)
 
static void httpout_input_in_error (GF_HTTPOutInput *in, GF_Err e)
 
static void httpout_close_input_llhas (GF_HTTPOutCtx *ctx, GF_HTTPOutInput *in)
 
static void httpout_close_input (GF_HTTPOutCtx *ctx, GF_HTTPOutInput *in)
 
static Bool httpout_open_input_llhas (GF_HTTPOutCtx *ctx, GF_HTTPOutInput *in, char *dst)
 
u32 httpout_write_input (GF_HTTPOutCtx *ctx, GF_HTTPOutInput *in, const u8 *pck_data, u32 pck_size, Bool file_start, Bool no_llhas)
 
static Bool httpout_input_write_ready (GF_HTTPOutCtx *ctx, GF_HTTPOutInput *in)
 
static void httpin_send_seg_info (GF_HTTPOutInput *in)
 
static void httpout_prune_files (GF_HTTPOutCtx *ctx, GF_HTTPOutInput *in)
 
static void httpout_input_drop (GF_HTTPOutInput *in, GF_FilterPacket *pck)
 
static void httpout_process_inputs (GF_HTTPOutCtx *ctx)
 
static GF_Err httpout_process (GF_Filter *filter)
 
static Bool httpout_process_event (GF_Filter *filter, const GF_FilterEvent *evt)
 
static GF_FilterProbeScore httpout_probe_url (const char *url, const char *mime)
 
static Bool httpout_use_alias (GF_Filter *filter, const char *url, const char *mime)
 
const GF_FilterRegister * httpout_register (GF_FilterSession *session)
 
GF_EXPORT GF_Err gf_filter_bind_httpout_callbacks (GF_Filter *filter, void *udta, s32(*on_request)(void *udta, GF_HTTPOutSession *session, const char *method, const char *url, u32 auth_code, u32 nb_hdrs, const char **hdrs))
 
GF_EXPORT GF_Err gf_httpout_send_request (GF_HTTPOutSession *sess, void *udta, u32 reply, char *body_or_file, u32 nb_headers, const char **headers, u32(*throttle)(void *udta, u64 done, u64 total), s32(*read)(void *udta, u8 *buffer, u32 buffer_size), u32(*write)(void *udta, const u8 *buffer, u32 buffer_size), void(*close)(void *udta, GF_Err reason))
 

Variables

static const GF_FilterCapability HTTPOutCaps []
 
static const GF_FilterArgs HTTPOutArgs []
 
GF_FilterRegister HTTPOutRegister
 

Data Structure Documentation

◆ HTTP_DIRInfo

struct HTTP_DIRInfo
Data Fields
char * name
u32 name_len
char * path
char * ru
char * rg
char * wu
char * wg
Bool is_subpath

◆ GF_HTTPOutInput

struct GF_HTTPOutInput
+ Collaboration diagram for GF_HTTPOutInput:
Data Fields
GF_HTTPOutCtx * ctx
GF_FilterPid * ipid
char * path
Bool dash_mode
char * mime
u32 nb_dest
Bool hold
Bool write_not_ready
u32 file_size
u32 llhas_mode
Bool is_open
Bool done
Bool is_delete
Bool patch_blocks
GF_List * file_deletes
GF_DownloadSession * upload
GF_Socket * upload_sock
Bool is_h2
Bool use_cte
u32 cur_header
u64 offset_at_seg_start
u64 nb_write
u64 write_start_range
u64 write_end_range
char range_hdr[100]
Bool seg_info_sent
GF_FilterPacket * no_cte_cache
GF_FilterPacket * no_cte_llhas_cache
u32 no_cte_cache_size
u32 no_cte_llhas_cache_size
Bool no_cte_flush_pending
char * local_path
FILE * resource
u32 skip_resource
FILE * llhas_part
char * llhas_part_path
char * llhas_part_local_path
char * llhas_template
u8 * tunein_data
u32 tunein_data_size
Bool force_dst_name
Bool in_error
u32 clock_first_error
u32 max_segs
GF_List * past_files
GF_List * mem_files
Bool is_manifest
GF_DownloadSession * llhas_upload
u32 llhas_cur_header
Bool llhas_is_open
char * llhas_url
Bool flush_close
Bool flush_close_llhas
Bool flush_open
Bool flush_llhas_open

◆ HTTByteRange

struct HTTByteRange
Data Fields
s64 start
s64 end

◆ GF_HTTPFileIO

struct GF_HTTPFileIO
+ Collaboration diagram for GF_HTTPFileIO:
Data Fields
struct __gf_http_io * parent
u64 pos
u64 size
u8 * data
GF_HTTPOutInput * in
u32 nb_used
GF_FileIO * fio
Bool is_llhas_chunk
Bool do_remove
Bool is_static

◆ HTTP_DirEnum

struct HTTP_DirEnum
+ Collaboration diagram for HTTP_DirEnum:
Data Fields
HTTP_DIRInfo * di
char ** listing

Macro Definition Documentation

◆ OFFS

#define OFFS (   _n)    #_n, offsetof(GF_HTTPOutCtx, _n)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MODE_DEFAULT 
MODE_PUSH 
MODE_SOURCE 

◆ anonymous enum

anonymous enum
Enumerator
CORS_AUTO 
CORS_OFF 
CORS_ON 

◆ anonymous enum

anonymous enum
Enumerator
SKIP_RES_NO 
SKIP_RES_FILE 
SKIP_RES_PUSH 

◆ RangeState

enum RangeState
Enumerator
RANGE_OK 
RANGE_BAD_FORMAT 
RANGE_INVALID_FORMAT 
RANGE_NOT_ALLOWED 

◆ anonymous enum

anonymous enum
Enumerator
HTTP_PUT_HEADER_ENCODING 
HTTP_PUT_HEADER_MIME 
HTTP_PUT_HEADER_RANGE 
HTTP_PUT_HEADER_DONE 

Function Documentation

◆ gf_dm_sess_new_server()

GF_DownloadSession* gf_dm_sess_new_server ( GF_DownloadManager *  dm,
GF_Socket *  server,
void *  ssl_ctx,
gf_dm_user_io  user_io,
void *  usr_cbk,
Bool  async,
GF_Err e 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_dm_sess_new_subsession()

GF_DownloadSession* gf_dm_sess_new_subsession ( GF_DownloadSession *  sess,
u32  stream_id,
void *  usr_cbk,
GF_Err e 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_dm_sess_subsession_count()

u32 gf_dm_sess_subsession_count ( GF_DownloadSession *  sess)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_dm_sess_set_timeout()

void gf_dm_sess_set_timeout ( GF_DownloadSession *  sess,
u32  timeout 
)
+ Here is the caller graph for this function:

◆ gf_dm_sess_get_socket()

GF_Socket* gf_dm_sess_get_socket ( GF_DownloadSession *  sess)
+ Here is the caller graph for this function:

◆ gf_dm_sess_send()

GF_EXPORT GF_Err gf_dm_sess_send ( GF_DownloadSession *  sess,
u8 data,
u32  size 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_dm_sess_clear_headers()

void gf_dm_sess_clear_headers ( GF_DownloadSession *  sess)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_dm_sess_set_header()

void gf_dm_sess_set_header ( GF_DownloadSession *  sess,
const char *  name,
const char *  value 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_dm_sess_set_header_ex()

void gf_dm_sess_set_header_ex ( GF_DownloadSession *  sess,
const char *  name,
const char *  value,
Bool  allow_overwrite 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_dm_sess_flush_async()

GF_Err gf_dm_sess_flush_async ( GF_DownloadSession *  sess,
Bool  no_select 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_dm_sess_async_pending()

u32 gf_dm_sess_async_pending ( GF_DownloadSession *  sess)
+ Here is the caller graph for this function:

◆ gf_dm_sess_send_reply()

GF_Err gf_dm_sess_send_reply ( GF_DownloadSession *  sess,
u32  reply_code,
const char *  response_body,
u32  body_len,
Bool  no_body 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_dm_sess_server_reset()

void gf_dm_sess_server_reset ( GF_DownloadSession *  sess)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_dm_sess_is_h2()

Bool gf_dm_sess_is_h2 ( GF_DownloadSession *  sess)
+ Here is the caller graph for this function:

◆ gf_dm_sess_flush_h2()

void gf_dm_sess_flush_h2 ( GF_DownloadSession *  sess)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_dm_sess_set_sock_group()

void gf_dm_sess_set_sock_group ( GF_DownloadSession *  sess,
GF_SockGroup *  sg 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpio_del()

static void httpio_del ( GF_HTTPFileIO hio)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpio_seek()

static GF_Err httpio_seek ( GF_FileIO *  fileio,
u64  offset,
s32  whence 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpio_read()

static u32 httpio_read ( GF_FileIO *  fileio,
u8 buffer,
u32  bytes 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpio_write()

static u32 httpio_write ( GF_FileIO *  fileio,
u8 buffer,
u32  bytes 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpio_tell()

static s64 httpio_tell ( GF_FileIO *  fileio)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpio_eof()

static Bool httpio_eof ( GF_FileIO *  fileio)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpio_open()

static GF_FileIO* httpio_open ( GF_FileIO *  fileio_ref,
const char *  url,
const char *  mode,
GF_Err out_err 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_close_session()

static void httpout_close_session ( GF_HTTPOutSession *  sess,
GF_Err  code 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ log_request_done()

static void log_request_done ( GF_HTTPOutSession *  sess)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_mark_session_done()

static void httpout_mark_session_done ( GF_HTTPOutSession *  sess)
static
+ Here is the caller graph for this function:

◆ httpout_sess_flush_close()

static Bool httpout_sess_flush_close ( GF_HTTPOutSession *  sess,
Bool  close_session 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_format_date()

static void httpout_format_date ( u64  time,
char  szDate[200],
Bool  for_listing 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_dir_file_enum()

static Bool httpout_dir_file_enum ( void *  cbck,
char *  item_name,
char *  item_path,
GF_FileEnumInfo file_info,
Bool  is_dir 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_dir_enum()

static Bool httpout_dir_enum ( void *  cbck,
char *  item_name,
char *  item_path,
GF_FileEnumInfo file_info 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_file_enum()

static Bool httpout_file_enum ( void *  cbck,
char *  item_name,
char *  item_path,
GF_FileEnumInfo file_info 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_create_listing()

static char* httpout_create_listing ( GF_HTTPOutCtx ctx,
char *  full_path,
HTTP_DIRInfo di 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_set_local_path()

static void httpout_set_local_path ( GF_HTTPOutCtx ctx,
GF_HTTPOutInput in 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_sess_parse_range()

static Bool httpout_sess_parse_range ( GF_HTTPOutSession *  sess,
char *  range,
char **  response_body 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_do_log()

static u32 httpout_do_log ( GF_HTTPOutSession *  sess,
u32  method 
)
static
+ Here is the caller graph for this function:

◆ get_method_name()

static const char* get_method_name ( u32  method)
static
+ Here is the caller graph for this function:

◆ httpout_new_subsession()

GF_Err httpout_new_subsession ( GF_HTTPOutSession *  sess,
u32  stream_id 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_auth_check()

static u32 httpout_auth_check ( HTTP_DIRInfo di,
const char *  auth_header,
Bool  for_write 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_push_headers()

static void httpout_push_headers ( GF_HTTPOutSession *  sess)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_sess_io()

static void httpout_sess_io ( void *  usr_cbk,
GF_NETIO_Parameter *  parameter 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_in_io_ex()

static void httpout_in_io_ex ( void *  usr_cbk,
GF_NETIO_Parameter *  parameter,
Bool  is_llhas 
)
static
+ Here is the caller graph for this function:

◆ httpout_in_io()

static void httpout_in_io ( void *  usr_cbk,
GF_NETIO_Parameter *  parameter 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_in_io_llhas()

static void httpout_in_io_llhas ( void *  usr_cbk,
GF_NETIO_Parameter *  parameter 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_configure_pid()

static GF_Err httpout_configure_pid ( GF_Filter *  filter,
GF_FilterPid *  pid,
Bool  is_remove 
)
static
+ Here is the call graph for this function:

◆ httpout_check_connection()

static void httpout_check_connection ( GF_HTTPOutSession *  sess)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_check_new_session()

static void httpout_check_new_session ( GF_HTTPOutCtx ctx,
GF_Socket *  serversock 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_initialize()

static GF_Err httpout_initialize ( GF_Filter *  filter)
static
+ Here is the call graph for this function:

◆ httpout_del_session()

static void httpout_del_session ( GF_HTTPOutSession *  s)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_check_mem_path()

static void httpout_check_mem_path ( GF_HTTPOutSession *  sess,
GF_HTTPOutInput in 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_close_llhas_part()

static void httpout_close_llhas_part ( GF_HTTPOutCtx ctx,
GF_HTTPOutInput in,
Bool  final_flush 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_finalize()

static void httpout_finalize ( GF_Filter *  filter)
static
+ Here is the call graph for this function:

◆ httpout_sess_data_upload()

static GF_Err httpout_sess_data_upload ( GF_HTTPOutSession *  sess,
const u8 data,
u32  size 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_process_session()

static void httpout_process_session ( GF_Filter *  filter,
GF_HTTPOutCtx ctx,
GF_HTTPOutSession *  sess 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_close_upload()

static Bool httpout_close_upload ( GF_HTTPOutCtx ctx,
GF_HTTPOutInput in,
Bool  for_llhas 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_open_input()

static Bool httpout_open_input ( GF_HTTPOutCtx ctx,
GF_HTTPOutInput in,
const char *  name,
Bool  is_delete,
Bool  is_static,
Bool  is_fake,
Bool  check_no_open 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_input_in_error()

static void httpout_input_in_error ( GF_HTTPOutInput in,
GF_Err  e 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_close_input_llhas()

static void httpout_close_input_llhas ( GF_HTTPOutCtx ctx,
GF_HTTPOutInput in 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_close_input()

static void httpout_close_input ( GF_HTTPOutCtx ctx,
GF_HTTPOutInput in 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_open_input_llhas()

static Bool httpout_open_input_llhas ( GF_HTTPOutCtx ctx,
GF_HTTPOutInput in,
char *  dst 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_write_input()

u32 httpout_write_input ( GF_HTTPOutCtx ctx,
GF_HTTPOutInput in,
const u8 pck_data,
u32  pck_size,
Bool  file_start,
Bool  no_llhas 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_input_write_ready()

static Bool httpout_input_write_ready ( GF_HTTPOutCtx ctx,
GF_HTTPOutInput in 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpin_send_seg_info()

static void httpin_send_seg_info ( GF_HTTPOutInput in)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_prune_files()

static void httpout_prune_files ( GF_HTTPOutCtx ctx,
GF_HTTPOutInput in 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_input_drop()

static void httpout_input_drop ( GF_HTTPOutInput in,
GF_FilterPacket *  pck 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_process_inputs()

static void httpout_process_inputs ( GF_HTTPOutCtx ctx)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ httpout_process()

static GF_Err httpout_process ( GF_Filter *  filter)
static
+ Here is the call graph for this function:

◆ httpout_process_event()

static Bool httpout_process_event ( GF_Filter *  filter,
const GF_FilterEvent *  evt 
)
static
+ Here is the call graph for this function:

◆ httpout_probe_url()

static GF_FilterProbeScore httpout_probe_url ( const char *  url,
const char *  mime 
)
static

◆ httpout_use_alias()

static Bool httpout_use_alias ( GF_Filter *  filter,
const char *  url,
const char *  mime 
)
static
+ Here is the call graph for this function:

◆ httpout_register()

const GF_FilterRegister* httpout_register ( GF_FilterSession *  session)
+ Here is the call graph for this function:

◆ gf_filter_bind_httpout_callbacks()

GF_EXPORT GF_Err gf_filter_bind_httpout_callbacks ( GF_Filter *  filter,
void *  udta,
s32(*)(void *udta, GF_HTTPOutSession *session, const char *method, const char *url, u32 auth_code, u32 nb_hdrs, const char **hdrs)  on_request 
)
+ Here is the call graph for this function:

◆ gf_httpout_send_request()

GF_EXPORT GF_Err gf_httpout_send_request ( GF_HTTPOutSession *  sess,
void *  udta,
u32  reply,
char *  body_or_file,
u32  nb_headers,
const char **  headers,
u32(*)(void *udta, u64 done, u64 total)  throttle,
s32(*)(void *udta, u8 *buffer, u32 buffer_size)  read,
u32(*)(void *udta, const u8 *buffer, u32 buffer_size)  write,
void(*)(void *udta, GF_Err reason)  close 
)
+ Here is the call graph for this function:

Variable Documentation

◆ HTTPOutCaps

const GF_FilterCapability HTTPOutCaps[]
static
Initial value:
=
{
}
@ GF_STREAM_FILE
Definition: constants.h:104
#define CAP_UINT(_f, _a, _b)
Definition: filters.h:2172
#define CAP_STRING(_f, _a, _b)
Definition: filters.h:2194
#define GF_CAPS_INPUT
Definition: filters.h:2220
@ GF_PROP_PID_STREAM_TYPE
Definition: filters.h:1112
@ GF_PROP_PID_FILE_EXT
Definition: filters.h:1190

◆ HTTPOutArgs

const GF_FilterArgs HTTPOutArgs[]
static

◆ HTTPOutRegister

GF_FilterRegister HTTPOutRegister