AVFormatContext *avf;
char *format;
- char *format_options_str;
AVDictionary *format_options;
int queue_size;
return NULL;
}
-static int fifo_mux_init(AVFormatContext *avf, AVOutputFormat *oformat,
+static int fifo_mux_init(AVFormatContext *avf, ff_const59 AVOutputFormat *oformat,
const char *filename)
{
FifoContext *fifo = avf->priv_data;
static int fifo_init(AVFormatContext *avf)
{
FifoContext *fifo = avf->priv_data;
- AVOutputFormat *oformat;
+ ff_const59 AVOutputFormat *oformat;
int ret = 0;
if (fifo->recovery_wait_streamtime && !fifo->drop_pkts_on_overflow) {
return AVERROR(EINVAL);
}
- if (fifo->format_options_str) {
- ret = av_dict_parse_string(&fifo->format_options, fifo->format_options_str,
- "=", ":", 0);
- if (ret < 0) {
- av_log(avf, AV_LOG_ERROR, "Could not parse format options list '%s'\n",
- fifo->format_options_str);
- return ret;
- }
- }
-
oformat = av_guess_format(fifo->format, avf->url, NULL);
if (!oformat) {
ret = AVERROR_MUXER_NOT_FOUND;
{
FifoContext *fifo = avf->priv_data;
- av_dict_free(&fifo->format_options);
avformat_free_context(fifo->avf);
av_thread_message_queue_free(&fifo->queue);
if (fifo->overflow_flag_lock_initialized)
{"queue_size", "Size of fifo queue", OFFSET(queue_size),
AV_OPT_TYPE_INT, {.i64 = FIFO_DEFAULT_QUEUE_SIZE}, 1, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM},
- {"format_opts", "Options to be passed to underlying muxer", OFFSET(format_options_str),
- AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, AV_OPT_FLAG_ENCODING_PARAM},
+ {"format_opts", "Options to be passed to underlying muxer", OFFSET(format_options),
+ AV_OPT_TYPE_DICT, {.str = NULL}, 0, 0, AV_OPT_FLAG_ENCODING_PARAM},
{"drop_pkts_on_overflow", "Drop packets on fifo queue overflow not to block encoder", OFFSET(drop_pkts_on_overflow),
AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM},