OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef MOJO_SERVICES_MEDIA_FACTORY_MEDIA_SOURCE_IMPL_H_ | 5 #ifndef MOJO_SERVICES_MEDIA_FACTORY_MEDIA_SOURCE_IMPL_H_ |
6 #define MOJO_SERVICES_MEDIA_FACTORY_MEDIA_SOURCE_IMPL_H_ | 6 #define MOJO_SERVICES_MEDIA_FACTORY_MEDIA_SOURCE_IMPL_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/single_thread_task_runner.h" | 10 #include "base/single_thread_task_runner.h" |
11 #include "mojo/public/cpp/bindings/binding.h" | 11 #include "mojo/public/cpp/bindings/binding.h" |
12 #include "mojo/services/media/control/interfaces/media_source.mojom.h" | 12 #include "mojo/services/media/control/interfaces/media_source.mojom.h" |
13 #include "mojo/services/media/core/interfaces/seeking_reader.mojom.h" | 13 #include "mojo/services/media/core/interfaces/seeking_reader.mojom.h" |
14 #include "services/media/common/mojo_publisher.h" | 14 #include "services/media/common/mojo_publisher.h" |
15 #include "services/media/factory_service/factory_service.h" | 15 #include "services/media/factory_service/factory_service.h" |
16 #include "services/media/framework/graph.h" | 16 #include "services/media/framework/graph.h" |
17 #include "services/media/framework/parts/decoder.h" | 17 #include "services/media/framework/parts/decoder.h" |
18 #include "services/media/framework/parts/demux.h" | 18 #include "services/media/framework/parts/demux.h" |
19 #include "services/media/framework/parts/null_sink.h" | 19 #include "services/media/framework/parts/null_sink.h" |
20 #include "services/media/framework/parts/reader.h" | 20 #include "services/media/framework/parts/reader.h" |
21 #include "services/media/framework/util/incident.h" | |
22 #include "services/media/framework_mojo/mojo_producer.h" | 21 #include "services/media/framework_mojo/mojo_producer.h" |
23 #include "services/media/framework_mojo/mojo_pull_mode_producer.h" | 22 #include "services/media/framework_mojo/mojo_pull_mode_producer.h" |
| 23 #include "services/util/cpp/incident.h" |
24 | 24 |
25 namespace mojo { | 25 namespace mojo { |
26 namespace media { | 26 namespace media { |
27 | 27 |
28 // Mojo agent that produces streams from an origin specified by URL. | 28 // Mojo agent that produces streams from an origin specified by URL. |
29 class MediaSourceImpl : public MediaFactoryService::Product<MediaSource>, | 29 class MediaSourceImpl : public MediaFactoryService::Product<MediaSource>, |
30 public MediaSource { | 30 public MediaSource { |
31 public: | 31 public: |
32 static std::shared_ptr<MediaSourceImpl> Create( | 32 static std::shared_ptr<MediaSourceImpl> Create( |
33 InterfaceHandle<SeekingReader> reader, | 33 InterfaceHandle<SeekingReader> reader, |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 std::shared_ptr<Demux> demux_; | 118 std::shared_ptr<Demux> demux_; |
119 Incident init_complete_; | 119 Incident init_complete_; |
120 std::vector<std::unique_ptr<Stream>> streams_; | 120 std::vector<std::unique_ptr<Stream>> streams_; |
121 MojoPublisher<GetStatusCallback> status_publisher_; | 121 MojoPublisher<GetStatusCallback> status_publisher_; |
122 }; | 122 }; |
123 | 123 |
124 } // namespace media | 124 } // namespace media |
125 } // namespace mojo | 125 } // namespace mojo |
126 | 126 |
127 #endif // MOJO_SERVICES_MEDIA_FACTORY_MEDIA_SOURCE_IMPL_H_ | 127 #endif // MOJO_SERVICES_MEDIA_FACTORY_MEDIA_SOURCE_IMPL_H_ |
OLD | NEW |