Pass the encoder's internal source property through to video_sender to request a keyframe from the external encoder
BUG= Review URL: https://codereview.webrtc.org/1263663005 Cr-Commit-Position: refs/heads/master@{#9853}
This commit is contained in:
parent
dfbe679ded
commit
47d78cc8ad
@ -2025,6 +2025,11 @@ void WebRtcVideoChannel2::WebRtcVideoSendStream::SetCodecAndOptions(
|
||||
parameters_.config.encoder_settings.encoder = new_encoder.encoder;
|
||||
parameters_.config.encoder_settings.payload_name = codec_settings.codec.name;
|
||||
parameters_.config.encoder_settings.payload_type = codec_settings.codec.id;
|
||||
if (new_encoder.external) {
|
||||
webrtc::VideoCodecType type = CodecTypeFromName(codec_settings.codec.name);
|
||||
parameters_.config.encoder_settings.internal_source =
|
||||
external_encoder_factory_->EncoderTypeHasInternalSource(type);
|
||||
}
|
||||
parameters_.config.rtp.fec = codec_settings.fec;
|
||||
|
||||
// Set RTX payload type if RTX is enabled.
|
||||
|
||||
@ -171,10 +171,10 @@ VideoSendStream::VideoSendStream(
|
||||
DCHECK(config.encoder_settings.encoder != nullptr);
|
||||
DCHECK_GE(config.encoder_settings.payload_type, 0);
|
||||
DCHECK_LE(config.encoder_settings.payload_type, 127);
|
||||
// TODO(pbos): Wire up codec internal-source setting or remove setting.
|
||||
CHECK_EQ(0, vie_encoder_->RegisterExternalEncoder(
|
||||
config.encoder_settings.encoder,
|
||||
config.encoder_settings.payload_type, false));
|
||||
config.encoder_settings.payload_type,
|
||||
config.encoder_settings.internal_source));
|
||||
|
||||
CHECK(ReconfigureVideoEncoder(encoder_config));
|
||||
|
||||
|
||||
@ -77,6 +77,10 @@ class VideoSendStream : public SendStream {
|
||||
std::string payload_name;
|
||||
int payload_type = -1;
|
||||
|
||||
// TODO(sophiechang): Delete this field when no one is using internal
|
||||
// sources anymore.
|
||||
bool internal_source = false;
|
||||
|
||||
// Uninitialized VideoEncoder instance to be used for encoding. Will be
|
||||
// initialized from inside the VideoSendStream.
|
||||
VideoEncoder* encoder = nullptr;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user