Re: [Moq] Flow to join 15 seconds before live

Luke Curley <kixelated@gmail.com> Tue, 26 March 2024 22:29 UTC

Return-Path: <kixelated@gmail.com>
X-Original-To: moq@ietfa.amsl.com
Delivered-To: moq@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 939B6C14CE38 for <moq@ietfa.amsl.com>; Tue, 26 Mar 2024 15:29:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.107
X-Spam-Level:
X-Spam-Status: No, score=-7.107 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 3Mg3tyfF4Xm0 for <moq@ietfa.amsl.com>; Tue, 26 Mar 2024 15:29:04 -0700 (PDT)
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (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 1C83AC14F615 for <moq@ietf.org>; Tue, 26 Mar 2024 15:29:04 -0700 (PDT)
Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-56890b533aaso7139683a12.3 for <moq@ietf.org>; Tue, 26 Mar 2024 15:29:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711492142; x=1712096942; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4mLBTFArwm0ctohVffr1Nr4WWg6rV5Wdm6XCrm9sDUM=; b=IFGLLqLDIfINihsrURaBVN/RxA6rni+oOHwSsPZCvq1Cil5A3c0SNHOetr6PeKEClT MW1DOWnjEX+7YkfhjEY8Xal6xlJ+aomQX97sTyPsea/xVcoSCVYbjNptaINQy/f10YCa mX7Nxm7k3Yp95z2UMR+NqwwiHciJOVTFoL8KxiHFSzeoX8kWLeW5gJ/bKcH9ATSOj69X ZnTwGIUCjaAYveRaD+qVQv6EiL3qoXOYPjrhAeb04NyVFMvFRJ/BmNJPlj+Ypez5Pjiu mCiKxCp7Gk91b8qySZr684wvfaqRUGA6/7Le2ux/ooI0GbLfUkpFjvuUmCM3ZlK+WCWU CD8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711492142; x=1712096942; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4mLBTFArwm0ctohVffr1Nr4WWg6rV5Wdm6XCrm9sDUM=; b=SW1x+SSu/77bljD9RVs9LN+jS8R0BckhjXhDgHRnjbnyJaD+1iGOYPHvpPAw5joaZM uZo9pPeYWCDBzNG+gknCg7G75Lm99rL6nq9+5b8NAIZHOM3hCMbOx+9qUlc+/0egFjh0 95HB5VszKleJUAEfIER+oaMZTCUtGrf6+v939nSC7Euwe1llgnRuTr0sEesRbCeZgtjg SAyfpNHSuEKv2BCEA0jOKyrQSh5doHR40J+T182RvKB8fVLePjAT86d2k9pWY7R6HT35 5WUcgpaev34yIlBw+j9c/7XpE3DGC3rc+nCr+CLDXlE5K9xdfTDwbfjJN4GeGUhv3tYA dY5g==
X-Gm-Message-State: AOJu0Yxk27ljDwDnWgBqdOxlHLdpAD9lNF5aqFHyHuZFrmDXLoalmBwL kzSofML4Xf5Us9rrPgBcjui+V+iUOSsnB6eg9iFfz6WJpOFgFB+8ASYvZc4K3Xa2ao/n1Swbqa+ sVmOTTW+UvCfd8s6l0FoN4qZWJLPpvrqHRus=
X-Google-Smtp-Source: AGHT+IEG/8rc/Va60jDR5Ddz/U/DmODN2b+Lt09K5mbrnS817HAn0FDJRQ5Bh8uHL9ovGWqvlP9I+/wvzZwiSvR0rjY=
X-Received: by 2002:a17:906:3d6a:b0:a46:d79e:a28f with SMTP id r10-20020a1709063d6a00b00a46d79ea28fmr7128231ejf.76.1711492141810; Tue, 26 Mar 2024 15:29:01 -0700 (PDT)
MIME-Version: 1.0
References: <B1E13534-1440-42B7-A820-3EFC405AD558@iii.ca> <CAHVo=ZmUsVvnJ43-_HMjk51OcRJaYJ1iiO94Hfx9askqaMcZTA@mail.gmail.com> <3BB1607B-16E7-4AA7-A3E1-7C24690198E8@iii.ca>
In-Reply-To: <3BB1607B-16E7-4AA7-A3E1-7C24690198E8@iii.ca>
From: Luke Curley <kixelated@gmail.com>
Date: Tue, 26 Mar 2024 15:28:50 -0700
Message-ID: <CAHVo=ZkSuXfw_spmiqu_Q_pCoWEkbX48TvU39xz6AvH5VP7Dog@mail.gmail.com>
To: Cullen Jennings <fluffy@iii.ca>
Cc: MOQ Mailing List <moq@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000260b48061497d107"
Archived-At: <https://mailarchive.ietf.org/arch/msg/moq/jGXBZlr4WcMmDnTQlNtXiy30GBc>
Subject: Re: [Moq] Flow to join 15 seconds before live
X-BeenThere: moq@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Media over QUIC <moq.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/moq>, <mailto:moq-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/moq/>
List-Post: <mailto:moq@ietf.org>
List-Help: <mailto:moq-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/moq>, <mailto:moq-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 26 Mar 2024 22:29:08 -0000

Hey Cullen,

On Tue, Mar 26, 2024 at 3:00 PM Cullen Jennings <fluffy@iii.ca> wrote:

> > On Mar 25, 2024, at 3:57 PM, Luke Curley <kixelated@gmail.com> wrote:
> >
> > Hey Cullen, thank you very much for writing down the proposed flow.
> >
> > The problem with this approach is that while there is head-of-line
> blocking on startup (via FETCH), there is no head-of-line blocking during
> the steady state (via SUBSCRIBE).
>
> Uh, what I wrote had nothing about fetch data being delivered on a single
> stream but I’m not clear what you want when filling the last 15 second of
> the buffer, if a group would block , do you want the next one sent in
> parallel slowing down the first or do you want the early stuff to arrive
> first.  I think either is pretty easy, I just don’t understand the goal of
> the use case.


You're right that "head-of-line blocking" is the wrong term here. What I
meant was:

The problem with this approach is that there are *ascending groups* on
startup (via FETCH), but there *descending groups* during the steady state
(via SUBSCRIBE).

As in, the publisher will send groups 0,1,2 via FETCH, but will send groups
2,1,0 via SUBSCRIBE.


> > Any congestion will cause the player buffer to shrink, and unfortunately
> it will be filled in reverse group order.
>
> What order do you want it filling in? I’m not seeing why what I proposed
> below would have it in reverse order.


I think the disconnect is that some viewers will want to skip content,
while other viewers will want to buffer content, depending on their target
latency. As it stands, we have to pick one of the two when creating each
object and encoding the send order, which then gets used by SUBSCRIBE.

Basically, like Will said, we either need:
1. A flag for SUBSCRIBE to ignore the send order (order=ASC).
2. FETCH to support future groups (since it uses order=ASC).

In either scenario, the lines between FETCH and SUBSCRIBE are extremely
blurred.