Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(321)

Side by Side Diff: media/mojo/clients/mojo_demuxer_factory.h

Issue 2643743002: Mojify demuxers and allow running {Chunk/FFmpeg}Demuxer in a Utility Process (Closed)
Patch Set: Rebase and make sure to unbind mojom::DemuxerPtr on the bound thread during termination Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/mojo/clients/mojo_demuxer.cc ('k') | media/mojo/clients/mojo_demuxer_factory.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef MEDIA_MOJO_CLIENTS_MOJO_DEMUXER_FACTORY_H_
6 #define MEDIA_MOJO_CLIENTS_MOJO_DEMUXER_FACTORY_H_
7
8 #include "media/base/demuxer_factory.h"
9
10 namespace service_manager {
11 namespace mojom {
12 class InterfaceProvider;
13 }
14 }
15
16 namespace media {
17
18 // The Mojo factory class for creating remote Demuxers.
19 class MojoDemuxerFactory : public DemuxerFactory {
20 public:
21 MojoDemuxerFactory(
22 service_manager::mojom::InterfaceProvider* interface_provider);
23 ~MojoDemuxerFactory() final;
24
25 std::unique_ptr<Demuxer> CreateDemuxer(
26 const scoped_refptr<base::SingleThreadTaskRunner>& main_task_runner,
27 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
28 DataSource* data_source,
29 const Demuxer::EncryptedMediaInitDataCB& encrypted_media_init_data_cb,
30 const Demuxer::MediaTracksUpdatedCB& media_tracks_updated_cb) final;
31
32 std::unique_ptr<Demuxer> CreateDemuxerSourceBuffer(
33 const scoped_refptr<base::SingleThreadTaskRunner>& main_task_runner,
34 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
35 const base::Closure& open_cb,
36 const Demuxer::EncryptedMediaInitDataCB& encrypted_media_init_data_cb,
37 media::SourceBuffer** source_buffer_out) final;
38
39 private:
40 static int32_t next_demuxer_id_;
41
42 service_manager::mojom::InterfaceProvider* interface_provider_;
43
44 DISALLOW_COPY_AND_ASSIGN(MojoDemuxerFactory);
45 };
46
47 } // namespace media
48
49 #endif // MEDIA_MOJO_CLIENTS_MOJO_DEMUXER_FACTORY_H_
OLDNEW
« no previous file with comments | « media/mojo/clients/mojo_demuxer.cc ('k') | media/mojo/clients/mojo_demuxer_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698