Frequently Asked Questions

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

QUESTION:

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

ANSWER:

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
 
    }r5_stats;