Re: [Hls-interest] Clarification on client and origin behavior with byte-range addressed LL-HLS

Roger Pantos <rpantos@apple.com> Mon, 25 September 2023 20:16 UTC

Return-Path: <rpantos@apple.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 D1374C1782C0 for <hls-interest@ietfa.amsl.com>; Mon, 25 Sep 2023 13:16:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.106
X-Spam-Level:
X-Spam-Status: No, score=-7.106 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, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SszU-l2zpWHn for <hls-interest@ietfa.amsl.com>; Mon, 25 Sep 2023 13:16:51 -0700 (PDT)
Received: from ma-mailsvcp-mx-lapp03.apple.com (ma-mailsvcp-mx-lapp03.apple.com [17.32.222.24]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 657B6C1782BF for <hls-interest@ietf.org>; Mon, 25 Sep 2023 13:16:51 -0700 (PDT)
Received: from rn-mailsvcp-mta-lapp02.rno.apple.com (rn-mailsvcp-mta-lapp02.rno.apple.com [10.225.203.150]) by ma-mailsvcp-mx-lapp03.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0S1K00QA85O0BQ00@ma-mailsvcp-mx-lapp03.apple.com> for hls-interest@ietf.org; Mon, 25 Sep 2023 13:16:50 -0700 (PDT)
X-Proofpoint-ORIG-GUID: LZ__teQ1nEtnOhEnJ-2mfNHFDlvUDdjO
X-Proofpoint-GUID: LZ__teQ1nEtnOhEnJ-2mfNHFDlvUDdjO
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.619, 18.0.980 definitions=2023-09-25_18:2023-09-25, 2023-09-25 signatures=0
X-Proofpoint-Spam-Details: rule=interactive_user_notspam policy=interactive_user score=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2309180000 definitions=main-2309250155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=from : message-id : content-type : mime-version : subject : date : in-reply-to : cc : to : references; s=20180706; bh=fAnR4QSEZAs8qQUSH2cNiOxRCAKvUqoMh5FnRcPBsWg=; b=gZfHEpnp2UQV7rER561db9JuiY0raPvmOLMCKD1Ty/nO5PDEL5nyEupV4ySuzi7PQBLK s0ByMjBWatOoV2V1piKTC2sr2/60N+RoAqu8gDRt+Fe5CoMy7Nh7dO9MRqE/9zDfp1dj ztv/TAGJ9uHwcrTkhrun+nhYPQVtFYCQ8Cfu6ntm/pLQ4nxTX1d220G0+Nu3RUT5Uj6V GE6/VZ7+7goc8rVbTo77rL2nOL75FKWQnGdOR1Id2MEHRZ2XPyrofGmN6zQtw9IfqAgC 5axqAhoT1ZB53S9SsDSLQTc7KQBEpf9Kwfp1W75XVVm6xWgeFa7y7qo7YPS58U83Ttcs 2Q==
Received: from rn-mailsvcp-mmp-lapp03.rno.apple.com (rn-mailsvcp-mmp-lapp03.rno.apple.com [17.179.253.16]) by rn-mailsvcp-mta-lapp02.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0S1K00F5J5O19ML0@rn-mailsvcp-mta-lapp02.rno.apple.com>; Mon, 25 Sep 2023 13:16:49 -0700 (PDT)
Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp03.rno.apple.com by rn-mailsvcp-mmp-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) id <0S1K00A005KVQY00@rn-mailsvcp-mmp-lapp03.rno.apple.com>; Mon, 25 Sep 2023 13:16:49 -0700 (PDT)
X-Va-A:
X-Va-T-CD: 81ca60fce39c2560b6c4a7e5841f9b8f
X-Va-E-CD: 2de761f3685ffee05005ad3432d6101d
X-Va-R-CD: 49b7606005e4c3099dfe7a9783e6731d
X-Va-ID: b6152da9-daf7-4f13-9dc3-592d2f135aff
X-Va-CD: 0
X-V-A:
X-V-T-CD: 81ca60fce39c2560b6c4a7e5841f9b8f
X-V-E-CD: 2de761f3685ffee05005ad3432d6101d
X-V-R-CD: 49b7606005e4c3099dfe7a9783e6731d
X-V-ID: 9ef7f5f7-095c-4977-a21c-5564fbe877d8
X-V-CD: 0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.619, 18.0.980 definitions=2023-09-25_18:2023-09-25, 2023-09-25 signatures=0
Received: from smtpclient.apple (unknown [17.233.26.106]) by rn-mailsvcp-mmp-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPSA id <0S1K00LIO5O0S700@rn-mailsvcp-mmp-lapp03.rno.apple.com>; Mon, 25 Sep 2023 13:16:49 -0700 (PDT)
From: Roger Pantos <rpantos@apple.com>
Message-id: <1B4DB0C2-C39A-485C-8462-4F5E1A6383A3@apple.com>
Content-type: multipart/alternative; boundary="Apple-Mail=_78E8C6E8-84C2-42D7-BB57-4412A6C86563"
MIME-version: 1.0 (Mac OS X Mail 16.0 \(3774.200.52\))
Date: Mon, 25 Sep 2023 13:16:38 -0700
In-reply-to: <B2418083-BE20-4BEE-AAF1-41DEDF32377B@akamai.com>
Cc: "hls-interest@ietf.org" <hls-interest@ietf.org>
To: "Law, Will" <wilaw=40akamai.com@dmarc.ietf.org>
References: <B2418083-BE20-4BEE-AAF1-41DEDF32377B@akamai.com>
X-Mailer: Apple Mail (2.3774.200.52)
Archived-At: <https://mailarchive.ietf.org/arch/msg/hls-interest/cXakcJrUKMzRr15Bw1i-kowNtWI>
Subject: Re: [Hls-interest] Clarification on client and origin behavior with byte-range addressed LL-HLS
X-BeenThere: hls-interest@ietf.org
X-Mailman-Version: 2.1.39
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: Mon, 25 Sep 2023 20:16:55 -0000


> On Sep 25, 2023, at 8:37 AM, Law, Will <wilaw=40akamai.com@dmarc.ietf.org> wrote:
> 
> Hello
>  
> I’m looking for some clarification on intended client and origin behavior when playing back LL-HLS with byte-range addressing.
>  
> # This is Playlist update 3
> #EXTINF:4.08,
> fs270.mp4
> #EXT-X-PART:DURATION=1.02,URI="fs271.mp4",BYTERANGE="20000@0",INDEPENDENT=YES
> #EXT-X-PART:DURATION=1.02,URI="fs271.mp4",BYTERANGE="23000@20000"
> #EXT-X-PART:DURATION=1.02,URI="fs271.mp4",BYTERANGE="18000@43000",INDEPENDENT=YES
> #EXT-X-PART:DURATION=1.02,URI="fs271.mp4",BYTERANGE="19000@61000"
> #EXTINF:4.08,
> fs271.mp4
> #EXT-X-PART:DURATION=1.02,URI="fs272.mp4",BYTERANGE="21000@0",INDEPENDENT=YES
> #EXT-X-PRELOAD-HINT:TYPE=PART,URI="fs272.mp4",BYTERANGE-START=21000
>  
> Given the snippet above, how should the player load the hinted part? It knows it starts at an offset of 21000 but it does not know the end. Per the spechttps://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis#section-4.4.5.3, if the last-byte-pos is unknown, then the player should use RFC8673 and a last-byte-pos value of 9007199254740991. Seeing an incoming range request of range: 21000-9007199254740991, what should the origin do? Does it
> Serve bytes from 21000 to the end of the part
> Serve bytes from 21000 to the end of the segment
> Do something else
>  
> If [a], that would be a departure from standard HTTP range request semantics. If [b], now the player receives all the remaining parts in that segment, instead of just the hinted part.

We (and the various Apple players) expect (b). 

Note as well that the spec (section 6.2.6) also says:

   When processing requests for a URI or a byte range of a URI that
   includes one or more Partial Segments that are not yet completely
   available to be sent - such as requests made in response to an EXT-X-
   PRELOAD-HINT tag - the server MUST refrain from transmitting any
   bytes belonging to a Partial Segment until all bytes of that Partial
   Segment can be transmitted at the full speed of the link to the
   client.  If the requested range includes more than one Partial
   Segment then the server MUST enforce this delivery guarantee for each
   Partial Segment in turn. 

which implies (b), I believe.


Roger.

>  
> Cheers
> Will
>  
>  
> -- 
> Hls-interest mailing list
> Hls-interest@ietf.org <mailto:Hls-interest@ietf.org>
> https://www.ietf.org/mailman/listinfo/hls-interest