Stats()
: input_frame_rate(0),
encode_frame_rate(0),
+ media_bitrate_bps(0),
suspended(false) {}
int input_frame_rate;
int encode_frame_rate;
+ int media_bitrate_bps;
bool suspended;
- std::map<uint32_t, StreamStats> substreams;
+ std::map<uint32_t, SsrcStats> substreams;
};
struct Config {
struct EncoderSettings {
EncoderSettings() : payload_type(-1), encoder(NULL) {}
+
std::string ToString() const;
std::string payload_name;
static const size_t kDefaultMaxPacketSize = 1500 - 40; // TCP over IPv4.
struct Rtp {
- Rtp()
- : max_packet_size(kDefaultMaxPacketSize),
- min_transmit_bitrate_bps(0) {}
+ Rtp() : max_packet_size(kDefaultMaxPacketSize) {}
std::string ToString() const;
std::vector<uint32_t> ssrcs;
// Max RTP packet size delivered to send transport from VideoEngine.
size_t max_packet_size;
- // Padding will be used up to this bitrate regardless of the bitrate
- // produced by the encoder. Padding above what's actually produced by the
- // encoder helps maintaining a higher bitrate estimate.
- int min_transmit_bitrate_bps;
-
// RTP header extensions to use for this send stream.
std::vector<RtpExtension> extensions;
// Set which streams to send. Must have at least as many SSRCs as configured
// in the config. Encoder settings are passed on to the encoder instance along
// with the VideoStream settings.
- virtual bool ReconfigureVideoEncoder(const std::vector<VideoStream>& streams,
- const void* encoder_settings) = 0;
+ virtual bool ReconfigureVideoEncoder(const VideoEncoderConfig& config) = 0;
virtual Stats GetStats() const = 0;