From patchwork Sun May 9 22:37:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ignacio Losiggio X-Patchwork-Id: 27706 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:b214:0:0:0:0:0 with SMTP id b20csp2490569iof; Sun, 9 May 2021 15:37:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzZKNBG9+oTcADvs0JLWdX49VvRbiLnyMd0NY28qrwd/Fi+xh7qGaZpEWOyWQEF27oWdFTH X-Received: by 2002:a17:906:4d02:: with SMTP id r2mr22470612eju.464.1620599866009; Sun, 09 May 2021 15:37:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620599866; cv=none; d=google.com; s=arc-20160816; b=IDS4VsZAnLhdmmp0kE4gcOqmrw0ahYvXiR/3fHKh+uJwKPqxrpHzujaK0ATL4yAcvF 9JsmSERuXJ4SEmc/LLVu0/Ssklri5eYTC1xDcK1LN2C5+AoNY+O59Uq0KAZcTCHX+Xgo bk7b4goU/v3ijkuiYlNifOj5Dqqnu0T6CLgLurQm15ddAMsNGDWa2+jlZToQrQJdsUO6 q1uXkM7KrAzYUWo5KPYWUMdlKq+CWWE/yI32Q70+tlwiUZJ2UK1AJrtrQ76r5ofNmwmC 5zyL5tsbMZP8qoRRSQd1ilhiZnrLUPuphawRh4E5Rcidz8gbWt0oFi8bSfFoazw5pr1Z 0bDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :delivered-to; bh=a7td5BPS+wWL04ao0wBrLbUOVQtRqdc/ShUbin186fM=; b=PIYtKe5FefxbNYFSlVUYFjeqEiH0ME9h4OzDT3v78TFt1gWBbugBdqtxyzDiz9jC31 hSNVZld0KgFF5reeipctO5qhOanPiCvgRlGouW34qVAGB+jN6C/cNvioa+4QHpR+a6tP 3Rv2BUtej5RP2RlN20UI6cNWIPVbto3BWPOZjE3tgDjrZLsmcJicogaA5dFzye1QEv3r 3JNxBZakx5MBOTOEfl6jHcYp7kstsGH5EcyZgKdQB7nigtVV+zg6lw0IaKXBQuvCXLvU dBvijWIQiyg5peRa0msG+w/vFQBqjnFR0XJhRfuq6n72kt0n31e6gG3pRdbmUELVSo7W nTrw== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=dc.uba.ar Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z11si12760526edd.228.2021.05.09.15.37.45; Sun, 09 May 2021 15:37:45 -0700 (PDT) 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=dc.uba.ar Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4A444680563; Mon, 10 May 2021 01:37:42 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2602C680563 for ; Mon, 10 May 2021 01:37:36 +0300 (EEST) Received: by mail-qk1-f172.google.com with SMTP id q136so13705841qka.7 for ; Sun, 09 May 2021 15:37:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fUCOoFuV3Q06cDQw4rj9IoceqGuhOPV4pzaScGDbhxE=; b=aqSba+xkWgQMIsXRQLMvxB8lhunupk7hCVW6ABMVoMdy/SnbLzBepGoNWDi3QpuSy8 T2DUaK6yGw+qJsUkFI7SconmejrzdVMKZXyG/cRSosybQljgiXvUn+x2zw/3kV5NBO0W 0R0CT5KicHcTo4pFTx6IC39w+5E1VlhSlmFRU64G+cfFHV+xAN4VQHoZfHxHDNMGxsrl CJ8BuyqOyMlC2e3Bm6rxVldWL1gS9JtORt4rtedyRHKI0mqQ1a/jFxVsg/8znc/Fm4Za jyHa6uEk7P03QLBX0T8jnD+IEetWP4Vp7roH9sKs9szmC+LFoHUMFWpLE3XE1gcUnfsT VP1w== X-Gm-Message-State: AOAM53286qHLC1KoXWH3+G0jtuaNNFAv9sJaPW6VLZlrilCDhMU4topI Y9INZiw6Kt5iyG3VqA1w2SrKpispytc= X-Received: by 2002:a05:620a:448e:: with SMTP id x14mr20028153qkp.10.1620599853823; Sun, 09 May 2021 15:37:33 -0700 (PDT) Received: from nobuc.localdomain (129-73-17-190.fibertel.com.ar. [190.17.73.129]) by smtp.gmail.com with ESMTPSA id d6sm1178340qkf.109.2021.05.09.15.37.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 15:37:33 -0700 (PDT) From: Ignacio Losiggio To: ffmpeg-devel@ffmpeg.org Date: Sun, 9 May 2021 19:37:24 -0300 Message-Id: <20210509223724.207365-1-iglosiggio@dc.uba.ar> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avfilter/src_movie: Expose format options X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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: Ignacio Losiggio , Ignacio Losiggio Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: BYcmaSwXxK/k Add a dict-typed option to movie/amovie called format_options that allows forwarding of the options to avformat_open_input. Signed-off-by: Ignacio Losiggio --- libavfilter/src_movie.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c index 54f6738f9a..c47fabd348 100644 --- a/libavfilter/src_movie.c +++ b/libavfilter/src_movie.c @@ -61,6 +61,7 @@ typedef struct MovieContext { int64_t seek_point; ///< seekpoint in microseconds double seek_point_d; char *format_name; + AVDictionary *format_options; char *file_name; char *stream_specs; /**< user-provided list of streams, separated by + */ int stream_index; /**< for compatibility */ @@ -90,6 +91,7 @@ static const AVOption movie_options[]= { { "s", "set streams", OFFSET(stream_specs), AV_OPT_TYPE_STRING, {.str = 0}, 0, 0, FLAGS }, { "loop", "set loop count", OFFSET(loop_count), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, FLAGS }, { "discontinuity", "set discontinuity threshold", OFFSET(discontinuity_threshold), AV_OPT_TYPE_DURATION, {.i64 = 0}, 0, INT64_MAX, FLAGS }, + { "format_options","set format options", OFFSET(format_options), AV_OPT_TYPE_DICT, .flags = FLAGS }, { NULL }, }; @@ -239,7 +241,7 @@ static av_cold int movie_common_init(AVFilterContext *ctx) iformat = movie->format_name ? av_find_input_format(movie->format_name) : NULL; movie->format_ctx = NULL; - if ((ret = avformat_open_input(&movie->format_ctx, movie->file_name, iformat, NULL)) < 0) { + if ((ret = avformat_open_input(&movie->format_ctx, movie->file_name, iformat, &movie->format_options)) < 0) { av_log(ctx, AV_LOG_ERROR, "Failed to avformat_open_input '%s'\n", movie->file_name); return ret;