From patchwork Mon May 15 00:05:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 41609 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:ba91:b0:105:feb:71f2 with SMTP id fb17csp1223060pzb; Sun, 14 May 2023 17:06:19 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5LkfPN3cg1UhSNOFhj/181nurmDqAVR+3G14eVAYuZdlZvCNThnoWDndmtfYcQaR+Sss4x X-Received: by 2002:a17:907:608e:b0:96a:c15b:2b83 with SMTP id ht14-20020a170907608e00b0096ac15b2b83mr8008251ejc.54.1684109179425; Sun, 14 May 2023 17:06:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684109179; cv=none; d=google.com; s=arc-20160816; b=F9B5Q7Zm9J7QZ2Vi9DztQueYSoUDw149Uw8frAUJ7iMA4LSKML4e0UKetFmrOx7dAQ jqclgXF9K55rfr6RY2LJXbbvB292fAViUbejNN2iGUzuOWkzAl/XlekZcAH+Q3pmlS63 78jBaOu16ANRbrUgE6HC1KcidG12Wrcr+d5ervs/vUZ4nm8Y3C5LKTYUrXOjYEVWaXJP VSUBbvYaL8TEQpJYNG3+iNFP5L1tTaL0LWNYLpCO2zZH3cJBhocyCEZdiLdsBXtNQGDS 1KPhaiX3Gl7OdUldB+XJ+1QFphBReTUCCScntXwF2KYkUaBxHYQHikB9WB6/EObUM+4r wtwg== 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: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; bh=sIzN8e46YM2HAtThE2CBLsPkpjCA4LbNHQ3z96U6ZT8=; b=qaSEoa/UDXz8BTrl0AqaQwbPx8n3WUHC79NXwfTjbQc0MyfDO14N44n8lmr5H042g8 mnaiDfoqhsGhNIQnhsG5VJ+zuhkmAnLPY5Eb9fIrNkvesBWduQel0bJI7TEofHJUipZw DtIjqkbtzXfzDbERuiWJ/RJntOwytPaVTUnhLLkSkaqddK0kzBpLqOfxTE0IVBTz5IRJ T9u6Pj7qu3ZVIfEI2ve6cUAC8TBlx1zkdpJSywjtHYomy0UVrOV++28PBoDQJ/NZuxFP bmwzXP+9CnlKqZFsrSzYBwoNUv6Ty0V41VYSWnPLonK68D94EfA+Ey6s2nZP1EaJaISq fvGA== 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 vr14-20020a170907a50e00b009682bb2aa14si12236014ejc.32.2023.05.14.17.06.19; Sun, 14 May 2023 17:06:19 -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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0748368BFE7; Mon, 15 May 2023 03:06:00 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [217.70.183.201]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D576968BFC1 for ; Mon, 15 May 2023 03:05:50 +0300 (EEST) Received: (Authenticated sender: michael@niedermayer.cc) by mail.gandi.net (Postfix) with ESMTPSA id 47D211BF209 for ; Mon, 15 May 2023 00:05:50 +0000 (UTC) From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Mon, 15 May 2023 02:05:47 +0200 Message-Id: <20230515000547.1703-3-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230515000547.1703-1-michael@niedermayer.cc> References: <20230515000547.1703-1-michael@niedermayer.cc> Subject: [FFmpeg-devel] [PATCH 3/3] avformat/hls: Try to implement RFC8216 playlist refusal 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: AjNnpXf1IYHg This is not well tested and can likely be improved, just a hotfix for hls probe failures since 6b1f68ccb04d791f0250e05687c346a99ff47ea1 Should fix Ticket10353 (please test and report cases that still fail) Signed-off-by: Michael Niedermayer --- libavformat/hls.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libavformat/hls.c b/libavformat/hls.c index df2442c376..790ae7a96a 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -2534,7 +2534,16 @@ static int hls_probe(const AVProbeData *p) strstr(p->buf, "#EXT-X-TARGETDURATION:") || strstr(p->buf, "#EXT-X-MEDIA-SEQUENCE:")) { - if (!av_match_ext(p->filename, "m3u8,hls,m3u")) { + int mime_ok = p->mime_type && !( + av_strcasecmp(p->mime_type, "application/vnd.apple.mpegurl") && + av_strcasecmp(p->mime_type, "audio/mpegurl") && + av_strcasecmp(p->mime_type, "audio/x-mpegurl") && + av_strcasecmp(p->mime_type, "application/x-mpegurl") + ); + + if (!av_match_ext (p->filename, "m3u8,hls,m3u") && + ff_match_url_ext(p->filename, "m3u8,hls,m3u") <= 0 && + !mime_ok) { av_log(NULL, AV_LOG_ERROR, "Not detecting m3u8/hls with non standard extension\n"); return 0; }