OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 rtc::scoped_refptr<VideoTrackInterface> video_track_; | 70 rtc::scoped_refptr<VideoTrackInterface> video_track_; |
71 }; | 71 }; |
72 | 72 |
73 // Test adding renderers to a video track and render to them by providing | 73 // Test adding renderers to a video track and render to them by providing |
74 // frames to the source. | 74 // frames to the source. |
75 TEST_F(VideoTrackTest, RenderVideo) { | 75 TEST_F(VideoTrackTest, RenderVideo) { |
76 // FakeVideoTrackRenderer register itself to |video_track_| | 76 // FakeVideoTrackRenderer register itself to |video_track_| |
77 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_1( | 77 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_1( |
78 new FakeVideoTrackRenderer(video_track_.get())); | 78 new FakeVideoTrackRenderer(video_track_.get())); |
79 | 79 |
80 cricket::VideoRenderer* renderer_input = | 80 rtc::VideoSinkInterface<cricket::VideoFrame>* renderer_input = |
81 video_track_->GetSource()->FrameInput(); | 81 video_track_->GetSink(); |
82 ASSERT_FALSE(renderer_input == NULL); | 82 ASSERT_FALSE(renderer_input == NULL); |
83 | 83 |
84 cricket::WebRtcVideoFrame frame; | 84 cricket::WebRtcVideoFrame frame; |
85 frame.InitToBlack(123, 123, 0); | 85 frame.InitToBlack(123, 123, 0); |
86 renderer_input->RenderFrame(&frame); | 86 renderer_input->OnFrame(frame); |
87 EXPECT_EQ(1, renderer_1->num_rendered_frames()); | 87 EXPECT_EQ(1, renderer_1->num_rendered_frames()); |
88 | 88 |
89 EXPECT_EQ(123, renderer_1->width()); | 89 EXPECT_EQ(123, renderer_1->width()); |
90 EXPECT_EQ(123, renderer_1->height()); | 90 EXPECT_EQ(123, renderer_1->height()); |
91 | 91 |
92 // FakeVideoTrackRenderer register itself to |video_track_| | 92 // FakeVideoTrackRenderer register itself to |video_track_| |
93 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_2( | 93 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_2( |
94 new FakeVideoTrackRenderer(video_track_.get())); | 94 new FakeVideoTrackRenderer(video_track_.get())); |
95 | 95 |
96 renderer_input->RenderFrame(&frame); | 96 renderer_input->OnFrame(frame); |
97 | 97 |
98 EXPECT_EQ(123, renderer_1->width()); | 98 EXPECT_EQ(123, renderer_1->width()); |
99 EXPECT_EQ(123, renderer_1->height()); | 99 EXPECT_EQ(123, renderer_1->height()); |
100 EXPECT_EQ(123, renderer_2->width()); | 100 EXPECT_EQ(123, renderer_2->width()); |
101 EXPECT_EQ(123, renderer_2->height()); | 101 EXPECT_EQ(123, renderer_2->height()); |
102 | 102 |
103 EXPECT_EQ(2, renderer_1->num_rendered_frames()); | 103 EXPECT_EQ(2, renderer_1->num_rendered_frames()); |
104 EXPECT_EQ(1, renderer_2->num_rendered_frames()); | 104 EXPECT_EQ(1, renderer_2->num_rendered_frames()); |
105 | 105 |
106 video_track_->RemoveRenderer(renderer_1.get()); | 106 video_track_->RemoveRenderer(renderer_1.get()); |
107 renderer_input->RenderFrame(&frame); | 107 renderer_input->OnFrame(frame); |
108 | 108 |
109 EXPECT_EQ(2, renderer_1->num_rendered_frames()); | 109 EXPECT_EQ(2, renderer_1->num_rendered_frames()); |
110 EXPECT_EQ(2, renderer_2->num_rendered_frames()); | 110 EXPECT_EQ(2, renderer_2->num_rendered_frames()); |
111 } | 111 } |
112 | 112 |
113 // Test that disabling the track results in blacked out frames. | 113 // Test that disabling the track results in blacked out frames. |
114 TEST_F(VideoTrackTest, DisableTrackBlackout) { | 114 TEST_F(VideoTrackTest, DisableTrackBlackout) { |
115 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer( | 115 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer( |
116 new FakeVideoTrackRenderer(video_track_.get())); | 116 new FakeVideoTrackRenderer(video_track_.get())); |
117 | 117 |
118 cricket::VideoRenderer* renderer_input = | 118 rtc::VideoSinkInterface<cricket::VideoFrame>* renderer_input = |
119 video_track_->GetSource()->FrameInput(); | 119 video_track_->GetSink(); |
120 ASSERT_FALSE(renderer_input == NULL); | 120 ASSERT_FALSE(renderer_input == NULL); |
121 | 121 |
122 cricket::WebRtcVideoFrame frame; | 122 cricket::WebRtcVideoFrame frame; |
123 frame.InitToBlack(100, 200, 0); | 123 frame.InitToBlack(100, 200, 0); |
124 // Make it not all-black | 124 // Make it not all-black |
125 frame.GetUPlane()[0] = 0; | 125 frame.GetUPlane()[0] = 0; |
126 | 126 |
127 renderer_input->RenderFrame(&frame); | 127 renderer_input->OnFrame(frame); |
128 EXPECT_EQ(1, renderer->num_rendered_frames()); | 128 EXPECT_EQ(1, renderer->num_rendered_frames()); |
129 EXPECT_FALSE(renderer->black_frame()); | 129 EXPECT_FALSE(renderer->black_frame()); |
130 EXPECT_EQ(100, renderer->width()); | 130 EXPECT_EQ(100, renderer->width()); |
131 EXPECT_EQ(200, renderer->height()); | 131 EXPECT_EQ(200, renderer->height()); |
132 | 132 |
133 video_track_->set_enabled(false); | 133 video_track_->set_enabled(false); |
134 renderer_input->RenderFrame(&frame); | 134 renderer_input->OnFrame(frame); |
135 EXPECT_EQ(2, renderer->num_rendered_frames()); | 135 EXPECT_EQ(2, renderer->num_rendered_frames()); |
136 EXPECT_TRUE(renderer->black_frame()); | 136 EXPECT_TRUE(renderer->black_frame()); |
137 EXPECT_EQ(100, renderer->width()); | 137 EXPECT_EQ(100, renderer->width()); |
138 EXPECT_EQ(200, renderer->height()); | 138 EXPECT_EQ(200, renderer->height()); |
139 | 139 |
140 video_track_->set_enabled(true); | 140 video_track_->set_enabled(true); |
141 renderer_input->RenderFrame(&frame); | 141 renderer_input->OnFrame(frame); |
142 EXPECT_EQ(3, renderer->num_rendered_frames()); | 142 EXPECT_EQ(3, renderer->num_rendered_frames()); |
143 EXPECT_FALSE(renderer->black_frame()); | 143 EXPECT_FALSE(renderer->black_frame()); |
144 EXPECT_EQ(100, renderer->width()); | 144 EXPECT_EQ(100, renderer->width()); |
145 EXPECT_EQ(200, renderer->height()); | 145 EXPECT_EQ(200, renderer->height()); |
146 } | 146 } |
OLD | NEW |