| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 ++set_channel_parameters_count_; | 67 ++set_channel_parameters_count_; |
| 68 return WEBRTC_VIDEO_CODEC_OK; | 68 return WEBRTC_VIDEO_CODEC_OK; |
| 69 } | 69 } |
| 70 | 70 |
| 71 int32_t SetRateAllocation(const BitrateAllocation& bitrate_allocation, | 71 int32_t SetRateAllocation(const BitrateAllocation& bitrate_allocation, |
| 72 uint32_t framerate) override { | 72 uint32_t framerate) override { |
| 73 ++set_rates_count_; | 73 ++set_rates_count_; |
| 74 return WEBRTC_VIDEO_CODEC_OK; | 74 return WEBRTC_VIDEO_CODEC_OK; |
| 75 } | 75 } |
| 76 | 76 |
| 77 void OnDroppedFrame() override { ++on_dropped_frame_count_; } | |
| 78 | |
| 79 bool SupportsNativeHandle() const override { | 77 bool SupportsNativeHandle() const override { |
| 80 ++supports_native_handle_count_; | 78 ++supports_native_handle_count_; |
| 81 return false; | 79 return false; |
| 82 } | 80 } |
| 83 | 81 |
| 84 const char* ImplementationName() const override { | 82 const char* ImplementationName() const override { |
| 85 return "fake-encoder"; | 83 return "fake-encoder"; |
| 86 } | 84 } |
| 87 | 85 |
| 88 int init_encode_count_ = 0; | 86 int init_encode_count_ = 0; |
| 89 int32_t init_encode_return_code_ = WEBRTC_VIDEO_CODEC_OK; | 87 int32_t init_encode_return_code_ = WEBRTC_VIDEO_CODEC_OK; |
| 90 int32_t encode_return_code_ = WEBRTC_VIDEO_CODEC_OK; | 88 int32_t encode_return_code_ = WEBRTC_VIDEO_CODEC_OK; |
| 91 int encode_count_ = 0; | 89 int encode_count_ = 0; |
| 92 EncodedImageCallback* encode_complete_callback_ = nullptr; | 90 EncodedImageCallback* encode_complete_callback_ = nullptr; |
| 93 int release_count_ = 0; | 91 int release_count_ = 0; |
| 94 int set_channel_parameters_count_ = 0; | 92 int set_channel_parameters_count_ = 0; |
| 95 int set_rates_count_ = 0; | 93 int set_rates_count_ = 0; |
| 96 int on_dropped_frame_count_ = 0; | |
| 97 mutable int supports_native_handle_count_ = 0; | 94 mutable int supports_native_handle_count_ = 0; |
| 98 }; | 95 }; |
| 99 | 96 |
| 100 class FakeEncodedImageCallback : public EncodedImageCallback { | 97 class FakeEncodedImageCallback : public EncodedImageCallback { |
| 101 public: | 98 public: |
| 102 Result OnEncodedImage( | 99 Result OnEncodedImage( |
| 103 const EncodedImage& encoded_image, | 100 const EncodedImage& encoded_image, |
| 104 const CodecSpecificInfo* codec_specific_info, | 101 const CodecSpecificInfo* codec_specific_info, |
| 105 const RTPFragmentationHeader* fragmentation) override { | 102 const RTPFragmentationHeader* fragmentation) override { |
| 106 ++callback_count_; | 103 ++callback_count_; |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 TEST_F(VideoEncoderSoftwareFallbackWrapperTest, | 261 TEST_F(VideoEncoderSoftwareFallbackWrapperTest, |
| 265 SetRatesForwardedDuringFallback) { | 262 SetRatesForwardedDuringFallback) { |
| 266 UtilizeFallbackEncoder(); | 263 UtilizeFallbackEncoder(); |
| 267 EXPECT_EQ(1, fake_encoder_.set_rates_count_); | 264 EXPECT_EQ(1, fake_encoder_.set_rates_count_); |
| 268 fallback_wrapper_.SetRateAllocation(BitrateAllocation(), 1); | 265 fallback_wrapper_.SetRateAllocation(BitrateAllocation(), 1); |
| 269 EXPECT_EQ(2, fake_encoder_.set_rates_count_); | 266 EXPECT_EQ(2, fake_encoder_.set_rates_count_); |
| 270 EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK, fallback_wrapper_.Release()); | 267 EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK, fallback_wrapper_.Release()); |
| 271 } | 268 } |
| 272 | 269 |
| 273 TEST_F(VideoEncoderSoftwareFallbackWrapperTest, | 270 TEST_F(VideoEncoderSoftwareFallbackWrapperTest, |
| 274 OnDroppedFrameForwardedWithoutFallback) { | |
| 275 fallback_wrapper_.OnDroppedFrame(); | |
| 276 EXPECT_EQ(1, fake_encoder_.on_dropped_frame_count_); | |
| 277 } | |
| 278 | |
| 279 TEST_F(VideoEncoderSoftwareFallbackWrapperTest, | |
| 280 OnDroppedFrameNotForwardedDuringFallback) { | |
| 281 UtilizeFallbackEncoder(); | |
| 282 fallback_wrapper_.OnDroppedFrame(); | |
| 283 EXPECT_EQ(0, fake_encoder_.on_dropped_frame_count_); | |
| 284 EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK, fallback_wrapper_.Release()); | |
| 285 } | |
| 286 | |
| 287 TEST_F(VideoEncoderSoftwareFallbackWrapperTest, | |
| 288 SupportsNativeHandleForwardedWithoutFallback) { | 271 SupportsNativeHandleForwardedWithoutFallback) { |
| 289 fallback_wrapper_.SupportsNativeHandle(); | 272 fallback_wrapper_.SupportsNativeHandle(); |
| 290 EXPECT_EQ(1, fake_encoder_.supports_native_handle_count_); | 273 EXPECT_EQ(1, fake_encoder_.supports_native_handle_count_); |
| 291 } | 274 } |
| 292 | 275 |
| 293 TEST_F(VideoEncoderSoftwareFallbackWrapperTest, | 276 TEST_F(VideoEncoderSoftwareFallbackWrapperTest, |
| 294 SupportsNativeHandleNotForwardedDuringFallback) { | 277 SupportsNativeHandleNotForwardedDuringFallback) { |
| 295 UtilizeFallbackEncoder(); | 278 UtilizeFallbackEncoder(); |
| 296 fallback_wrapper_.SupportsNativeHandle(); | 279 fallback_wrapper_.SupportsNativeHandle(); |
| 297 EXPECT_EQ(0, fake_encoder_.supports_native_handle_count_); | 280 EXPECT_EQ(0, fake_encoder_.supports_native_handle_count_); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 308 | 291 |
| 309 TEST_F(VideoEncoderSoftwareFallbackWrapperTest, | 292 TEST_F(VideoEncoderSoftwareFallbackWrapperTest, |
| 310 ReportsFallbackImplementationName) { | 293 ReportsFallbackImplementationName) { |
| 311 UtilizeFallbackEncoder(); | 294 UtilizeFallbackEncoder(); |
| 312 // Hard coded expected value since libvpx is the software implementation name | 295 // Hard coded expected value since libvpx is the software implementation name |
| 313 // for VP8. Change accordingly if the underlying implementation does. | 296 // for VP8. Change accordingly if the underlying implementation does. |
| 314 CheckLastEncoderName("libvpx"); | 297 CheckLastEncoderName("libvpx"); |
| 315 } | 298 } |
| 316 | 299 |
| 317 } // namespace webrtc | 300 } // namespace webrtc |
| OLD | NEW |