What is R5Stream.getDebugStats()? and what information does it get?



R5Stream:getDebugStats returns a struct that looks like this:

/* Stats for an R5Stream */
    typedef struct r5_stats{

        float                  buffered_time;              //!< Length of content that has been received on socket
        int                    subscribe_queue_size;      //!< Number of audio/video frames waiting for decode
        int                    nb_audio_frames;            //!< Number of queued audio frames to be played
        int                    nb_video_frames;            //!< Number of queued video frames to be played
        long                    pkts_received;              //!< Num Received packets
        long                    pkts_sent;                  //!< Num Sent packets
        long                    pkts_video_dropped;        //!< Incoming video packets dropped
        long                    pkts_audio_dropped;        //!< Incoming audio packets dropped
        long                    publish_pkts_dropped;      //!< Total audio/video packets dropped due to latency

        long                    total_bytes_received;      //!< Total bytes received by stream
        long                    total_bytes_sent;          //!< total bytes sent by stream
        float                  subscribe_bitrate;          //!< Subscribing bitrate  (not smoothed)
        float                  publish_bitrate;            //!< Publishing bitrate (not smoothed)
        long                    socket_queue_size;          //!< Num Packets queued to be sent out
        float                  bitrate_sent_smoothed;      //!< Smoothed outgoing bitrate
        float                  bitrate_received_smoothed;  //!< Smoothed incoming bitrate
        float                  subscribe_latency;          //!< How far behind subscriber clock the stream is arriving

Have more questions? Submit a request


Please sign in to leave a comment.