Index: webrtc/video/video_encoder.cc |
diff --git a/webrtc/video/video_encoder.cc b/webrtc/video/video_encoder.cc |
index 6410e395fc3394abd60000f2246a7181f64840d5..e85e3d97a72f6118883d5877485e86ef9fc4f2d7 100644 |
--- a/webrtc/video/video_encoder.cc |
+++ b/webrtc/video/video_encoder.cc |
@@ -76,6 +76,9 @@ bool VideoEncoderSoftwareFallbackWrapper::InitFallbackEncoder() { |
if (channel_parameters_set_) |
fallback_encoder_->SetChannelParameters(packet_loss_, rtt_); |
+ fallback_implementation_name_ = |
+ std::string(fallback_encoder_->ImplementationName()) + |
+ " (fallback from: " + encoder_->ImplementationName() + ")"; |
// Since we're switching to the fallback encoder, Release the real encoder. It |
// may be re-initialized via InitEncode later, and it will continue to get |
// Set calls for rates and channel parameters in the meantime. |
@@ -182,6 +185,12 @@ bool VideoEncoderSoftwareFallbackWrapper::SupportsNativeHandle() const { |
return encoder_->SupportsNativeHandle(); |
} |
+const char* VideoEncoderSoftwareFallbackWrapper::ImplementationName() const { |
+ if (fallback_encoder_) |
+ return fallback_implementation_name_.c_str(); |
+ return encoder_->ImplementationName(); |
+} |
+ |
int VideoEncoderSoftwareFallbackWrapper::GetTargetFramerate() { |
if (fallback_encoder_) |
return fallback_encoder_->GetTargetFramerate(); |