From patchwork Fri Feb 23 10:00:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhii Marchuk X-Patchwork-Id: 7725 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.150.33 with SMTP id c30csp1065089jai; Fri, 23 Feb 2018 12:00:45 -0800 (PST) X-Google-Smtp-Source: AG47ELuWj7GZPuN7/eIMXV0Kv6WKq5j1IU23vQgBxiJYfRPWXs4CfpwWmE0CqRlluS4LSo9FP5hi X-Received: by 10.28.171.10 with SMTP id u10mr2626197wme.108.1519416044957; Fri, 23 Feb 2018 12:00:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519416044; cv=none; d=google.com; s=arc-20160816; b=j21W3aD5/vtqo7Bt18CGzLOYzWF2YNbWH8ozRuEH/7soH89teTNZGw3TS6qdo9cP9O hb46TrakxNMMo7o32jjVVy2AEIaKU1x4m9LHhlSAB2ZErOeyeg9MH7YRddnR5+Vaw3du vJzwx2hMnVhIGX3Y0R39OtK729A+0IJOD14QolOHGRgY1ZGE4SU1fU6jdWGmIspX5vPX idw1A6Rqi9b0Wq8euRYXOwKg4Qzx83zNPDjluzxvjoNNuLijBcKybC83YtMSK/gOyAf6 ZH401W5Xmw0O2HHl86P0UOJOahFp408HE8gJv4gkD2Q9iLLWiGMH0QciAGm1R//mO572 9YDA== 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:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=Vmc0861cibgtf8+ZLrEozj7b45fyemDOHC4euIBzntA=; b=m/rnuyC3tb+4e9F8YbFz07fY/YKNBB3HrA65TyxBUJBc/yqvcQTm0cOLXdr+KSNPk/ TIo+4hMmUXGXk2GTTrhOGv/goWCwdv6a9zTF6kH3wXVrLKfAUP75Gk9whrfQlvBryBhV tMfEnct5efSxoxNXQImDl6dxV9mXoQ0SgXP1EdMa4CbsGBBRXhmY1v7rD3DtDfgKR2ua OCKUDURPmP/u1HAe4ipABEggKGj6UE48umaaklsjS/qOGDO0cB/AAC5Nq/qm2OuVRYcy NVwfNvfXonPgcixj/PhurvtH08+ZjUoZQbQHcVQMzbm5oZSHfZfGRKlU9ppVe7xOlcyP P1Hg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=C4V7JYJo; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id r20si1639445wra.554.2018.02.23.12.00.42; Fri, 23 Feb 2018 12:00:44 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=C4V7JYJo; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E119F68A68D; Fri, 23 Feb 2018 22:00:37 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f41.google.com (mail-wm0-f41.google.com [74.125.82.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4D47D68A551 for ; Fri, 23 Feb 2018 12:01:15 +0200 (EET) Received: by mail-wm0-f41.google.com with SMTP id 188so3012997wme.1 for ; Fri, 23 Feb 2018 02:01:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=HMQMHDxXoFCEPiHKfQNZ6hF/QqUkxus+c8ZxGLC26Fw=; b=C4V7JYJoVJ30PKygtOZwfH2cjVz/a+jaoi1hhTCtY5JoU7pi7JQ/aq6nbnF4vMngoC FCOcwpvXtLwJ0jxWwV93RYtL2VfZU7r7dpOSKQvXQKiQVhHbmFP5GRhfAaJRA+cX2rJQ lFyN8prlPnvMxIf+kdYVUSOH42vBuG36mArJjqLcVh2jy4fIJtpZd5M9d6pVVCM/G+ye 03vudvAzx9HLf/z3JWhy3JaxbRmbgAzM64vG39pBw6h1qfO8MAak7KRgzDU7KCOQZaLG mLTudueke1PZH4K7uYAZ7ylS0qV0OOv+myJ/x+B1u1tLDCimCyhSKSu/BmrbEO8g5wGb cOsA== 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; bh=HMQMHDxXoFCEPiHKfQNZ6hF/QqUkxus+c8ZxGLC26Fw=; b=Y+sEplS0lMJOqOr6Yv8ij0Z4DyvEQ3JbFS0/mzjRHAOi5stVlcju7suR7fLbhihq1U 4E57r5PMnAttj4G5LILcKdnO6QUEKzvbaX1bIMGH7VIVi2FWH/zf9eF64MeGhqZIZBG1 AkKc/1Eox19V+udCl84YggyA5DOSw6pbHG3RZkw2YYd/hn6XKW+9EnzlVqjYvHwwfIMi 0XzfRGJoH+EDcUVQDIxzBtgW84sarv8sRcL4ogKbWaAQ4YRjyn9F7jJ7hloO5M4bl9Ct euWyC5tMztxIzUDJZqKl8k6igfMbXOZe3Qrcn/Gtze2IjImbw7rng2XfkLH4yzyEQjz9 lCfg== X-Gm-Message-State: APf1xPDCBvpICnEs/YNxIjtwOxPPRlQ6t0UeCo8uYg9x1M+uWQNnQn4f Z7sSSG/37tdbWvIujzAgJdBMoQ== X-Received: by 10.28.150.139 with SMTP id y133mr1154753wmd.142.1519380076737; Fri, 23 Feb 2018 02:01:16 -0800 (PST) Received: from localhost.localdomain ([195.69.222.56]) by smtp.gmail.com with ESMTPSA id q12sm2038980wrg.37.2018.02.23.02.01.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Feb 2018 02:01:16 -0800 (PST) From: Serhii Marchuk To: ffmpeg-devel@ffmpeg.org Date: Fri, 23 Feb 2018 12:00:17 +0200 Message-Id: <20180223100017.27784-1-serhii.marchuk@gmail.com> X-Mailer: git-send-email 2.14.1 X-Mailman-Approved-At: Fri, 23 Feb 2018 22:00:36 +0200 Subject: [FFmpeg-devel] [PATCH] DASH muxer: add option to change HTTP method 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: Serhii Marchuk MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavformat/dashenc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 0f6f4f22fa..28ff288fca 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -105,6 +105,7 @@ typedef struct DASHContext { const char *init_seg_name; const char *media_seg_name; const char *utc_timing_url; + const char *method; const char *user_agent; int hls_playlist; int http_persistent; @@ -256,6 +257,8 @@ static int flush_dynbuf(OutputStream *os, int *range_length) static void set_http_options(AVDictionary **options, DASHContext *c) { + if (c->method) + av_dict_set(options, "method", c->method, 0); if (c->user_agent) av_dict_set(options, "user_agent", c->user_agent, 0); if (c->http_persistent) @@ -1376,6 +1379,7 @@ static const AVOption options[] = { { "init_seg_name", "DASH-templated name to used for the initialization segment", OFFSET(init_seg_name), AV_OPT_TYPE_STRING, {.str = "init-stream$RepresentationID$.m4s"}, 0, 0, E }, { "media_seg_name", "DASH-templated name to used for the media segments", OFFSET(media_seg_name), AV_OPT_TYPE_STRING, {.str = "chunk-stream$RepresentationID$-$Number%05d$.m4s"}, 0, 0, E }, { "utc_timing_url", "URL of the page that will return the UTC timestamp in ISO format", OFFSET(utc_timing_url), AV_OPT_TYPE_STRING, { 0 }, 0, 0, E }, + { "method", "set the HTTP method", OFFSET(method), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E }, { "http_user_agent", "override User-Agent field in HTTP header", OFFSET(user_agent), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E}, { "http_persistent", "Use persistent HTTP connections", OFFSET(http_persistent), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, E }, { "hls_playlist", "Generate HLS playlist files(master.m3u8, media_%d.m3u8)", OFFSET(hls_playlist), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },