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

Side by Side Diff: media/cast/sender/video_sender_unittest.cc

Issue 688423003: [Cast] VideoFrameFactory interface to vend frames with encoder affinity. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 1 month 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stdint.h> 5 #include <stdint.h>
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 CastTransportSender* const transport_sender) 121 CastTransportSender* const transport_sender)
122 : VideoSender(cast_environment, 122 : VideoSender(cast_environment,
123 video_config, 123 video_config,
124 initialization_cb, 124 initialization_cb,
125 create_vea_cb, 125 create_vea_cb,
126 create_video_encode_mem_cb, 126 create_video_encode_mem_cb,
127 transport_sender, 127 transport_sender,
128 base::Bind(&IgnorePlayoutDelayChanges)) {} 128 base::Bind(&IgnorePlayoutDelayChanges)) {}
129 using VideoSender::OnReceivedCastFeedback; 129 using VideoSender::OnReceivedCastFeedback;
130 }; 130 };
131
132 void CreateFrameAndMemsetPlane(VideoFrameFactory* const video_frame_factory) {
133 auto video_frame = video_frame_factory->CreateFrame(base::TimeDelta());
134 ASSERT_TRUE(video_frame.get());
135 EXPECT_EQ(VideoFrame::I420, video_frame->format());
136 auto size = video_frame->coded_size();
137 EXPECT_EQ(kWidth, size.width());
138 EXPECT_EQ(kHeight, size.height());
139 memset(video_frame->data(VideoFrame::kYPlane),
140 0xfe,
141 video_frame->rows(VideoFrame::kYPlane) *
142 video_frame->stride(VideoFrame::kYPlane));
143 }
144
131 } // namespace 145 } // namespace
132 146
133 class VideoSenderTest : public ::testing::Test { 147 class VideoSenderTest : public ::testing::Test {
134 protected: 148 protected:
135 VideoSenderTest() { 149 VideoSenderTest() {
136 testing_clock_ = new base::SimpleTestTickClock(); 150 testing_clock_ = new base::SimpleTestTickClock();
137 testing_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks()); 151 testing_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks());
138 task_runner_ = new test::FakeSingleThreadTaskRunner(testing_clock_); 152 task_runner_ = new test::FakeSingleThreadTaskRunner(testing_clock_);
139 cast_environment_ = 153 cast_environment_ =
140 new CastEnvironment(scoped_ptr<base::TickClock>(testing_clock_).Pass(), 154 new CastEnvironment(scoped_ptr<base::TickClock>(testing_clock_).Pass(),
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 RtcpCastMessage cast_feedback(1); 543 RtcpCastMessage cast_feedback(1);
530 cast_feedback.media_ssrc = 2; 544 cast_feedback.media_ssrc = 2;
531 cast_feedback.ack_frame_id = 0; 545 cast_feedback.ack_frame_id = 0;
532 video_sender_->OnReceivedCastFeedback(cast_feedback); 546 video_sender_->OnReceivedCastFeedback(cast_feedback);
533 547
534 transport_.SetPause(false); 548 transport_.SetPause(false);
535 RunTasks(33); 549 RunTasks(33);
536 EXPECT_EQ(0, transport_.number_of_rtp_packets()); 550 EXPECT_EQ(0, transport_.number_of_rtp_packets());
537 } 551 }
538 552
553 TEST_F(VideoSenderTest, CheckVideoFrameFactory) {
554 EXPECT_EQ(STATUS_VIDEO_INITIALIZED, InitEncoder(false, true));
555 auto video_frame_factory = video_sender_->video_frame_factory();
556 ASSERT_TRUE(video_frame_factory.get());
557 CreateFrameAndMemsetPlane(video_frame_factory.get());
558 video_sender_.reset(NULL);
559 task_runner_->RunTasks();
560 CreateFrameAndMemsetPlane(video_frame_factory.get());
561 }
562
539 } // namespace cast 563 } // namespace cast
540 } // namespace media 564 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698