Chromium Code Reviews| Index: webrtc/modules/video_coding/main/source/generic_decoder.cc |
| diff --git a/webrtc/modules/video_coding/main/source/generic_decoder.cc b/webrtc/modules/video_coding/main/source/generic_decoder.cc |
| index f874e163c83f6ad3a3362cefe32a014f23585059..0e2451402709b5c352e340d5389108bacc2f427a 100644 |
| --- a/webrtc/modules/video_coding/main/source/generic_decoder.cc |
| +++ b/webrtc/modules/video_coding/main/source/generic_decoder.cc |
| @@ -18,15 +18,12 @@ namespace webrtc { |
| VCMDecodedFrameCallback::VCMDecodedFrameCallback(VCMTiming& timing, |
| Clock* clock) |
| -: |
| -_critSect(CriticalSectionWrapper::CreateCriticalSection()), |
| -_clock(clock), |
| -_receiveCallback(NULL), |
| -_timing(timing), |
| -_timestampMap(kDecoderFrameMemoryLength), |
| -_lastReceivedPictureID(0) |
| -{ |
| -} |
| + : _critSect(CriticalSectionWrapper::CreateCriticalSection()), |
| + _clock(clock), |
| + _receiveCallback(NULL), |
| + _timing(timing), |
| + _timestampMap(kDecoderFrameMemoryLength), |
| + _lastReceivedPictureID(0) {} |
| VCMDecodedFrameCallback::~VCMDecodedFrameCallback() |
| { |
| @@ -102,6 +99,13 @@ uint64_t VCMDecodedFrameCallback::LastReceivedPictureID() const |
| return _lastReceivedPictureID; |
| } |
| +void VCMDecodedFrameCallback::OnDecoderImplementationName( |
| + const char* implementation_name) { |
| + CriticalSectionScoped cs(_critSect); |
| + if (_receiveCallback) |
| + _receiveCallback->OnDecoderImplementationName(implementation_name); |
| +} |
| + |
| void VCMDecodedFrameCallback::Map(uint32_t timestamp, |
| VCMFrameInformation* frameInfo) { |
| CriticalSectionScoped cs(_critSect); |
| @@ -157,6 +161,7 @@ int32_t VCMGenericDecoder::Decode(const VCMEncodedFrame& frame, |
| frame.CodecSpecific(), |
| frame.RenderTimeMs()); |
| + _callback->OnDecoderImplementationName(_decoder.ImplementationName()); |
|
stefan-webrtc
2015/10/16 07:47:03
Can't we call this only when the implementation ac
pbos-webrtc
2015/10/16 13:12:05
Problem is that the interface doesn't allow us to
stefan-webrtc
2015/10/22 09:33:34
Acknowledged.
mflodman
2015/12/18 13:02:43
I don't understand why we can't know this, let's d
pbos-webrtc
2015/12/18 13:07:55
Software fallback happens silently inside VideoDec
|
| if (ret < WEBRTC_VIDEO_CODEC_OK) |
| { |
| LOG(LS_WARNING) << "Failed to decode frame with timestamp " |