Index: webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.cc |
diff --git a/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.cc b/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.cc |
index 3e03cda21aed2eb3e5b72ba5891ab2a7a7a51642..0a17e743f7ce20ddefd1e370579c50decbfc70b8 100644 |
--- a/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.cc |
+++ b/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.cc |
@@ -136,7 +136,9 @@ class AdapterEncodedImageCallback : public webrtc::EncodedImageCallback { |
namespace webrtc { |
SimulcastEncoderAdapter::SimulcastEncoderAdapter(VideoEncoderFactory* factory) |
- : factory_(factory), encoded_complete_callback_(NULL) { |
+ : factory_(factory), |
+ encoded_complete_callback_(NULL), |
+ implementation_name_("SimulcastEncoderAdapter") { |
memset(&codec_, 0, sizeof(webrtc::VideoCodec)); |
} |
@@ -192,6 +194,7 @@ int SimulcastEncoderAdapter::InitEncode(const VideoCodec* inst, |
codec_.codecSpecific.VP8.tl_factory = screensharing_tl_factory_.get(); |
} |
+ std::string implementation_name; |
// Create |number_of_streams| of encoder instances and init them. |
for (int i = 0; i < number_of_streams; ++i) { |
VideoCodec stream_codec; |
@@ -221,7 +224,12 @@ int SimulcastEncoderAdapter::InitEncode(const VideoCodec* inst, |
encoder->RegisterEncodeCompleteCallback(callback); |
streaminfos_.push_back(StreamInfo(encoder, callback, stream_codec.width, |
stream_codec.height, send_stream)); |
+ if (i != 0) |
+ implementation_name += ", "; |
+ implementation_name += streaminfos_[i].encoder->ImplementationName(); |
} |
+ implementation_name_ = |
+ "SimulcastEncoderAdapter (" + implementation_name + ")"; |
return WEBRTC_VIDEO_CODEC_OK; |
} |
@@ -494,10 +502,7 @@ bool SimulcastEncoderAdapter::SupportsNativeHandle() const { |
} |
const char* SimulcastEncoderAdapter::ImplementationName() const { |
- // We should not be calling this method before streaminfos_ are configured. |
- RTC_DCHECK(!streaminfos_.empty()); |
- // TODO(pbos): Support multiple implementation names for different encoders. |
- return streaminfos_[0].encoder->ImplementationName(); |
+ return implementation_name_.c_str(); |
} |
} // namespace webrtc |