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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "media/cdm/aes_decryptor.h" | 31 #include "media/cdm/aes_decryptor.h" |
32 #include "media/cdm/json_web_key.h" | 32 #include "media/cdm/json_web_key.h" |
33 #include "media/filters/chunk_demuxer.h" | 33 #include "media/filters/chunk_demuxer.h" |
34 #include "media/renderers/renderer_impl.h" | 34 #include "media/renderers/renderer_impl.h" |
35 #include "media/test/pipeline_integration_test_base.h" | 35 #include "media/test/pipeline_integration_test_base.h" |
36 #include "testing/gmock/include/gmock/gmock.h" | 36 #include "testing/gmock/include/gmock/gmock.h" |
37 #include "url/gurl.h" | 37 #include "url/gurl.h" |
38 | 38 |
39 #if defined(MOJO_RENDERER) | 39 #if defined(MOJO_RENDERER) |
40 #include "media/mojo/clients/mojo_renderer.h" | 40 #include "media/mojo/clients/mojo_renderer.h" |
| 41 #include "media/mojo/interfaces/interface_factory.mojom.h" |
41 #include "media/mojo/interfaces/renderer.mojom.h" | 42 #include "media/mojo/interfaces/renderer.mojom.h" |
42 #include "media/mojo/interfaces/service_factory.mojom.h" | |
43 #include "services/service_manager/public/cpp/connect.h" | 43 #include "services/service_manager/public/cpp/connect.h" |
44 #include "services/service_manager/public/cpp/service_test.h" | 44 #include "services/service_manager/public/cpp/service_test.h" |
45 | 45 |
46 // TODO(dalecurtis): The mojo renderer is in another process, so we have no way | 46 // TODO(dalecurtis): The mojo renderer is in another process, so we have no way |
47 // currently to get hashes for video and audio samples. This also means that | 47 // currently to get hashes for video and audio samples. This also means that |
48 // real audio plays out for each test. | 48 // real audio plays out for each test. |
49 #define EXPECT_HASH_EQ(a, b) | 49 #define EXPECT_HASH_EQ(a, b) |
50 #define EXPECT_VIDEO_FORMAT_EQ(a, b) | 50 #define EXPECT_VIDEO_FORMAT_EQ(a, b) |
51 #define EXPECT_COLOR_SPACE_EQ(a, b) | 51 #define EXPECT_COLOR_SPACE_EQ(a, b) |
52 | 52 |
(...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
682 : service_manager::test::ServiceTest( | 682 : service_manager::test::ServiceTest( |
683 "exe:media_pipeline_integration_shelltests") {} | 683 "exe:media_pipeline_integration_shelltests") {} |
684 | 684 |
685 void SetUp() override { | 685 void SetUp() override { |
686 ServiceTest::SetUp(); | 686 ServiceTest::SetUp(); |
687 InitializeMediaLibrary(); | 687 InitializeMediaLibrary(); |
688 } | 688 } |
689 | 689 |
690 protected: | 690 protected: |
691 std::unique_ptr<Renderer> CreateRenderer() override { | 691 std::unique_ptr<Renderer> CreateRenderer() override { |
692 connector()->ConnectToInterface("service:media", &media_service_factory_); | 692 connector()->ConnectToInterface("service:media", &media_interface_factory_); |
693 | 693 |
694 mojom::RendererPtr mojo_renderer; | 694 mojom::RendererPtr mojo_renderer; |
695 media_service_factory_->CreateRenderer(std::string(), | 695 media_interface_factory_->CreateRenderer(std::string(), |
696 mojo::GetProxy(&mojo_renderer)); | 696 mojo::GetProxy(&mojo_renderer)); |
697 | 697 |
698 return base::MakeUnique<MojoRenderer>(message_loop_.task_runner(), | 698 return base::MakeUnique<MojoRenderer>(message_loop_.task_runner(), |
699 std::move(mojo_renderer)); | 699 std::move(mojo_renderer)); |
700 } | 700 } |
701 | 701 |
702 private: | 702 private: |
703 mojom::ServiceFactoryPtr media_service_factory_; | 703 mojom::InterfaceFactoryPtr media_interface_factory_; |
704 }; | 704 }; |
705 #else | 705 #else |
706 class PipelineIntegrationTestHost : public testing::Test, | 706 class PipelineIntegrationTestHost : public testing::Test, |
707 public PipelineIntegrationTestBase {}; | 707 public PipelineIntegrationTestBase {}; |
708 #endif // defined(MOJO_RENDERER) | 708 #endif // defined(MOJO_RENDERER) |
709 | 709 |
710 class PipelineIntegrationTest : public PipelineIntegrationTestHost { | 710 class PipelineIntegrationTest : public PipelineIntegrationTestHost { |
711 public: | 711 public: |
712 PipelineStatus StartPipelineWithMediaSource(MockMediaSource* source) { | 712 PipelineStatus StartPipelineWithMediaSource(MockMediaSource* source) { |
713 return StartPipelineWithMediaSource(source, kNormal, nullptr); | 713 return StartPipelineWithMediaSource(source, kNormal, nullptr); |
(...skipping 1764 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2478 | 2478 |
2479 TEST_F(PipelineIntegrationTest, BasicPlaybackPositiveStartTime) { | 2479 TEST_F(PipelineIntegrationTest, BasicPlaybackPositiveStartTime) { |
2480 ASSERT_EQ(PIPELINE_OK, Start("nonzero-start-time.webm")); | 2480 ASSERT_EQ(PIPELINE_OK, Start("nonzero-start-time.webm")); |
2481 Play(); | 2481 Play(); |
2482 ASSERT_TRUE(WaitUntilOnEnded()); | 2482 ASSERT_TRUE(WaitUntilOnEnded()); |
2483 ASSERT_EQ(base::TimeDelta::FromMicroseconds(396000), | 2483 ASSERT_EQ(base::TimeDelta::FromMicroseconds(396000), |
2484 demuxer_->GetStartTime()); | 2484 demuxer_->GetStartTime()); |
2485 } | 2485 } |
2486 | 2486 |
2487 } // namespace media | 2487 } // namespace media |
OLD | NEW |