Chromium Code Reviews| Index: webrtc/modules/video_coding/video_sender.cc | 
| diff --git a/webrtc/modules/video_coding/video_sender.cc b/webrtc/modules/video_coding/video_sender.cc | 
| index 3a1debae520f7e1f40f9488ebd079d00ba98ce98..958f0ed93404fdd37ead22b6233cc431aa239d98 100644 | 
| --- a/webrtc/modules/video_coding/video_sender.cc | 
| +++ b/webrtc/modules/video_coding/video_sender.cc | 
| @@ -47,6 +47,7 @@ VideoSender::VideoSender(Clock* clock, | 
| // one external project (diffractor). | 
| _mediaOpt.EnableQM(qm_settings_callback_ != nullptr); | 
| _mediaOpt.Reset(); | 
| + _encodedFrameCallback.SetMediaOpt(&_mediaOpt); | 
| main_thread_.DetachFromThread(); | 
| } | 
| @@ -55,11 +56,19 @@ VideoSender::~VideoSender() {} | 
| void VideoSender::Process() { | 
| if (_sendStatsTimer.TimeUntilProcess() == 0) { | 
| _sendStatsTimer.Processed(); | 
| + std::string implementation_name; | 
| + { | 
| + rtc::CritScope cs(&encoder_crit_); | 
| 
 
pbos-webrtc
2016/04/20 13:48:26
I don't like that ::Process starts blocking on enc
 
 | 
| + if (_encoder) { | 
| + implementation_name = _encoder->ImplementationName(); | 
| + } | 
| + } | 
| rtc::CritScope cs(&process_crit_); | 
| if (_sendStatsCallback != nullptr) { | 
| uint32_t bitRate = _mediaOpt.SentBitRate(); | 
| uint32_t frameRate = _mediaOpt.SentFrameRate(); | 
| - _sendStatsCallback->SendStatistics(bitRate, frameRate); | 
| + _sendStatsCallback->SendStatistics(bitRate, frameRate, | 
| + std::move(implementation_name)); | 
| } | 
| } | 
| @@ -235,14 +244,6 @@ void VideoSender::SetEncoderParameters(EncoderParameters params) { | 
| _encoder->SetEncoderParameters(params); | 
| } | 
| -int32_t VideoSender::RegisterTransportCallback( | 
| - VCMPacketizationCallback* transport) { | 
| - rtc::CritScope lock(&encoder_crit_); | 
| - _encodedFrameCallback.SetMediaOpt(&_mediaOpt); | 
| - _encodedFrameCallback.SetTransportCallback(transport); | 
| - return VCM_OK; | 
| -} | 
| - | 
| // Register video output information callback which will be called to deliver | 
| // information about the video stream produced by the encoder, for instance the | 
| // average frame rate and bit rate. |