66 lines
2.0 KiB
C
66 lines
2.0 KiB
C
|
|
/*
|
||
|
|
* Copyright 2024 The WebRTC project authors. All Rights Reserved.
|
||
|
|
*
|
||
|
|
* Use of this source code is governed by a BSD-style license
|
||
|
|
* that can be found in the LICENSE file in the root of the source
|
||
|
|
* tree. An additional intellectual property rights grant can be found
|
||
|
|
* in the file PATENTS. All contributing project authors may
|
||
|
|
* be found in the AUTHORS file in the root of the source tree.
|
||
|
|
*/
|
||
|
|
|
||
|
|
#import <Foundation/Foundation.h>
|
||
|
|
|
||
|
|
#import "RTCMacros.h"
|
||
|
|
|
||
|
|
NS_ASSUME_NONNULL_BEGIN
|
||
|
|
|
||
|
|
/** Represents the source type of received media. */
|
||
|
|
typedef NS_ENUM(NSInteger, RTCRtpSourceType) {
|
||
|
|
RTCRtpSourceTypeSSRC,
|
||
|
|
RTCRtpSourceTypeCSRC,
|
||
|
|
};
|
||
|
|
|
||
|
|
@class RTC_OBJC_TYPE(RTCRtpSource);
|
||
|
|
|
||
|
|
RTC_OBJC_EXPORT
|
||
|
|
@protocol RTC_OBJC_TYPE
|
||
|
|
(RTCRtpSource)<NSObject>
|
||
|
|
|
||
|
|
/**
|
||
|
|
A positive integer value specifying the CSRC identifier of the contributing source or SSRC
|
||
|
|
identifier of the synchronization source. This uniquely identifies the source of the particular
|
||
|
|
stream RTP packets. */
|
||
|
|
@property(nonatomic, readonly) uint32_t sourceId;
|
||
|
|
|
||
|
|
@property(nonatomic, readonly) RTCRtpSourceType sourceType;
|
||
|
|
|
||
|
|
/**
|
||
|
|
A floating-point value between 0.0 and 1.0 specifying the audio level contained in the last RTP
|
||
|
|
packet played from the contributing source.
|
||
|
|
*/
|
||
|
|
@property(nonatomic, readonly, nullable) NSNumber *audioLevel;
|
||
|
|
|
||
|
|
/**
|
||
|
|
A timestamp indicating the most recent time at which a frame originating from this source was
|
||
|
|
delivered to the receiver's track
|
||
|
|
*/
|
||
|
|
@property(nonatomic, readonly) CFTimeInterval timestampUs;
|
||
|
|
|
||
|
|
/**
|
||
|
|
The RTP timestamp of the media. This source-generated timestamp indicates the time at which the
|
||
|
|
media in this packet, scheduled for play out at the time indicated by timestamp, was initially
|
||
|
|
sampled or generated. It may be useful for sequencing and synchronization purposes.
|
||
|
|
*/
|
||
|
|
@property(nonatomic, readonly) uint32_t rtpTimestamp;
|
||
|
|
|
||
|
|
@end
|
||
|
|
|
||
|
|
RTC_OBJC_EXPORT
|
||
|
|
@interface RTC_OBJC_TYPE (RTCRtpSource) : NSObject <RTC_OBJC_TYPE(RTCRtpSource)>
|
||
|
|
|
||
|
|
- (instancetype)init NS_UNAVAILABLE;
|
||
|
|
|
||
|
|
@end
|
||
|
|
|
||
|
|
NS_ASSUME_NONNULL_END
|