Skip to content

Make use of the Order Flag of DATA packet being ignored in live and stream modes #1433

@maxsharabayko

Description

@maxsharabayko

SRT Data packet header has the "Order Flag" (O). The Order Flag indicates whether the message should be delivered by the receiver in order (1) or not (0).

This flag is not used in stream and live modes.

In live mode, all packet can only be read in order. Therefore this flag is in fact ignored.
However, the default value of this flag is 0 because of the srt_msgctrl_default::inorder = false.

  • Change the default value of srt_msgctrl_default::inorder to true?

This flag can potentially be reused in the future.
For example, for packets that are not allowed to be dropped (as suggested by @ethouris). Although the receiver will never know until it receives it.

  • Can the Order Flag be reused in live and stream transmission modes and how?
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+- SRT Header +-+-+-+-+-+-+-+-+-+-+-+-+-+
   |0|                    Packet Sequence Number                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |P P|O|K K|R|                   Message Number                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Destination Socket ID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                            Payload                            +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: EnhancementIndicates new feature requests[core]Area: Changes in SRT library core

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions