RTPHeader is not exported, so the TransformableIncomingAudioFrame can't be mocked in chrome tests, using a getter instead.
Bug: chromium:1247260
Change-Id: I2af4e6a88b3f4772b3bb50ee0ae9d5c80fed3ae4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278785
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38352}
Currently the implementation of FrameTransformers uses distinct,
incompatible types for recevied vs about-to-be-sent frames. This adds a
flag in the interface so we can at least check that we are being given
the correct type. crbug.com/1250638 tracks removing the need for this.
Chrome will be updated after this to check the direction flag and provide
a javascript error if the wrong type of frame is written into the
encoded insertable streams writable stream, rather than crashing.
Bug: chromium:1247260
Change-Id: I9cbb66962ea0718ed47c5e5dba19a8ff9635b0b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232301
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tony Herre <toprice@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35100}
This reverts commit eb89027733.
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 209ac5fd95.
>
> 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<blink::(anonymous namespace)::MockTransformableVideoFrame>'
> 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<testing::NiceMock<blink::(anonymous namespace)::MockTransformableVideoFrame>>' requested here
> auto mock_frame = std::make_unique<NiceMock<MockTransformableVideoFrame>>();
> ^
> ../../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 <hta@webrtc.org>
> > Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
> > 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 <olka@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Olga Sharonova <olka@webrtc.org>
> 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 <olka@webrtc.org>
Commit-Queue: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34901}
This reverts commit 209ac5fd95.
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<blink::(anonymous namespace)::MockTransformableVideoFrame>'
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<testing::NiceMock<blink::(anonymous namespace)::MockTransformableVideoFrame>>' requested here
auto mock_frame = std::make_unique<NiceMock<MockTransformableVideoFrame>>();
^
../../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 <hta@webrtc.org>
> Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
> 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 <olka@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34891}
This reverts commit 576ad5d510.
Reason for revert: Causes compile error in Chrome.
Original change's description:
> Make TransformableVideoFrameInterface::GetMetadata pure virtual.
>
> GetMetadata() has been implemented downstream and can be made pure
> virtual.
>
> Bug: chromium:1069295
> Change-Id: I62a3be6106552d2d82d8c413c6f523d31626b0d8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175001
> Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31281}
TBR=hta@webrtc.org,marinaciocea@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:1069295
Change-Id: I5915270d5b8dab9fc30a07f22fddedb29beca01a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175620
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31304}
GetMetadata() has been implemented downstream and can be made pure
virtual.
Bug: chromium:1069295
Change-Id: I62a3be6106552d2d82d8c413c6f523d31626b0d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175001
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31281}
Define VideoHeaderMetadata, containing a subset of the metadata in RTP
video header, and expose it the TransformableVideoFrameInterface, to
enable web application to compute additional data according to their own
logic, and eventually remove GetAdditionalData() from the interface.
Bug: chromium:1069295
Change-Id: Id85b494a72cfd8bdd4c0614844b9f0ffae98c956
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174822
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31265}
Add new methods in the FrameTransformerInterfaces, passing the ssrc on
registering the transformed frame callback, to associate separate frame
transformer sinks for each ssrc. Same for unregister.
Bug: chromium:1065838
Change-Id: I8a406815e9d0cce5199f9df06c286d8b10d75b4d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173183
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31047}
Add a new frame interface to be used by frame transformers in Insertable
Streams. TransformableFrameInterface will replace
video_coding::EncodedFrame in a follow up CL, once downstream
dependecies are updated to use the new interface.
Until the functions using video_coding::EncodedFrame are removed from
the API, the video sender and receiver frame transformer delegates call
both function versions to avoid breaking tests downstream.
The TransformableFrameInterface will be used for both audio and video
frame transformers in follow-up CLs.
Bug: webrtc:11380
Change-Id: I9389a8549c156e13b1d8c938ff51eaa69c502f33
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171863
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30941}