AgoraDataStreamConfig Class Reference

Inherits from NSObject
Declared in AgoraObjects.h

Overview

The configurations for the data stream.

The following table shows the relationship between the syncWithAudio parameter and the ordered parameter:

syncWithAudio ordered SDK behaviors
NO NO The SDK triggers the receiveStreamMessageFromUid callback immediately after the receiver receives a data packet.
YES NO
  • If the data packet delay is within the audio delay, the SDK triggers the receiveStreamMessageFromUid callback when the synchronized audio packet is played out.
  • If the data packet delay exceeds the audio delay, the SDK triggers the receiveStreamMessageFromUid callback as soon as the data packet is received. In this case, the data packet is not synchronized with the audio packet.
  • NO YES
  • If the delay of a data packet is within five seconds, the SDK corrects the order of the data packet.
  • If the delay of a data packet exceeds five seconds, the SDK discards the data packet.
  • YES YES
  • If the delay of a data packet is within the audio delay, the SDK corrects the order of the data packet.
  • If the delay of a data packet exceeds the audio delay, the SDK discards this data packet.
  •   ordered

    Whether the SDK guarantees that the receiver receives the data in the sent order.

    @property (assign, nonatomic) BOOL ordered

    Discussion

    • YES: Guarantee that the receiver receives the data in the sent order.
    • NO: Do not guarantee that the receiver receives the data in the sent order.

    Do not set this parameter to YES if you need the receiver to receive the data immediately.

    Declared In

    AgoraObjects.h

      syncWithAudio

    Whether to synchronize the data packet with the published audio packet.

    @property (assign, nonatomic) BOOL syncWithAudio

    Discussion

    • YES: Synchronize the data packet with the audio packet.
    • NO: Do not synchronize the data packet with the audio packet.

    When you set the data packet to synchronize with the audio, then if the data packet delay is within the audio delay range, the SDK triggers the receiveStreamMessageFromUid callback when the synchronized audio packet is played out. Do not set this parameter as YES if you need the receiver to receive the data packet immediately. Agora recommends that you set this parameter to YES only when you need to implement specific functions, for example lyric synchronization.

    Declared In

    AgoraObjects.h