moq-wg / moq-transport

draft-ietf-moq-transport
Other
82 stars 20 forks source link

ID of EndOfTrackObjects #505

Open martinduke opened 1 month ago

martinduke commented 1 month ago

7.1.1.1 currently says:

0x4 := Indicates end of Track and Group. GroupID is one greater than the largest group produced in this track and the ObjectId is one greater than the largest object produced in that group. This is sent right after the last object in the track. This SHOULD be cached.

This is confusing. I think this means that if the last real object in a track is (10,3), then we'll send an end of Track and Group object with sequence (11, 4)?

I can imagine use cases where the publisher ends the group, and then finds out the track is ending. So would it send EndOfGroup(10,4) and EndOfTrackAndGroup(11, 5)?

Maybe we could instead separate EndOfGroup and EndOfTrack and make EOT's sequence {last_group + 1, 0}?

ianswett commented 1 month ago

Good question, the status quo is odd.

I think one should send EndOfTrackAndGroup(10, 4), but you have a good example with a group ending and then the track.

This is somewhat related to @fluffy ideas about having different bits indicate EndOfGroup and EndOfTrack instead of an entirely separate Object.

martinduke commented 1 month ago

Good question, the status quo is odd.

I think one should send EndOfTrackAndGroup(10, 4), but you have a good example with a group ending and then the track.

This is somewhat related to @fluffy ideas about having different bits indicate EndOfGroup and EndOfTrack instead of an entirely separate Object.

Group ID has to be one greater, so it'd be (11, 4)?