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. |