OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
9 #include "base/strings/string_split.h" | 9 #include "base/strings/string_split.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
11 #include "build/build_config.h" | 11 #include "build/build_config.h" |
12 #include "media/base/cdm_callback_promise.h" | 12 #include "media/base/cdm_callback_promise.h" |
13 #include "media/base/cdm_context.h" | 13 #include "media/base/cdm_context.h" |
14 #include "media/base/cdm_key_information.h" | 14 #include "media/base/cdm_key_information.h" |
15 #include "media/base/decoder_buffer.h" | 15 #include "media/base/decoder_buffer.h" |
16 #include "media/base/media.h" | 16 #include "media/base/media.h" |
17 #include "media/base/media_keys.h" | 17 #include "media/base/media_keys.h" |
18 #include "media/base/media_switches.h" | 18 #include "media/base/media_switches.h" |
19 #include "media/base/test_data_util.h" | 19 #include "media/base/test_data_util.h" |
20 #include "media/cdm/aes_decryptor.h" | 20 #include "media/cdm/aes_decryptor.h" |
21 #include "media/cdm/json_web_key.h" | 21 #include "media/cdm/json_web_key.h" |
22 #include "media/filters/chunk_demuxer.h" | 22 #include "media/filters/chunk_demuxer.h" |
23 #include "media/renderers/renderer_impl.h" | 23 #include "media/renderers/renderer_impl.h" |
24 #include "media/test/pipeline_integration_test_base.h" | 24 #include "media/test/pipeline_integration_test_base.h" |
25 #include "testing/gmock/include/gmock/gmock.h" | 25 #include "testing/gmock/include/gmock/gmock.h" |
26 #include "url/gurl.h" | 26 #include "url/gurl.h" |
27 | 27 |
28 #if defined(MOJO_RENDERER) | 28 #if defined(MOJO_RENDERER) |
29 #include "media/mojo/interfaces/media_renderer.mojom.h" | 29 #include "media/mojo/interfaces/renderer.mojom.h" |
30 #include "media/mojo/interfaces/service_factory.mojom.h" | 30 #include "media/mojo/interfaces/service_factory.mojom.h" |
31 #include "media/mojo/services/mojo_renderer_impl.h" | 31 #include "media/mojo/services/mojo_renderer_impl.h" |
32 #include "mojo/application/public/cpp/application_impl.h" | 32 #include "mojo/application/public/cpp/application_impl.h" |
33 #include "mojo/application/public/cpp/application_test_base.h" | 33 #include "mojo/application/public/cpp/application_test_base.h" |
34 #include "mojo/application/public/cpp/connect.h" | 34 #include "mojo/application/public/cpp/connect.h" |
35 | 35 |
36 // TODO(dalecurtis): The mojo renderer is in another process, so we have no way | 36 // TODO(dalecurtis): The mojo renderer is in another process, so we have no way |
37 // currently to get hashes for video and audio samples. This also means that | 37 // currently to get hashes for video and audio samples. This also means that |
38 // real audio plays out for each test. | 38 // real audio plays out for each test. |
39 #define EXPECT_HASH_EQ(a, b) | 39 #define EXPECT_HASH_EQ(a, b) |
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
616 scoped_ptr<Renderer> CreateRenderer() override { | 616 scoped_ptr<Renderer> CreateRenderer() override { |
617 mojo::URLRequestPtr request(mojo::URLRequest::New()); | 617 mojo::URLRequestPtr request(mojo::URLRequest::New()); |
618 request->url = mojo::String::From("mojo:media"); | 618 request->url = mojo::String::From("mojo:media"); |
619 mojo::ServiceProvider* service_provider = | 619 mojo::ServiceProvider* service_provider = |
620 application_impl() | 620 application_impl() |
621 ->ConnectToApplication(request.Pass()) | 621 ->ConnectToApplication(request.Pass()) |
622 ->GetServiceProvider(); | 622 ->GetServiceProvider(); |
623 | 623 |
624 mojo::ConnectToService(service_provider, &media_service_factory_); | 624 mojo::ConnectToService(service_provider, &media_service_factory_); |
625 | 625 |
626 interfaces::MediaRendererPtr mojo_media_renderer; | 626 interfaces::RendererPtr mojo_renderer; |
627 media_service_factory_->CreateRenderer( | 627 media_service_factory_->CreateRenderer(mojo::GetProxy(&mojo_renderer)); |
628 mojo::GetProxy(&mojo_media_renderer)); | |
629 | 628 |
630 return make_scoped_ptr(new MojoRendererImpl(message_loop_.task_runner(), | 629 return make_scoped_ptr(new MojoRendererImpl(message_loop_.task_runner(), |
631 mojo_media_renderer.Pass())); | 630 mojo_renderer.Pass())); |
632 } | 631 } |
633 | 632 |
634 private: | 633 private: |
635 interfaces::ServiceFactoryPtr media_service_factory_; | 634 interfaces::ServiceFactoryPtr media_service_factory_; |
636 }; | 635 }; |
637 #else | 636 #else |
638 class PipelineIntegrationTestHost : public testing::Test, | 637 class PipelineIntegrationTestHost : public testing::Test, |
639 public PipelineIntegrationTestBase {}; | 638 public PipelineIntegrationTestBase {}; |
640 #endif | 639 #endif |
641 | 640 |
(...skipping 1083 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1725 | 1724 |
1726 TEST_F(PipelineIntegrationTest, BasicPlaybackPositiveStartTime) { | 1725 TEST_F(PipelineIntegrationTest, BasicPlaybackPositiveStartTime) { |
1727 ASSERT_EQ(PIPELINE_OK, Start("nonzero-start-time.webm")); | 1726 ASSERT_EQ(PIPELINE_OK, Start("nonzero-start-time.webm")); |
1728 Play(); | 1727 Play(); |
1729 ASSERT_TRUE(WaitUntilOnEnded()); | 1728 ASSERT_TRUE(WaitUntilOnEnded()); |
1730 ASSERT_EQ(base::TimeDelta::FromMicroseconds(396000), | 1729 ASSERT_EQ(base::TimeDelta::FromMicroseconds(396000), |
1731 demuxer_->GetStartTime()); | 1730 demuxer_->GetStartTime()); |
1732 } | 1731 } |
1733 | 1732 |
1734 } // namespace media | 1733 } // namespace media |
OLD | NEW |