Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(703)

Side by Side Diff: webrtc/modules/video_coding/include/video_coding.h

Issue 2755803004: Delete video_coding_robustness_unittest.cc (Closed)
Patch Set: Bring back morar impl Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/modules/video_coding/BUILD.gn ('k') | webrtc/modules/video_coding/video_coding_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 // decodable, video will freeze if nack is disabled. 64 // decodable, video will freeze if nack is disabled.
65 kWithErrors // Release frames as needed. Errors may be 65 kWithErrors // Release frames as needed. Errors may be
66 // introduced as some encoded frames may not be 66 // introduced as some encoded frames may not be
67 // complete. 67 // complete.
68 }; 68 };
69 69
70 class VideoCodingModule : public Module { 70 class VideoCodingModule : public Module {
71 public: 71 public:
72 enum SenderNackMode { kNackNone, kNackAll, kNackSelective }; 72 enum SenderNackMode { kNackNone, kNackAll, kNackSelective };
73 73
74 enum ReceiverRobustness { kNone, kHardNack, kSoftNack, kReferenceSelection }; 74 // DEPRECATED.
75
76 static VideoCodingModule* Create(Clock* clock, EventFactory* event_factory); 75 static VideoCodingModule* Create(Clock* clock, EventFactory* event_factory);
77 76
78 static VideoCodingModule* Create(
79 Clock* clock,
80 VCMQMSettingsCallback* qm_settings_callback,
81 NackSender* nack_sender,
82 KeyFrameRequestSender* keyframe_request_sender,
83 EncodedImageCallback* pre_decode_image_callback);
84
85 static VideoCodingModule* Create(
86 Clock* clock,
87 EventFactory* event_factory,
88 NackSender* nack_sender,
89 KeyFrameRequestSender* keyframe_request_sender);
90
91 // Get supported codec settings using codec type 77 // Get supported codec settings using codec type
92 // 78 //
93 // Input: 79 // Input:
94 // - codecType : The codec type to get settings for 80 // - codecType : The codec type to get settings for
95 // - codec : Memory where the codec settings will be stored 81 // - codec : Memory where the codec settings will be stored
96 // 82 //
97 // Return value : VCM_OK, on success 83 // Return value : VCM_OK, on success
98 // VCM_PARAMETER_ERROR if codec not supported 84 // VCM_PARAMETER_ERROR if codec not supported
99 static void Codec(VideoCodecType codecType, VideoCodec* codec); 85 static void Codec(VideoCodecType codecType, VideoCodec* codec);
100 86
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 375
390 // The total delay desired by the VCM. Can be less than the minimum 376 // The total delay desired by the VCM. Can be less than the minimum
391 // delay set with SetMinimumPlayoutDelay. 377 // delay set with SetMinimumPlayoutDelay.
392 // 378 //
393 // Return value : Total delay in ms, on success. 379 // Return value : Total delay in ms, on success.
394 // < 0, on error. 380 // < 0, on error.
395 virtual int32_t Delay() const = 0; 381 virtual int32_t Delay() const = 0;
396 382
397 // Robustness APIs 383 // Robustness APIs
398 384
385 // DEPRECATED.
399 // Set the receiver robustness mode. The mode decides how the receiver 386 // Set the receiver robustness mode. The mode decides how the receiver
400 // responds to losses in the stream. The type of counter-measure (soft or 387 // responds to losses in the stream. The type of counter-measure is selected
401 // hard NACK, dual decoder, RPS, etc.) is selected through the 388 // through the robustnessMode parameter. The errorMode parameter decides if it
402 // robustnessMode parameter. The errorMode parameter decides if it is 389 // is allowed to display frames corrupted by losses. Note that not all
403 // allowed to display frames corrupted by losses. Note that not all
404 // combinations of the two parameters are feasible. An error will be 390 // combinations of the two parameters are feasible. An error will be
405 // returned for invalid combinations. 391 // returned for invalid combinations.
406 // Input: 392 // Input:
407 // - robustnessMode : selected robustness mode. 393 // - robustnessMode : selected robustness mode.
408 // - errorMode : selected error mode. 394 // - errorMode : selected error mode.
409 // 395 //
410 // Return value : VCM_OK, on success; 396 // Return value : VCM_OK, on success;
411 // < 0, on error. 397 // < 0, on error.
398 enum ReceiverRobustness { kNone, kHardNack };
412 virtual int SetReceiverRobustnessMode(ReceiverRobustness robustnessMode, 399 virtual int SetReceiverRobustnessMode(ReceiverRobustness robustnessMode,
413 VCMDecodeErrorMode errorMode) = 0; 400 VCMDecodeErrorMode errorMode) = 0;
414 401
415 // Set the decode error mode. The mode decides which errors (if any) are 402 // Set the decode error mode. The mode decides which errors (if any) are
416 // allowed in decodable frames. Note that setting decode_error_mode to 403 // allowed in decodable frames. Note that setting decode_error_mode to
417 // anything other than kWithErrors without enabling nack will cause 404 // anything other than kWithErrors without enabling nack will cause
418 // long-term freezes (resulting from frequent key frame requests) if 405 // long-term freezes (resulting from frequent key frame requests) if
419 // packet loss occurs. 406 // packet loss occurs.
420 virtual void SetDecodeErrorMode(VCMDecodeErrorMode decode_error_mode) = 0; 407 virtual void SetDecodeErrorMode(VCMDecodeErrorMode decode_error_mode) = 0;
421 408
(...skipping 13 matching lines...) Expand all
435 422
436 virtual void RegisterPostEncodeImageCallback( 423 virtual void RegisterPostEncodeImageCallback(
437 EncodedImageCallback* post_encode_callback) = 0; 424 EncodedImageCallback* post_encode_callback) = 0;
438 // Releases pending decode calls, permitting faster thread shutdown. 425 // Releases pending decode calls, permitting faster thread shutdown.
439 virtual void TriggerDecoderShutdown() = 0; 426 virtual void TriggerDecoderShutdown() = 0;
440 }; 427 };
441 428
442 } // namespace webrtc 429 } // namespace webrtc
443 430
444 #endif // WEBRTC_MODULES_VIDEO_CODING_INCLUDE_VIDEO_CODING_H_ 431 #endif // WEBRTC_MODULES_VIDEO_CODING_INCLUDE_VIDEO_CODING_H_
OLDNEW
« no previous file with comments | « webrtc/modules/video_coding/BUILD.gn ('k') | webrtc/modules/video_coding/video_coding_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698