Extend mocks for public types

Extends the mocks for rtpreceiver rtpsender and videotrack. This change
allows the external HangoutsKit client to remove its own mocks of rtc
types.

Bug: none
Change-Id: I8ba1752fe7633f9e0bba264a1279f74cc1368a2c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/282900
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jack Smith <jackdsmith@google.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38782}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index 798fa13..dfb2aa1 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -1219,6 +1219,7 @@
     deps = [
       ":libjingle_peerconnection_api",
       ":rtp_sender_interface",
+      "../api/crypto:frame_decryptor_interface",
       "../test:test_support",
     ]
   }
diff --git a/api/test/mock_audio_sink.h b/api/test/mock_audio_sink.h
index 0c17dc4..88f38a3 100644
--- a/api/test/mock_audio_sink.h
+++ b/api/test/mock_audio_sink.h
@@ -17,7 +17,7 @@
 
 namespace webrtc {
 
-class MockAudioSink final : public webrtc::AudioTrackSinkInterface {
+class MockAudioSink : public webrtc::AudioTrackSinkInterface {
  public:
   MOCK_METHOD(void,
               OnData,
diff --git a/api/test/mock_data_channel.h b/api/test/mock_data_channel.h
index 40f7edb..38730ea 100644
--- a/api/test/mock_data_channel.h
+++ b/api/test/mock_data_channel.h
@@ -18,7 +18,7 @@
 
 namespace webrtc {
 
-class MockDataChannelInterface final
+class MockDataChannelInterface
     : public rtc::RefCountedObject<webrtc::DataChannelInterface> {
  public:
   static rtc::scoped_refptr<MockDataChannelInterface> Create() {
diff --git a/api/test/mock_media_stream_interface.h b/api/test/mock_media_stream_interface.h
index 2099623..dfdbab3 100644
--- a/api/test/mock_media_stream_interface.h
+++ b/api/test/mock_media_stream_interface.h
@@ -18,8 +18,7 @@
 
 namespace webrtc {
 
-class MockAudioSource final
-    : public rtc::RefCountedObject<AudioSourceInterface> {
+class MockAudioSource : public rtc::RefCountedObject<AudioSourceInterface> {
  public:
   static rtc::scoped_refptr<MockAudioSource> Create() {
     return rtc::scoped_refptr<MockAudioSource>(new MockAudioSource());
@@ -52,7 +51,7 @@
   MockAudioSource() = default;
 };
 
-class MockAudioTrack final : public rtc::RefCountedObject<AudioTrackInterface> {
+class MockAudioTrack : public rtc::RefCountedObject<AudioTrackInterface> {
  public:
   static rtc::scoped_refptr<MockAudioTrack> Create() {
     return rtc::scoped_refptr<MockAudioTrack>(new MockAudioTrack());
diff --git a/api/test/mock_peer_connection_factory_interface.h b/api/test/mock_peer_connection_factory_interface.h
index 6bab595..ae1fbfb 100644
--- a/api/test/mock_peer_connection_factory_interface.h
+++ b/api/test/mock_peer_connection_factory_interface.h
@@ -19,7 +19,7 @@
 
 namespace webrtc {
 
-class MockPeerConnectionFactoryInterface final
+class MockPeerConnectionFactoryInterface
     : public rtc::RefCountedObject<webrtc::PeerConnectionFactoryInterface> {
  public:
   static rtc::scoped_refptr<MockPeerConnectionFactoryInterface> Create() {
diff --git a/api/test/mock_rtpreceiver.h b/api/test/mock_rtpreceiver.h
index 4bcf064..63318dc 100644
--- a/api/test/mock_rtpreceiver.h
+++ b/api/test/mock_rtpreceiver.h
@@ -14,6 +14,7 @@
 #include <string>
 #include <vector>
 
+#include "api/crypto/frame_decryptor_interface.h"
 #include "api/rtp_receiver_interface.h"
 #include "test/gmock.h"
 
@@ -32,12 +33,24 @@
   MOCK_METHOD(cricket::MediaType, media_type, (), (const, override));
   MOCK_METHOD(std::string, id, (), (const, override));
   MOCK_METHOD(RtpParameters, GetParameters, (), (const, override));
+  MOCK_METHOD(bool,
+              SetParameters,
+              (const webrtc::RtpParameters& parameters),
+              (override));
   MOCK_METHOD(void, SetObserver, (RtpReceiverObserverInterface*), (override));
   MOCK_METHOD(void,
               SetJitterBufferMinimumDelay,
               (absl::optional<double>),
               (override));
   MOCK_METHOD(std::vector<RtpSource>, GetSources, (), (const, override));
+  MOCK_METHOD(void,
+              SetFrameDecryptor,
+              (rtc::scoped_refptr<webrtc::FrameDecryptorInterface>),
+              (override));
+  MOCK_METHOD(rtc::scoped_refptr<webrtc::FrameDecryptorInterface>,
+              GetFrameDecryptor,
+              (),
+              (const, override));
 };
 
 }  // namespace webrtc
diff --git a/api/test/mock_video_track.h b/api/test/mock_video_track.h
index 705d135..1212a32 100644
--- a/api/test/mock_video_track.h
+++ b/api/test/mock_video_track.h
@@ -20,7 +20,7 @@
 
 namespace webrtc {
 
-class MockVideoTrack final
+class MockVideoTrack
     : public rtc::RefCountedObject<webrtc::VideoTrackInterface> {
  public:
   static rtc::scoped_refptr<MockVideoTrack> Create() {