| Index: content/renderer/media/media_stream_video_source_unittest.cc
|
| ===================================================================
|
| --- content/renderer/media/media_stream_video_source_unittest.cc (revision 287597)
|
| +++ content/renderer/media/media_stream_video_source_unittest.cc (working copy)
|
| @@ -662,4 +662,33 @@
|
| "something unsupported"));
|
| }
|
|
|
| +// Test that the constraint negotiation can handle 0.0 fps as frame rate.
|
| +TEST_F(MediaStreamVideoSourceTest, Use0FpsSupportedFormat) {
|
| + media::VideoCaptureFormats formats;
|
| + formats.push_back(media::VideoCaptureFormat(
|
| + gfx::Size(640, 480), 0.0f, media::PIXEL_FORMAT_I420));
|
| + formats.push_back(media::VideoCaptureFormat(
|
| + gfx::Size(320, 240), 0.0f, media::PIXEL_FORMAT_I420));
|
| + mock_source()->SetSupportedFormats(formats);
|
| +
|
| + blink::WebMediaConstraints constraints;
|
| + constraints.initialize();
|
| + blink::WebMediaStreamTrack track = CreateTrack("123", constraints);
|
| + mock_source()->CompleteGetSupportedFormats();
|
| + mock_source()->StartMockedSource();
|
| + EXPECT_EQ(1, NumberOfSuccessConstraintsCallbacks());
|
| +
|
| + MockMediaStreamVideoSink sink;
|
| + MediaStreamVideoSink::AddToVideoTrack(
|
| + &sink, sink.GetDeliverFrameCB(), track);
|
| + EXPECT_EQ(0, sink.number_of_frames());
|
| + DeliverVideoFrameAndWaitForRenderer(320, 240, &sink);
|
| + EXPECT_EQ(1, sink.number_of_frames());
|
| + // Expect the delivered frame to be passed unchanged since its smaller than
|
| + // max requested.
|
| + EXPECT_EQ(320, sink.frame_size().width());
|
| + EXPECT_EQ(240, sink.frame_size().height());
|
| + MediaStreamVideoSink::RemoveFromVideoTrack(&sink, track);
|
| +}
|
| +
|
| } // namespace content
|
|
|