OpenTok C SDK
|
#include <subscriber.h>
Data Fields | |
void * | user_data |
void(* | on_rtc_stats_report )(otc_subscriber *subscriber, void *user_data, const char *json_array_of_reports) |
void * | reserved |
Defines the struct for setting the subcriber RTC stats report callack.
void(* on_rtc_stats_report) (otc_subscriber *subscriber, void *user_data, const char *json_array_of_reports) |
Defines the callback function for getting subscriber RTC stats reports.
subscriber | The instance invoking this call. |
user_data | Pointer to user custom data bound to this struct. |
json_array_of_reports | Array of RTC stats reports for the subscriber's stream. The structure of the JSON array is similar to the format of the RtcStatsReport object implemented in web browsers (see Mozilla docs). Also see this W3C documentation. |
Here is a partial sample:
[ { "audioLevel": 0, "id": "RTCAudioSource_1", "kind": "audio", "timestamp": 1603448671532842, "totalAudioEnergy": 0, "totalSamplesDuration": 4.249999999999954, "trackIdentifier": "4nP5yeIDzbUm6IJho5jkTps1lnfabsFvTXjH00", "type": "media-source" }, { "base64Certificate": "MIIBFjCB...QIhAMIfr/NgvhNp16zaoHxGQGrID1STFmBSSSB4V1bxBrTU", "fingerprint": "E7:5F:...:FA:5A:1F:A7:E0:55:60", "fingerprintAlgorithm": "sha-256", "id": "RTCCertificate_E7:5F:E5...F:1D:FA:5A:1F:A7:E0:55:60", "timestamp": 1603448671532842, "type": "certificate" }, { "channels": 1, "clockRate": 8000, "id": "RTCCodec_audio_Inbound_0", "mimeType": "audio/PCMU", "payloadType": 0, "timestamp": 1603448671532842, "type": "codec" }, { "channels": 2, "clockRate": 48000, "id": "RTCCodec_audio_Inbound_111", "mimeType": "audio/opus", "payloadType": 111, "sdpFmtpLine": "minptime=10;useinbandfec=1", "timestamp": 1603448671532842, "type": "codec" }, ]
void* user_data |
Pointer to user custom data bound to this struct.