X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=ffmpeg_opt.c;h=5c4df8cd1937690421b1aa76cf2adbff86c19c77;hb=edeaf6f3a4d7983f3b86465920c7d425dd290362;hp=ae05bf0571eec828548a71d125e02b27d5a76a53;hpb=bf6e332cb4b7a2aabff6373eaa4b0b768c53c102;p=ffmpeg diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index ae05bf0571e..5c4df8cd193 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -77,6 +77,7 @@ const HWAccel hwaccels[] = { }; char *vstats_filename; +char *sdp_filename; float audio_drift_threshold = 0.1; float dts_delta_threshold = 10; @@ -381,6 +382,13 @@ static int opt_map_channel(void *optctx, const char *opt, const char *arg) return 0; } +static int opt_sdp_file(void *optctx, const char *opt, const char *arg) +{ + av_free(sdp_filename); + sdp_filename = av_strdup(arg); + return 0; +} + /** * Parse a metadata specifier passed as 'arg' parameter. * @param arg metadata string to parse @@ -1113,7 +1121,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e av_dict_set(&ost->encoder_opts, buf, arg, AV_DICT_DONT_OVERWRITE); av_free(buf); } while (!s->eof_reached); - avio_close(s); + avio_closep(&s); } if (ret) { av_log(NULL, AV_LOG_FATAL, @@ -1373,10 +1381,11 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc, in av_log(NULL, AV_LOG_FATAL, "error parsing rc_override\n"); exit_program(1); } - /* FIXME realloc failure */ video_enc->rc_override = - av_realloc(video_enc->rc_override, - sizeof(RcOverride) * (i + 1)); + av_realloc_array(video_enc->rc_override, + i + 1, sizeof(RcOverride)); + if (!video_enc->rc_override) + exit_program(1); video_enc->rc_override[i].start_frame = start; video_enc->rc_override[i].end_frame = end; if (q > 0) { @@ -2008,7 +2017,7 @@ loop_end: p = strrchr(o->attachments[i], '/'); av_dict_set(&ost->st->metadata, "filename", (p && *p) ? p + 1 : o->attachments[i], AV_DICT_DONT_OVERWRITE); - avio_close(pb); + avio_closep(&pb); } for (i = nb_output_streams - oc->nb_streams; i < nb_output_streams; i++) { //for all streams of this output file @@ -3070,6 +3079,8 @@ const OptionDef options[] = { "set the initial demux-decode delay", "seconds" }, { "override_ffserver", OPT_BOOL | OPT_EXPERT | OPT_OUTPUT, { &override_ffserver }, "override the options from ffserver", "" }, + { "sdp_file", HAS_ARG | OPT_EXPERT | OPT_OUTPUT, { opt_sdp_file }, + "specify a file in which to print sdp information", "file" }, { "bsf", HAS_ARG | OPT_STRING | OPT_SPEC | OPT_EXPERT | OPT_OUTPUT, { .off = OFFSET(bitstream_filters) }, "A comma-separated list of bitstream filters", "bitstream_filters" },