From patchwork Sat Jan 6 20:50:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marton Balint X-Patchwork-Id: 7170 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.78.2 with SMTP id r2csp904950jaa; Sat, 6 Jan 2018 12:51:14 -0800 (PST) X-Google-Smtp-Source: ACJfBouUT4gM5yymVxGjQO7B9OxLKbfmkz44sjGXqBB2btEwqGeHYnxr16tY1fhZr3dZMjs1KfBQ X-Received: by 10.28.107.194 with SMTP id a63mr5211984wmi.53.1515271874162; Sat, 06 Jan 2018 12:51:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1515271874; cv=none; d=google.com; s=arc-20160816; b=EpJjx3m5kJG2OGLxMlzqtSg6BawxPM2P0iB92vLQf6oGXaiThODIbN4m8jG7EPZI7n OtcuHHRGKanDnAWvWajbBy59fQaidZWxhQQBnxz78IwdiuKUzeEfOSMuYitr3Q/1bDU9 X5dwEWtKon+bLt4TiZfLon3Rqvw4JrKSaXKyIDJqYRQJwA3R4cwoAfzPDmzwVvnjqRL4 aSIOgm0DRaJ7JFgJCC/SlYrEJy+P3d9OIjHA1AGlUZcqMluiwCAtqlNR13lXChcvCfrC WqDoUin8Xc3mYybStJcSt4eYgE6E4WrFp2zPytK3+zQnhxnRteJzyQe3f/KgxMKaU2lt xORw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:delivered-to:arc-authentication-results; bh=CMmq9Wsqo4URkYzWVq6efZZRBaKru0jAJQNkOSieHgo=; b=Cp82KICdgwk34UmNM9xi++LAguhrKQo7+rlVtl+fiUjady7DrXWttNds/DZTeE9bRH KcToPxlkSjQ60kS+BuXbz3yplWuOFX9yR/hpp02qqoMaEMFfUOfV0TpmITGp4dwh3ka7 /6nSysKaGk7xul6wO5piHM+ksE1sB3BgPintvGOUGSQKgUU8MSOOPj9pBm0Avff4P77Z LnVk/FZ6tYvbEP1dxJoaa72tai8mZr5Kuc+xZpDVnTpXc92GShwIyGy4tF/XS3bEn+Az b24oyJrrsgUGX8zq/eqDJ1WzksY9IN7zyAqU66qni8STi9SXGLD1O+8oYRkxdcOak7pE JeIQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 141si5558753wmu.75.2018.01.06.12.51.13; Sat, 06 Jan 2018 12:51:14 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3CE2A689E69; Sat, 6 Jan 2018 22:50:57 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from iq.passwd.hu (iq.passwd.hu [217.27.212.140]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B78EF689DDB for ; Sat, 6 Jan 2018 22:50:51 +0200 (EET) Received: from localhost (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id 2FC0FE1615; Sat, 6 Jan 2018 21:50:52 +0100 (CET) X-Virus-Scanned: amavisd-new at passwd.hu Received: from iq.passwd.hu ([127.0.0.1]) by localhost (iq.passwd.hu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MIc275YfFfIh; Sat, 6 Jan 2018 21:50:51 +0100 (CET) Received: from bluegene.passwd.hu (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id 8C1F8E1614; Sat, 6 Jan 2018 21:50:50 +0100 (CET) From: Marton Balint To: ffmpeg-devel@ffmpeg.org Date: Sat, 6 Jan 2018 21:50:28 +0100 Message-Id: <20180106205032.15186-3-cus@passwd.hu> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20180106205032.15186-1-cus@passwd.hu> References: <20180106205032.15186-1-cus@passwd.hu> Subject: [FFmpeg-devel] [PATCH 3/7] fftools, tools, examples: migrate to AVFormatContext->url X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Marton Balint MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Marton Balint --- doc/examples/transcode_aac.c | 7 +++++-- fftools/ffmpeg.c | 16 ++++++++-------- fftools/ffmpeg_opt.c | 8 ++++---- fftools/ffplay.c | 6 +++--- fftools/ffprobe.c | 2 +- tools/uncoded_frame.c | 2 +- 6 files changed, 22 insertions(+), 19 deletions(-) diff --git a/doc/examples/transcode_aac.c b/doc/examples/transcode_aac.c index 9fd5c00d60..3c7688cd33 100644 --- a/doc/examples/transcode_aac.c +++ b/doc/examples/transcode_aac.c @@ -171,8 +171,11 @@ static int open_output_file(const char *filename, goto cleanup; } - av_strlcpy((*output_format_context)->filename, filename, - sizeof((*output_format_context)->filename)); + if (!((*output_format_context)->url = av_strdup(filename))) { + fprintf(stderr, "Could not allocate url.\n"); + error = AVERROR(ENOMEM); + goto cleanup; + } /* Find the encoder to be used by its name. */ if (!(output_codec = avcodec_find_encoder(AV_CODEC_ID_AAC))) { diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 528849a2c6..cded5afebb 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -1560,7 +1560,7 @@ static void print_final_stats(int64_t total_size) uint64_t total_packets = 0, total_size = 0; av_log(NULL, AV_LOG_VERBOSE, "Input file #%d (%s):\n", - i, f->ctx->filename); + i, f->ctx->url); for (j = 0; j < f->nb_streams; j++) { InputStream *ist = input_streams[f->ist_index + j]; @@ -1594,7 +1594,7 @@ static void print_final_stats(int64_t total_size) uint64_t total_packets = 0, total_size = 0; av_log(NULL, AV_LOG_VERBOSE, "Output file #%d (%s):\n", - i, of->ctx->filename); + i, of->ctx->url); for (j = 0; j < of->ctx->nb_streams; j++) { OutputStream *ost = output_streams[of->ost_index + j]; @@ -2102,7 +2102,7 @@ static void check_decode_result(InputStream *ist, int *got_output, int ret) if (exit_on_error && *got_output && ist) { if (ist->decoded_frame->decode_error_flags || (ist->decoded_frame->flags & AV_FRAME_FLAG_CORRUPT)) { - av_log(NULL, AV_LOG_FATAL, "%s: corrupt decoded frame in stream %d\n", input_files[ist->file_index]->ctx->filename, ist->st->index); + av_log(NULL, AV_LOG_FATAL, "%s: corrupt decoded frame in stream %d\n", input_files[ist->file_index]->ctx->url, ist->st->index); exit_program(1); } } @@ -2986,7 +2986,7 @@ static int check_init_output_file(OutputFile *of, int file_index) //assert_avoptions(of->opts); of->header_written = 1; - av_dump_format(of->ctx, file_index, of->ctx->filename, 1); + av_dump_format(of->ctx, file_index, of->ctx->url, 1); if (sdp_filename || want_sdp) print_sdp(); @@ -4249,7 +4249,7 @@ static int process_input(int file_index) } if (ret < 0) { if (ret != AVERROR_EOF) { - print_error(is->filename, ret); + print_error(is->url, ret); if (exit_on_error) exit_program(1); } @@ -4298,7 +4298,7 @@ static int process_input(int file_index) goto discard_packet; if (exit_on_error && (pkt.flags & AV_PKT_FLAG_CORRUPT)) { - av_log(NULL, AV_LOG_FATAL, "%s: corrupt input packet in stream %d\n", is->filename, pkt.stream_index); + av_log(NULL, AV_LOG_FATAL, "%s: corrupt input packet in stream %d\n", is->url, pkt.stream_index); exit_program(1); } @@ -4665,11 +4665,11 @@ static int transcode(void) av_log(NULL, AV_LOG_ERROR, "Nothing was written into output file %d (%s), because " "at least one of its streams received no packets.\n", - i, os->filename); + i, os->url); continue; } if ((ret = av_write_trailer(os)) < 0) { - av_log(NULL, AV_LOG_ERROR, "Error writing trailer of %s: %s\n", os->filename, av_err2str(ret)); + av_log(NULL, AV_LOG_ERROR, "Error writing trailer of %s: %s\n", os->url, av_err2str(ret)); if (exit_on_error) exit_program(1); } diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c index 4fe78fa757..8d3e49c4b3 100644 --- a/fftools/ffmpeg_opt.c +++ b/fftools/ffmpeg_opt.c @@ -1271,7 +1271,7 @@ static int choose_encoder(OptionsContext *o, AVFormatContext *s, OutputStream *o if (type == AVMEDIA_TYPE_VIDEO || type == AVMEDIA_TYPE_AUDIO || type == AVMEDIA_TYPE_SUBTITLE) { MATCH_PER_STREAM_OPT(codec_names, str, codec_name, s, ost->st); if (!codec_name) { - ost->st->codecpar->codec_id = av_guess_codec(s->oformat, NULL, s->filename, + ost->st->codecpar->codec_id = av_guess_codec(s->oformat, NULL, s->url, NULL, ost->st->codecpar->codec_type); ost->enc = avcodec_find_encoder(ost->st->codecpar->codec_id); if (!ost->enc) { @@ -2336,7 +2336,7 @@ loop_end: #endif if (!oc->nb_streams && !(oc->oformat->flags & AVFMT_NOSTREAMS)) { - av_dump_format(oc, nb_output_files - 1, oc->filename, 1); + av_dump_format(oc, nb_output_files - 1, oc->url, 1); av_log(NULL, AV_LOG_ERROR, "Output file #%d does not contain any stream\n", nb_output_files - 1); exit_program(1); } @@ -2468,8 +2468,8 @@ loop_end: /* check filename in case of an image number is expected */ if (oc->oformat->flags & AVFMT_NEEDNUMBER) { - if (!av_filename_number_test(oc->filename)) { - print_error(oc->filename, AVERROR(EINVAL)); + if (!av_filename_number_test(oc->url)) { + print_error(oc->url, AVERROR(EINVAL)); exit_program(1); } } diff --git a/fftools/ffplay.c b/fftools/ffplay.c index 9bfa3e6cea..f2028d4b13 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -2712,8 +2712,8 @@ static int is_realtime(AVFormatContext *s) ) return 1; - if(s->pb && ( !strncmp(s->filename, "rtp:", 4) - || !strncmp(s->filename, "udp:", 4) + if(s->pb && ( !strncmp(s->url, "rtp:", 4) + || !strncmp(s->url, "udp:", 4) ) ) return 1; @@ -2928,7 +2928,7 @@ static int read_thread(void *arg) ret = avformat_seek_file(is->ic, -1, seek_min, seek_target, seek_max, is->seek_flags); if (ret < 0) { av_log(NULL, AV_LOG_ERROR, - "%s: error while seeking\n", is->ic->filename); + "%s: error while seeking\n", is->ic->url); } else { if (is->audio_stream >= 0) { packet_queue_flush(&is->audioq); diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 0e7a771517..acb403e3b1 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -2778,7 +2778,7 @@ static int show_format(WriterContext *w, InputFile *ifile) int ret = 0; writer_print_section_header(w, SECTION_ID_FORMAT); - print_str_validate("filename", fmt_ctx->filename); + print_str_validate("filename", fmt_ctx->url); print_int("nb_streams", fmt_ctx->nb_streams); print_int("nb_programs", fmt_ctx->nb_programs); print_str("format_name", fmt_ctx->iformat->name); diff --git a/tools/uncoded_frame.c b/tools/uncoded_frame.c index 606bdb746a..3aaa4b6897 100644 --- a/tools/uncoded_frame.c +++ b/tools/uncoded_frame.c @@ -141,7 +141,7 @@ int main(int argc, char **argv) goto fail; } if (!(st->mux->oformat->flags & AVFMT_NOFILE)) { - ret = avio_open2(&st->mux->pb, st->mux->filename, AVIO_FLAG_WRITE, + ret = avio_open2(&st->mux->pb, st->mux->url, AVIO_FLAG_WRITE, NULL, NULL); if (ret < 0) { av_log(st->mux, AV_LOG_ERROR, "Failed to init output: %s\n",