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

Side by Side Diff: webrtc/api/rtpsenderreceiver_unittest.cc

Issue 1788583004: Enable setting the maximum bitrate limit in RtpSender. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased on top of the latest master branch Created 4 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/api/rtpsenderinterface.h ('k') | webrtc/api/webrtcsession.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 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright 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
11 #include <string> 11 #include <string>
12 #include <utility> 12 #include <utility>
13 13
14 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 #include "webrtc/api/audiotrack.h" 16 #include "webrtc/api/audiotrack.h"
17 #include "webrtc/api/mediastream.h" 17 #include "webrtc/api/mediastream.h"
18 #include "webrtc/api/remoteaudiosource.h" 18 #include "webrtc/api/remoteaudiosource.h"
19 #include "webrtc/api/rtpreceiver.h" 19 #include "webrtc/api/rtpreceiver.h"
20 #include "webrtc/api/rtpsender.h" 20 #include "webrtc/api/rtpsender.h"
21 #include "webrtc/api/streamcollection.h" 21 #include "webrtc/api/streamcollection.h"
22 #include "webrtc/api/videotracksource.h" 22 #include "webrtc/api/videotracksource.h"
23 #include "webrtc/api/videotrack.h" 23 #include "webrtc/api/videotrack.h"
24 #include "webrtc/base/gunit.h" 24 #include "webrtc/base/gunit.h"
25 #include "webrtc/media/base/fakevideocapturer.h" 25 #include "webrtc/media/base/fakevideocapturer.h"
26 #include "webrtc/media/base/mediachannel.h" 26 #include "webrtc/media/base/mediachannel.h"
27 27
28 using ::testing::_; 28 using ::testing::_;
29 using ::testing::Exactly; 29 using ::testing::Exactly;
30 using ::testing::Return;
30 31
31 static const char kStreamLabel1[] = "local_stream_1"; 32 static const char kStreamLabel1[] = "local_stream_1";
32 static const char kVideoTrackId[] = "video_1"; 33 static const char kVideoTrackId[] = "video_1";
33 static const char kAudioTrackId[] = "audio_1"; 34 static const char kAudioTrackId[] = "audio_1";
34 static const uint32_t kVideoSsrc = 98; 35 static const uint32_t kVideoSsrc = 98;
35 static const uint32_t kVideoSsrc2 = 100; 36 static const uint32_t kVideoSsrc2 = 100;
36 static const uint32_t kAudioSsrc = 99; 37 static const uint32_t kAudioSsrc = 99;
37 static const uint32_t kAudioSsrc2 = 101; 38 static const uint32_t kAudioSsrc2 = 101;
38 39
39 namespace webrtc { 40 namespace webrtc {
40 41
41 // Helper class to test RtpSender/RtpReceiver. 42 // Helper class to test RtpSender/RtpReceiver.
42 class MockAudioProvider : public AudioProviderInterface { 43 class MockAudioProvider : public AudioProviderInterface {
43 public: 44 public:
44 ~MockAudioProvider() override {} 45 ~MockAudioProvider() override {}
45 46
46 MOCK_METHOD2(SetAudioPlayout, 47 MOCK_METHOD2(SetAudioPlayout,
47 void(uint32_t ssrc, 48 void(uint32_t ssrc,
48 bool enable)); 49 bool enable));
49 MOCK_METHOD4(SetAudioSend, 50 MOCK_METHOD4(SetAudioSend,
50 void(uint32_t ssrc, 51 void(uint32_t ssrc,
51 bool enable, 52 bool enable,
52 const cricket::AudioOptions& options, 53 const cricket::AudioOptions& options,
53 cricket::AudioSource* source)); 54 cricket::AudioSource* source));
54 MOCK_METHOD2(SetAudioPlayoutVolume, void(uint32_t ssrc, double volume)); 55 MOCK_METHOD2(SetAudioPlayoutVolume, void(uint32_t ssrc, double volume));
56 MOCK_CONST_METHOD1(GetAudioRtpParameters, RtpParameters(uint32_t ssrc));
57 MOCK_METHOD2(SetAudioRtpParameters,
58 bool(uint32_t ssrc, const RtpParameters&));
55 59
56 void SetRawAudioSink(uint32_t, 60 void SetRawAudioSink(uint32_t,
57 rtc::scoped_ptr<AudioSinkInterface> sink) override { 61 rtc::scoped_ptr<AudioSinkInterface> sink) override {
58 sink_ = std::move(sink); 62 sink_ = std::move(sink);
59 } 63 }
60 64
61 private: 65 private:
62 rtc::scoped_ptr<AudioSinkInterface> sink_; 66 rtc::scoped_ptr<AudioSinkInterface> sink_;
63 }; 67 };
64 68
65 // Helper class to test RtpSender/RtpReceiver. 69 // Helper class to test RtpSender/RtpReceiver.
66 class MockVideoProvider : public VideoProviderInterface { 70 class MockVideoProvider : public VideoProviderInterface {
67 public: 71 public:
68 virtual ~MockVideoProvider() {} 72 virtual ~MockVideoProvider() {}
69 MOCK_METHOD2(SetCaptureDevice, 73 MOCK_METHOD2(SetCaptureDevice,
70 bool(uint32_t ssrc, cricket::VideoCapturer* camera)); 74 bool(uint32_t ssrc, cricket::VideoCapturer* camera));
71 MOCK_METHOD3(SetVideoPlayout, 75 MOCK_METHOD3(SetVideoPlayout,
72 void(uint32_t ssrc, 76 void(uint32_t ssrc,
73 bool enable, 77 bool enable,
74 rtc::VideoSinkInterface<cricket::VideoFrame>* sink)); 78 rtc::VideoSinkInterface<cricket::VideoFrame>* sink));
75 MOCK_METHOD3(SetVideoSend, 79 MOCK_METHOD3(SetVideoSend,
76 void(uint32_t ssrc, 80 void(uint32_t ssrc,
77 bool enable, 81 bool enable,
78 const cricket::VideoOptions* options)); 82 const cricket::VideoOptions* options));
83
84 MOCK_CONST_METHOD1(GetVideoRtpParameters, RtpParameters(uint32_t ssrc));
85 MOCK_METHOD2(SetVideoRtpParameters,
86 bool(uint32_t ssrc, const RtpParameters&));
79 }; 87 };
80 88
81 class FakeVideoTrackSource : public VideoTrackSource { 89 class FakeVideoTrackSource : public VideoTrackSource {
82 public: 90 public:
83 static rtc::scoped_refptr<FakeVideoTrackSource> Create(bool remote) { 91 static rtc::scoped_refptr<FakeVideoTrackSource> Create(bool remote) {
84 return new rtc::RefCountedObject<FakeVideoTrackSource>(remote); 92 return new rtc::RefCountedObject<FakeVideoTrackSource>(remote);
85 } 93 }
86 cricket::VideoCapturer* GetVideoCapturer() { return &fake_capturer_; } 94 cricket::VideoCapturer* GetVideoCapturer() { return &fake_capturer_; }
87 95
88 protected: 96 protected:
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 SetCaptureDevice(kVideoSsrc2, 498 SetCaptureDevice(kVideoSsrc2,
491 video_track_->GetSource()->GetVideoCapturer())); 499 video_track_->GetSource()->GetVideoCapturer()));
492 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc2, true, _)); 500 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc2, true, _));
493 sender->SetSsrc(kVideoSsrc2); 501 sender->SetSsrc(kVideoSsrc2);
494 502
495 // Calls expected from destructor. 503 // Calls expected from destructor.
496 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc2, nullptr)).Times(1); 504 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc2, nullptr)).Times(1);
497 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc2, false, _)).Times(1); 505 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc2, false, _)).Times(1);
498 } 506 }
499 507
508 TEST_F(RtpSenderReceiverTest, AudioSenderCanSetParameters) {
509 CreateAudioRtpSender();
510
511 EXPECT_CALL(audio_provider_, GetAudioRtpParameters(kAudioSsrc))
512 .WillOnce(Return(RtpParameters()));
513 EXPECT_CALL(audio_provider_, SetAudioRtpParameters(kAudioSsrc, _))
514 .WillOnce(Return(true));
515 RtpParameters params = audio_rtp_sender_->GetParameters();
516 EXPECT_TRUE(audio_rtp_sender_->SetParameters(params));
517
518 DestroyAudioRtpSender();
519 }
520
521 TEST_F(RtpSenderReceiverTest, VideoSenderCanSetParameters) {
522 CreateVideoRtpSender();
523
524 EXPECT_CALL(video_provider_, GetVideoRtpParameters(kVideoSsrc))
525 .WillOnce(Return(RtpParameters()));
526 EXPECT_CALL(video_provider_, SetVideoRtpParameters(kVideoSsrc, _))
527 .WillOnce(Return(true));
528 RtpParameters params = video_rtp_sender_->GetParameters();
529 EXPECT_TRUE(video_rtp_sender_->SetParameters(params));
530
531 DestroyVideoRtpSender();
532 }
533
500 } // namespace webrtc 534 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/api/rtpsenderinterface.h ('k') | webrtc/api/webrtcsession.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698