Loading...
Searching...
No Matches
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;\
SpecifierOpt *so;\
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);\
}
check_stream_specifier
int check_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec)
Definition fftools_cmdutils.c:946
SpecifierOpt
Definition fftools_cmdutils.h:182
SpecifierOpt::specifier
char * specifier
Definition fftools_cmdutils.h:183

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.