Re: [Hls-interest] LL-HLS survey: require all SERVER-CONTROL tags to match

"Law, Will" <wilaw@akamai.com> Tue, 21 July 2020 18:26 UTC

Return-Path: <wilaw@akamai.com>
X-Original-To: hls-interest@ietfa.amsl.com
Delivered-To: hls-interest@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CC4A23A00B0; Tue, 21 Jul 2020 11:26:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=akamai.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lIEqsgxd43wA; Tue, 21 Jul 2020 11:26:23 -0700 (PDT)
Received: from mx0a-00190b01.pphosted.com (mx0a-00190b01.pphosted.com [IPv6:2620:100:9001:583::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9D2AC3A0044; Tue, 21 Jul 2020 11:26:23 -0700 (PDT)
Received: from pps.filterd (m0122333.ppops.net [127.0.0.1]) by mx0a-00190b01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 06LIHlhf006719; Tue, 21 Jul 2020 19:26:23 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=jan2016.eng; bh=SVzwkUWBaPNc8028ELtPgNkzjv6ZiqB9htrDXhrm4dU=; b=hCSkVZTuJHmbdc+eKwL+e/a8syFOWFKdOWlGi6y532zRb9+uuSR6M21JtUbryb94Y8DL Sy6i/zr6EJ6UEZ4THZku/um6AIf6UZFCm5r5QgQW92YZuw3BXvFI0+RD0r1tuBG3JCcs ZYtya8TwyIcFMYKgiWSOYo4ljIWZ+FO+9aNXP8V3EObVaSKLNHSHBJF461LkBnggfZFA B3I+06zs9PF/7h40EqjoYwcwwBHPZ9q/4PgUAtsTFVejavLNQdOYdyKuTwRNJ1Kkw24k sLsi15ZxQjuafqZ59PemIymOaGZ7/PhA5tC9DZ5EcqTMZvSROBYbBDQR8rOanw3Te8kG nA==
Received: from prod-mail-ppoint2 (prod-mail-ppoint2.akamai.com [184.51.33.19] (may be forged)) by mx0a-00190b01.pphosted.com with ESMTP id 32bs8yhu1a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Jul 2020 19:26:23 +0100
Received: from pps.filterd (prod-mail-ppoint2.akamai.com [127.0.0.1]) by prod-mail-ppoint2.akamai.com (8.16.0.42/8.16.0.42) with SMTP id 06LIGQUG000693; Tue, 21 Jul 2020 14:26:21 -0400
Received: from email.msg.corp.akamai.com ([172.27.123.57]) by prod-mail-ppoint2.akamai.com with ESMTP id 32dmj2a936-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 21 Jul 2020 14:26:21 -0400
Received: from USMA1EX-DAG1MB2.msg.corp.akamai.com (172.27.123.102) by usma1ex-dag1mb4.msg.corp.akamai.com (172.27.123.104) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 21 Jul 2020 14:26:20 -0400
Received: from USMA1EX-DAG1MB2.msg.corp.akamai.com ([172.27.123.102]) by usma1ex-dag1mb2.msg.corp.akamai.com ([172.27.123.102]) with mapi id 15.00.1497.006; Tue, 21 Jul 2020 14:26:21 -0400
From: "Law, Will" <wilaw@akamai.com>
To: Roger Pantos <rpantos=40apple.com@dmarc.ietf.org>
CC: "hls-interest@ietf.org" <hls-interest@ietf.org>, Joey Parrish <joeyparrish=40google.com@dmarc.ietf.org>
Thread-Topic: [Hls-interest] LL-HLS survey: require all SERVER-CONTROL tags to match
Thread-Index: AQHWX4cKgdpoJja6yEOh7Go+CiAEMqkSly6A//+QMwA=
Date: Tue, 21 Jul 2020 18:26:21 +0000
Message-ID: <F28C7DEA-F670-4EA0-93BC-E01281B6F96A@akamai.com>
References: <CAB31503-1E90-4008-BBE5-91B4D25B65E9@apple.com> <CAM1-CVkgUVC8hS5Nc+fRhrfy-c-gDMBog6TtgyWJbyxJ29LV0A@mail.gmail.com>
In-Reply-To: <CAM1-CVkgUVC8hS5Nc+fRhrfy-c-gDMBog6TtgyWJbyxJ29LV0A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.38.20061401
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.27.118.139]
Content-Type: multipart/alternative; boundary="_000_F28C7DEAF6704EA093BCE01281B6F96Aakamaicom_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-07-21_12:2020-07-21, 2020-07-21 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 mlxscore=0 suspectscore=0 phishscore=0 spamscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2007210121
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-07-21_12:2020-07-21, 2020-07-21 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 mlxscore=0 mlxlogscore=999 impostorscore=0 spamscore=0 bulkscore=0 lowpriorityscore=0 clxscore=1011 malwarescore=0 priorityscore=1501 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2007210122
Archived-At: <https://mailarchive.ietf.org/arch/msg/hls-interest/X1VplNbQGG1_M7YWTDH-SczCZlo>
Subject: Re: [Hls-interest] LL-HLS survey: require all SERVER-CONTROL tags to match
X-BeenThere: hls-interest@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussions about HTTP Live Streaming \(HLS\)." <hls-interest.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hls-interest>, <mailto:hls-interest-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/hls-interest/>
List-Post: <mailto:hls-interest@ietf.org>
List-Help: <mailto:hls-interest-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hls-interest>, <mailto:hls-interest-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Jul 2020 18:26:26 -0000

Both packaging and player developers would benefit from the simplicity of stricter requirements of consistent server-control attributes across renditions.

If an implementer needed to remove server-control for backwards-compatibility with older clients, it would be simple enough for the origin to produce a parallel playlist with server-control consistently disabled across all renditions.

You may also consider a new _HLS_format  query arg which a player could pass to the origin when requesting the master playlist. This argument would allow the player to request characteristics of the subsequent presentations such as

  *   Discreet part versus byte range addressing
  *   Use of server control

These would only be requests. The origin would acknowledge compliance by returning the appropriate SERVER-CONTROL attributes and address syntax in the response. This allows a client to request the formatting and behavior that it wants, versus the implementation today in which the origin is blind to the needs of the client and the formatting decision is made ahead of runtime by a decoupled CMS.

-Will


From: Joey Parrish <joeyparrish=40google.com@dmarc.ietf.org>
Date: Tuesday, July 21, 2020 at 11:06 AM
To: Roger Pantos <rpantos=40apple.com@dmarc.ietf.org>
Cc: "hls-interest@ietf.org" <hls-interest@ietf.org>
Subject: Re: [Hls-interest] LL-HLS survey: require all SERVER-CONTROL tags to match

Hi Roger,

As a client developer, I would tend to prefer stricter requirements that would allow simpler clients.

Beyond the concerns you already mentioned, having per-rendition hold-backs would require our streaming model to change in Shaka Player, and I don't see any obvious benefit.  It's not even clear to me how we would be expected to operate with different hold-backs per rendition.

Would switching streams require us to change the "live edge" presented to the user?  (We consider two live edges: the true live edge of what's available to fetch from the server, and what we /tell/ the user is "live", which is the true live edge minus hold back.)

I don't work on the packaging side, but being strict about these attributes applying to all renditions would also seem to make compatibility with DASH easier to maintain.  For example, to be compatible with DASH, I expect a packager would be unable to use per-rendition hold-backs, even if they were allowed.

So why add the client complexity if multi-format packagers may not be able to use the feature anyway?

Thanks,
Joey


On Tue, Jul 21, 2020 at 10:47 AM Roger Pantos <rpantos=40apple.com@dmarc.ietf.org<mailto:40apple.com@dmarc..ietf.org>> wrote:
We plan to specify whether the attributes of the EXT-X-SERVER-CONTROL tag are allowed to vary between different Renditions. Following the principle that it’s always easier to progressively ease constraints than to impose new ones, our plan right now is be pretty strict up front and say that all attribute value must match across all Renditions.

(For reference, the currently-defined SERVER-CONTROL attributes are: CAN-SKIP-UNTIL; CAN-SKIP-DATERANGES; HOLD-BACK; PART-HOLD-BACK; CAN-BLOCK-RELOAD.)

One reason to require consistency is to avoid situations where a player tunes in to a particular set of Renditions, decides to join in LL mode (or not) and how far back from live, and then switches bitrate or language and encounters a different set of SERVER-CONTROL attributes that would have led it do a different tune-in decision, too late to avoid playback disruption.

Before we go ahead with the rule change I’d like to suss out any problems it would create. Specifically,

1) For packager vendors: would imposing this constraint place any unreasonable burdens on configuration or operation?

2) Conversely, for client implementations: would adopting a looser rule create problems, beyond what I described above?


thanks,

Roger Pantos
Apple Inc.
--
Hls-interest mailing list
Hls-interest@ietf.org<mailto:Hls-interest@ietf.org>
https://www.ietf.org/mailman/listinfo/hls-interest<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_hls-2Dinterest&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=KkevKJerDHRF9WRs8nW8Ew&m=OZRsplMkPccDsrzH4AFvrx6MmXNcMV48FT_LpcyYuCU&s=jmZkF9ELoQiNFW0ax4js-J6il1oiOzJOmegf2a3WUXY&e=>