From patchwork Mon Feb 26 08:46:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Serhii Marchuk X-Patchwork-Id: 7747 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.181.170 with SMTP id m39csp1611123jaj; Mon, 26 Feb 2018 09:36:24 -0800 (PST) X-Google-Smtp-Source: AH8x2274Av16OyCfFQL1q9JDWQaWh5YZao+/O70fWoEa8hUZzPxnZf6WKiOfcaaE6B2Xvnk6tRe7 X-Received: by 10.223.176.171 with SMTP id i40mr10718059wra.57.1519666584722; Mon, 26 Feb 2018 09:36:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519666584; cv=none; d=google.com; s=arc-20160816; b=D2W76fYB3ybM2qCEGdbjpSB4+lFpuL/CBZOJObQ6hbW/g0Ncd9Gd9HqDRRDpMERXrP je9Unb7Dxxfyh+Kr4o//MAjGVbMq2Sib/0YVYIAQpo3CGiSgeoWLGE2Atpv0zH7Q70sQ vDQ1MRKdhUKpQDoP79rEc3bGV48UgzG/vonKj0YE8+2jrGocY98VQC8SIU979yK1MN72 j8qi6jxlWQBFNSnJJOt48gBrPp7fivJOXzWN3VYh7XQG7R2vU/UXLmLbS0Wv+6vtXnaN xk7qONB7a2tfxXTfdht2074PckMTSBnykj8UlZw8m10fzYnTRPQY2BAW/+kxOiJOHmLg 3srw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :message-id:date:from:references:in-reply-to:mime-version :dkim-signature:delivered-to:arc-authentication-results; bh=6KNE1xAcj6qGVgpBEzsBgU6RxBpeXV3q2YgySLNzrR4=; b=K/9k6grYTaE3/wk8YuF/UwADY+nF9yIFACrpqnivnm7rc46a+KqnVr9QSDsDYW9NXD 9nSQQbyBfByyzkkod/zcqn8lY3QlEGxECd8/TPItCOiXdxrar6WINpwru8MJcm5N2vQX yVYY8zuEmhqTj861Oc6HcxG13PLl2gWDXDisdBmow6oVZQeG1chwMTaA6FYQnKbpfRfc dnxpaeVjXkXSV5zUbKlwO3WoIP9tMrYD8nJ6cH7UPEAA7wZ96tIA5s5XMF4J5nffqCRN wkC9DrYJQfC4Zidz/1H0RmQCf1i350yyTOrY5dYnjU+Pefu4Itg3rdgr1nsFfS54NtOL zXhQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=HHgfS2Dv; 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 d184si6204692wmc.2.2018.02.26.09.36.24; Mon, 26 Feb 2018 09:36:24 -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=HHgfS2Dv; 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 C1F3968A3A2; Mon, 26 Feb 2018 19:36:15 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ua0-f172.google.com (mail-ua0-f172.google.com [209.85.217.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A6A26689FC5 for ; Mon, 26 Feb 2018 10:52:18 +0200 (EET) Received: by mail-ua0-f172.google.com with SMTP id b13so5134494uam.10 for ; Mon, 26 Feb 2018 00:52:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=NONnccmnGWMt2TA/nWo/eKp6QKm2it8rDK3S6E1Xx5A=; b=HHgfS2Dvl61GKZCAcjXamzCTlbQRwfwCCsy8gB35hGL4WxAG3R/5t0PrnHFdhl3lwR tDswWnCkDdDV8Q+7T1/n20B1Crof9huOTHge5GNqBvY8u7Emql63R1vzCOeT/PqBq4i7 cmTUvKdxxck3ZTjWy1+C17/M2Sb0G+2sezmhSZMhQsTIMzqwg/B7EN5r3RJdQ7njmRcv QSHG7uB+/lqQl6WvjOaUib1E2lWm0SBKh3LblA6eWEJAsYmJeY4fzxDVUHRvau/nbOQs gFrRQjSj+jmteOUVxxne7RxscTFWQ5seZudKKsCrUov5sVIDGdFwAHX+r/jjckFmrjPq bARg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=NONnccmnGWMt2TA/nWo/eKp6QKm2it8rDK3S6E1Xx5A=; b=BIk6r0+X3/b/bbmy0zBentQCRbnfaobl3fAlM4LHhVtt6JjpCzxjH9wD8tELvYZTK2 5ss9aKl5TR0jRwoXSJ7Y+1NMYFZ2jg2JE12B8nWCh4jmZM/hX3fEfXp+2mNM/jLcK3OE 1dLF788LeG3/hnr5bqPzf68CkjmiucpnSIBDX2EBKTc/uPTMDlcrdwQaZ+n8EKrig8KC vHfqinuI1SzGQTLTQf3PEoOie5gpfxS5GENEoOdqWN+wxU+dCBf0fnTl4KuxIaQErPjH gQ+/3a4syGRz2bpd7MpL5Nq6C2Si7BOjYcdMe/CBlKzfAnWD3IqebeP91DmZrAfS4+3h 7BqQ== X-Gm-Message-State: APf1xPDpy8DzaR2qoQ11fJRcXukXN0cJNPFulxWnO/Wtnnotte6H21G7 v9G5u3aZ8yKUdwNpwzdBS1iW2MhxSQ/p6vElVPyGkQ== X-Received: by 10.159.59.229 with SMTP id y37mr5783452uah.48.1519634762342; Mon, 26 Feb 2018 00:46:02 -0800 (PST) MIME-Version: 1.0 Received: by 10.176.21.9 with HTTP; Mon, 26 Feb 2018 00:46:01 -0800 (PST) In-Reply-To: <6B98D7A1-EB26-4335-ACA4-5774399A081C@akamai.com> References: <20180223100017.27784-1-serhii.marchuk@gmail.com> <6B98D7A1-EB26-4335-ACA4-5774399A081C@akamai.com> From: Serhii Marchuk Date: Mon, 26 Feb 2018 10:46:01 +0200 Message-ID: To: FFmpeg development discussions and patches X-Mailman-Approved-At: Mon, 26 Feb 2018 19:36:14 +0200 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: Re: [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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Please have a look at the attached patch. 2018-02-24 7:31 GMT+02:00 Jeyapal, Karthick : > > > On 2/23/18 3:30 PM, Serhii Marchuk wrote: > > --- > > 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 }, > > Thanks for sending the patch. The patch looks fine. > But, please change the commit message’s prefix from “DASH muxer” to > “avformat/dashenc”, in order to maintain the uniformity with other commit > messages. > > Regards, > Karthick > > From 7b5ffda520029117865ea0024e1c3eeb439566c2 Mon Sep 17 00:00:00 2001 From: Serhii Marchuk Date: Fri, 23 Feb 2018 11:35:40 +0200 Subject: [PATCH] avformat/dashenc: add option to change HTTP method --- libavformat/dashenc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index d6474f3549..febe468691 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -109,6 +109,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; @@ -262,6 +263,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) @@ -1410,6 +1413,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 }, -- 2.14.1