1 // Copyright 2018 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "media/mojo/services/android_mojo_util.h"
7 #include "media/mojo/services/mojo_media_drm_storage.h"
8 #include "mojo/public/cpp/bindings/pending_remote.h"
11 namespace android_mojo_util {
13 std::unique_ptr<ProvisionFetcher> CreateProvisionFetcher(
14 media::mojom::FrameInterfaceFactory* frame_interfaces) {
15 DCHECK(frame_interfaces);
16 mojo::PendingRemote<mojom::ProvisionFetcher> provision_fetcher;
17 frame_interfaces->CreateProvisionFetcher(
18 provision_fetcher.InitWithNewPipeAndPassReceiver());
19 return std::make_unique<MojoProvisionFetcher>(std::move(provision_fetcher));
22 std::unique_ptr<MediaDrmStorage> CreateMediaDrmStorage(
23 media::mojom::FrameInterfaceFactory* frame_interfaces) {
24 DCHECK(frame_interfaces);
25 mojo::PendingRemote<mojom::MediaDrmStorage> media_drm_storage;
26 frame_interfaces->BindEmbedderReceiver(mojo::GenericPendingReceiver(
27 media_drm_storage.InitWithNewPipeAndPassReceiver()));
28 return std::make_unique<MojoMediaDrmStorage>(std::move(media_drm_storage));
31 } // namespace android_mojo_util