FFmpegKit Linux API 6.0
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Functions | Variables
fftools_ffmpeg_mux.h File Reference

Go to the source code of this file.

Data Structures

struct  MuxStream
 
struct  Muxer
 
struct  EncStatsFile
 

Macros

#define SPECIFIER_OPT_FMT_str   "%s"
 
#define SPECIFIER_OPT_FMT_i   "%i"
 
#define SPECIFIER_OPT_FMT_i64   "%"PRId64
 
#define SPECIFIER_OPT_FMT_ui64   "%"PRIu64
 
#define SPECIFIER_OPT_FMT_f   "%f"
 
#define SPECIFIER_OPT_FMT_dbl   "%lf"
 
#define WARN_MULTIPLE_OPT_USAGE(name, type, so, st)
 
#define MATCH_PER_STREAM_OPT(name, type, outvar, fmtctx, st)
 
#define MATCH_PER_TYPE_OPT(name, type, outvar, fmtctx, mediatype)
 

Typedefs

typedef struct MuxStream MuxStream
 
typedef struct Muxer Muxer
 
typedef struct EncStatsFile EncStatsFile
 

Functions

int mux_check_init (Muxer *mux)
 

Variables

__thread int want_sdp
 

Macro Definition Documentation

◆ MATCH_PER_STREAM_OPT

#define MATCH_PER_STREAM_OPT (   name,
  type,
  outvar,
  fmtctx,
  st 
)
Value:
{\
int _ret, _matches = 0;\
for (int _i = 0; _i < o->nb_ ## name; _i++) {\
char *spec = o->name[_i].specifier;\
if ((_ret = check_stream_specifier(fmtctx, st, spec)) > 0) {\
outvar = o->name[_i].u.type;\
so = &o->name[_i];\
_matches++;\
} else if (_ret < 0)\
exit_program(1);\
}\
if (_matches > 1)\
WARN_MULTIPLE_OPT_USAGE(name, type, so, st);\
}
int check_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec)

Definition at line 73 of file fftools_ffmpeg_mux.h.

◆ MATCH_PER_TYPE_OPT

#define MATCH_PER_TYPE_OPT (   name,
  type,
  outvar,
  fmtctx,
  mediatype 
)
Value:
{\
int i;\
for (i = 0; i < o->nb_ ## name; i++) {\
char *spec = o->name[i].specifier;\
if (!strcmp(spec, mediatype))\
outvar = o->name[i].u.type;\
}\
}

Definition at line 90 of file fftools_ffmpeg_mux.h.

◆ SPECIFIER_OPT_FMT_dbl

#define SPECIFIER_OPT_FMT_dbl   "%lf"

Definition at line 61 of file fftools_ffmpeg_mux.h.

◆ SPECIFIER_OPT_FMT_f

#define SPECIFIER_OPT_FMT_f   "%f"

Definition at line 60 of file fftools_ffmpeg_mux.h.

◆ SPECIFIER_OPT_FMT_i

#define SPECIFIER_OPT_FMT_i   "%i"

Definition at line 57 of file fftools_ffmpeg_mux.h.

◆ SPECIFIER_OPT_FMT_i64

#define SPECIFIER_OPT_FMT_i64   "%"PRId64

Definition at line 58 of file fftools_ffmpeg_mux.h.

◆ SPECIFIER_OPT_FMT_str

#define SPECIFIER_OPT_FMT_str   "%s"

Definition at line 56 of file fftools_ffmpeg_mux.h.

◆ SPECIFIER_OPT_FMT_ui64

#define SPECIFIER_OPT_FMT_ui64   "%"PRIu64

Definition at line 59 of file fftools_ffmpeg_mux.h.

◆ WARN_MULTIPLE_OPT_USAGE

#define WARN_MULTIPLE_OPT_USAGE (   name,
  type,
  so,
  st 
)
Value:
{\
char namestr[128] = "";\
const char *spec = so->specifier && so->specifier[0] ? so->specifier : "";\
for (int _i = 0; opt_name_##name[_i]; _i++)\
av_strlcatf(namestr, sizeof(namestr), "-%s%s", opt_name_##name[_i], opt_name_##name[_i+1] ? (opt_name_##name[_i+2] ? ", " : " or ") : "");\
av_log(NULL, AV_LOG_WARNING, "Multiple %s options specified for stream %d, only the last option '-%s%s%s "SPECIFIER_OPT_FMT_##type"' will be used.\n",\
namestr, st->index, opt_name_##name[0], spec[0] ? ":" : "", spec, so->u.type);\
}

Definition at line 63 of file fftools_ffmpeg_mux.h.

Typedef Documentation

◆ EncStatsFile

typedef struct EncStatsFile EncStatsFile

◆ Muxer

typedef struct Muxer Muxer

◆ MuxStream

typedef struct MuxStream MuxStream

Function Documentation

◆ mux_check_init()

int mux_check_init ( Muxer mux)

Definition at line 536 of file fftools_ffmpeg_mux.c.

Variable Documentation

◆ want_sdp

__thread int want_sdp
extern

Definition at line 66 of file fftools_ffmpeg_mux.c.