Reland "Enables/disables simulcast streams by allocating a bitrate of 0 to the spatial layer."
This is a reland of 18c4261339dc76b220e7c805e36b4ea6f3dd161d Original change's description: > Enables/disables simulcast streams by allocating a bitrate of 0 to the spatial layer. > > Creates VideoStreams & VideoCodec.simulcastStreams with an active field, and then allocates 0 bitrate to simulcast streams that are inactive. This turns off the encoder for specific simulcast streams. > > Bug: webrtc:8653 > Change-Id: Id93b03dcd8d1191a7d3300bd77882c8af96ee469 > Reviewed-on: https://webrtc-review.googlesource.com/37740 > Reviewed-by: Stefan Holmer <stefan@webrtc.org> > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> > Reviewed-by: Erik Språng <sprang@webrtc.org> > Commit-Queue: Seth Hampson <shampson@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21646} TBR=sprang@webrtc.org,stefan@webrtc.org,deadbeef@webrtc.org Bug: webrtc:8630 Change-Id: Ib3df6f9b7158bff362a7ec66fc57e368682c5846 Reviewed-on: https://webrtc-review.googlesource.com/40980 Reviewed-by: Seth Hampson <shampson@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Commit-Queue: Seth Hampson <shampson@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21688}
This commit is contained in:
@ -192,6 +192,15 @@ VideoCodec VideoCodecInitializer::VideoEncoderConfigToVideoCodec(
|
||||
video_codec.numberOfSimulcastStreams =
|
||||
static_cast<unsigned char>(streams.size());
|
||||
video_codec.minBitrate = streams[0].min_bitrate_bps / 1000;
|
||||
bool codec_active = false;
|
||||
for (const VideoStream& stream : streams) {
|
||||
if (stream.active) {
|
||||
codec_active = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Set active for the entire video codec for the non simulcast case.
|
||||
video_codec.active = codec_active;
|
||||
if (video_codec.minBitrate < kEncoderMinBitrateKbps)
|
||||
video_codec.minBitrate = kEncoderMinBitrateKbps;
|
||||
video_codec.timing_frame_thresholds = {kDefaultTimingFramesDelayMs,
|
||||
@ -231,6 +240,7 @@ VideoCodec VideoCodecInitializer::VideoEncoderConfigToVideoCodec(
|
||||
sim_stream->qpMax = streams[i].max_qp;
|
||||
sim_stream->numberOfTemporalLayers = static_cast<unsigned char>(
|
||||
streams[i].temporal_layer_thresholds_bps.size() + 1);
|
||||
sim_stream->active = streams[i].active;
|
||||
|
||||
video_codec.width =
|
||||
std::max(video_codec.width, static_cast<uint16_t>(streams[i].width));
|
||||
|
Reference in New Issue
Block a user