From 92e9ff6b709b6f55982e96fe90fe7d2366a7af51 Mon Sep 17 00:00:00 2001 From: Olga Sharonova Date: Thu, 2 Sep 2021 07:58:21 +0000 Subject: [PATCH] Reland "frame transformer: make GetPayloadType pure virtual again" This reverts commit eb89027733c511962120a5f7fd309d1893ad389c. Reason for revert: We got a successful WebRTC roll into Chromium at last. Relanding, as the issue should be fixed in Chromium by now. TBR=hta@webrtc.org,philipp.hancke@googlemail.com Original change's description: > Revert "frame transformer: make GetPayloadType pure virtual again" > > This reverts commit 209ac5fd95594ab3834dad3e3dbd14c8196637bc. > > Reason for revert: Breaks WebRTC autoroll presubmit: > https://chromium-review.googlesource.com/c/chromium/src/+/3134502 > Example failure https://ci.chromium.org/ui/p/chromium/builders/try/mac-rel/775468/overview > > ../../buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h:725:32: error: allocating an object of abstract class type 'testing::NiceMock' > return unique_ptr<_Tp>(new _Tp(_VSTD::forward<_Args>(__args)...)); > ^ > ../../third_party/blink/renderer/platform/peerconnection/rtc_encoded_video_stream_transformer_test.cc:69:26: note: in instantiation of function template specialization 'std::make_unique>' requested here > auto mock_frame = std::make_unique>(); > ^ > ../../third_party/webrtc/api/frame_transformer_interface.h:36:19: note: unimplemented pure virtual method 'GetPayloadType' in 'NiceMock' > virtual uint8_t GetPayloadType() const = 0; > ^ > > > Original change's description: > > frame transformer: make GetPayloadType pure virtual again > > > > after chrome was updated in > > https://chromium-review.googlesource.com/c/chromium/src/+/3103323 > > > > BUG=webrtc:13077 > > > > Change-Id: I7e5ff6aaae81c5dcfbaa41b09ef01bc95bb7251a > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/230143 > > Reviewed-by: Harald Alvestrand > > Commit-Queue: Philipp Hancke > > Cr-Commit-Position: refs/heads/main@{#34877} > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: webrtc:13077 > Change-Id: I6b2e4e2804890c857f1f832a6a4faa614ec026c4 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/230920 > Reviewed-by: Olga Sharonova > Reviewed-by: Harald Alvestrand > Commit-Queue: Olga Sharonova > Cr-Commit-Position: refs/heads/main@{#34891} # Not skipping CQ checks because this is a reland. Bug: webrtc:13077 Change-Id: I8414f74be87aad62166a95fac0cd400257fd25a4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231120 Reviewed-by: Olga Sharonova Commit-Queue: Olga Sharonova Cr-Commit-Position: refs/heads/main@{#34901} --- api/frame_transformer_interface.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/api/frame_transformer_interface.h b/api/frame_transformer_interface.h index ca3a15af1b..7653bee3fb 100644 --- a/api/frame_transformer_interface.h +++ b/api/frame_transformer_interface.h @@ -33,9 +33,7 @@ class TransformableFrameInterface { // Copies `data` into the owned frame payload data. virtual void SetData(rtc::ArrayView data) = 0; - // TODO(bugs.webrtc.org/13077) make pure virtual again after rolling into - // Chrome. - virtual uint8_t GetPayloadType() const { return 255; } + virtual uint8_t GetPayloadType() const = 0; virtual uint32_t GetSsrc() const = 0; virtual uint32_t GetTimestamp() const = 0; };