Reland "Add EncodedImageCallback::OnEncodedImage without RTPFragmentationHeader"

This is a reland of fdd41ecf6b05b02a1ee12583e537f1cdb5922919

Original change's description:
> Add EncodedImageCallback::OnEncodedImage without RTPFragmentationHeader
> 
> RTPFragmentationHeader is no longer used by any webrtc code.
> 
> Bug: webrtc:6471
> Change-Id: I1362d58465c550f5c8e0a5b292dc0abcd6251431
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180120
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31833}

Bug: webrtc:6471
Change-Id: I7f551110a68704bfe12897772083c3616acd173c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180881
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31848}
This commit is contained in:
Danil Chapovalov 2020-08-04 13:05:43 +02:00 committed by Commit Bot
parent d3511010d9
commit 0490c37126
3 changed files with 28 additions and 5 deletions

View File

@ -26,6 +26,10 @@ class MockEncodedImageCallback : public EncodedImageCallback {
const CodecSpecificInfo*,
const RTPFragmentationHeader*),
(override));
MOCK_METHOD(Result,
OnEncodedImage,
(const EncodedImage&, const CodecSpecificInfo*),
(override));
MOCK_METHOD(void, OnDroppedFrame, (DropReason reason), (override));
};

View File

@ -18,6 +18,19 @@
namespace webrtc {
EncodedImageCallback::Result EncodedImageCallback::OnEncodedImage(
const EncodedImage& encoded_image,
const CodecSpecificInfo* codec_specific_info,
const RTPFragmentationHeader* /*fragmentation*/) {
return OnEncodedImage(encoded_image, codec_specific_info);
}
EncodedImageCallback::Result EncodedImageCallback::OnEncodedImage(
const EncodedImage& encoded_image,
const CodecSpecificInfo* codec_specific_info) {
return OnEncodedImage(encoded_image, codec_specific_info, nullptr);
}
// TODO(mflodman): Add default complexity for VP9 and VP9.
VideoCodecVP8 VideoEncoder::GetDefaultVp8Settings() {
VideoCodecVP8 vp8_settings;

View File

@ -36,7 +36,7 @@ struct CodecSpecificInfo;
constexpr int kDefaultMinPixelsPerFrame = 320 * 180;
class EncodedImageCallback {
class RTC_EXPORT EncodedImageCallback {
public:
virtual ~EncodedImageCallback() {}
@ -73,10 +73,16 @@ class EncodedImageCallback {
};
// Callback function which is called when an image has been encoded.
virtual Result OnEncodedImage(
const EncodedImage& encoded_image,
// Deprecated, use OnEncodedImage below instead, see bugs.webrtc.org/6471
virtual Result OnEncodedImage(const EncodedImage& encoded_image,
const CodecSpecificInfo* codec_specific_info,
const RTPFragmentationHeader* fragmentation) = 0;
const RTPFragmentationHeader* fragmentation);
// Callback function which is called when an image has been encoded.
// TODO(bugs.webrtc.org/6471): Make pure virtual
// when OnEncodedImage above is deleted.
virtual Result OnEncodedImage(const EncodedImage& encoded_image,
const CodecSpecificInfo* codec_specific_info);
virtual void OnDroppedFrame(DropReason reason) {}
};