| 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_DEMUX_IMPL_H_ | 5 #ifndef MOJO_SERVICES_MEDIA_FACTORY_MEDIA_DEMUX_IMPL_H_ | 
| 6 #define MOJO_SERVICES_MEDIA_FACTORY_MEDIA_DEMUX_IMPL_H_ | 6 #define MOJO_SERVICES_MEDIA_FACTORY_MEDIA_DEMUX_IMPL_H_ | 
| 7 | 7 | 
| 8 #include <cstdint> | 8 #include <cstdint> | 
| 9 #include <memory> | 9 #include <memory> | 
| 10 #include <vector> | 10 #include <vector> | 
| 11 | 11 | 
| 12 #include "base/single_thread_task_runner.h" | 12 #include "base/single_thread_task_runner.h" | 
| 13 #include "mojo/public/cpp/bindings/binding.h" | 13 #include "mojo/public/cpp/bindings/binding.h" | 
| 14 #include "mojo/services/media/core/interfaces/media_demux.mojom.h" | 14 #include "mojo/services/media/core/interfaces/media_demux.mojom.h" | 
| 15 #include "mojo/services/media/core/interfaces/seeking_reader.mojom.h" | 15 #include "mojo/services/media/core/interfaces/seeking_reader.mojom.h" | 
| 16 #include "services/media/factory_service/factory_service.h" | 16 #include "services/media/factory_service/factory_service.h" | 
| 17 #include "services/media/factory_service/mojo_publisher.h" | 17 #include "services/media/factory_service/mojo_publisher.h" | 
| 18 #include "services/media/framework/graph.h" | 18 #include "services/media/framework/graph.h" | 
| 19 #include "services/media/framework/parts/demux.h" | 19 #include "services/media/framework/parts/demux.h" | 
| 20 #include "services/media/framework/util/incident.h" | 20 #include "services/media/framework/util/incident.h" | 
| 21 #include "services/media/framework_mojo/mojo_producer.h" | 21 #include "services/media/framework_mojo/mojo_producer.h" | 
| 22 | 22 | 
| 23 namespace mojo { | 23 namespace mojo { | 
| 24 namespace media { | 24 namespace media { | 
| 25 | 25 | 
| 26 // Mojo agent that decodes a stream. | 26 // Mojo agent that decodes a stream. | 
| 27 class MediaDemuxImpl : public MediaFactoryService::Product, public MediaDemux { | 27 class MediaDemuxImpl : public MediaFactoryService::Product<MediaDemux>, | 
|  | 28                        public MediaDemux { | 
| 28  public: | 29  public: | 
| 29   static std::shared_ptr<MediaDemuxImpl> Create( | 30   static std::shared_ptr<MediaDemuxImpl> Create( | 
| 30       InterfaceHandle<SeekingReader> reader, | 31       InterfaceHandle<SeekingReader> reader, | 
| 31       InterfaceRequest<MediaDemux> request, | 32       InterfaceRequest<MediaDemux> request, | 
| 32       MediaFactoryService* owner); | 33       MediaFactoryService* owner); | 
| 33 | 34 | 
| 34   ~MediaDemuxImpl() override; | 35   ~MediaDemuxImpl() override; | 
| 35 | 36 | 
| 36   // MediaDemux implementation. | 37   // MediaDemux implementation. | 
| 37   void Describe(const DescribeCallback& callback) override; | 38   void Describe(const DescribeCallback& callback) override; | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 79     OutputRef output_; | 80     OutputRef output_; | 
| 80     std::shared_ptr<MojoProducer> producer_; | 81     std::shared_ptr<MojoProducer> producer_; | 
| 81   }; | 82   }; | 
| 82 | 83 | 
| 83   // Handles the completion of demux initialization. | 84   // Handles the completion of demux initialization. | 
| 84   void OnDemuxInitialized(Result result); | 85   void OnDemuxInitialized(Result result); | 
| 85 | 86 | 
| 86   static void RunSeekCallback(const SeekCallback& callback); | 87   static void RunSeekCallback(const SeekCallback& callback); | 
| 87 | 88 | 
| 88   scoped_refptr<base::SingleThreadTaskRunner> task_runner_; | 89   scoped_refptr<base::SingleThreadTaskRunner> task_runner_; | 
| 89   Binding<MediaDemux> binding_; |  | 
| 90   Graph graph_; | 90   Graph graph_; | 
| 91   PartRef demux_part_; | 91   PartRef demux_part_; | 
| 92   std::shared_ptr<Demux> demux_; | 92   std::shared_ptr<Demux> demux_; | 
| 93   Incident init_complete_; | 93   Incident init_complete_; | 
| 94   std::vector<std::unique_ptr<Stream>> streams_; | 94   std::vector<std::unique_ptr<Stream>> streams_; | 
| 95   MojoPublisher<GetMetadataCallback> metadata_publisher_; | 95   MojoPublisher<GetMetadataCallback> metadata_publisher_; | 
| 96 }; | 96 }; | 
| 97 | 97 | 
| 98 }  // namespace media | 98 }  // namespace media | 
| 99 }  // namespace mojo | 99 }  // namespace mojo | 
| 100 | 100 | 
| 101 #endif  // MOJO_SERVICES_MEDIA_FACTORY_MEDIA_DEMUX_IMPL_H_ | 101 #endif  // MOJO_SERVICES_MEDIA_FACTORY_MEDIA_DEMUX_IMPL_H_ | 
| OLD | NEW | 
|---|