New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 776911 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug

Blocking:
issue 479923



Sign in to add a comment

Implement CDM file IO using mojo CDM storage

Project Member Reported by xhw...@chromium.org, Oct 20 2017

Issue description

Now we have CdmStorage mojo interface and CdmStorageImpl. We need a cdm::FileIO implementation on the client (CDM) side to connect to CdmStorageImpl to complete the work.
 

Comment 1 by xhw...@chromium.org, Oct 20 2017

Labels: OS-Chrome OS-Linux OS-Mac OS-Windows
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac

commit aa05b9c72d674f8cc248e3a2e22a7ec575b210ac
Author: John Rummell <jrummell@chromium.org>
Date: Mon Oct 30 08:41:29 2017

media: Add Mojo CDM File I/O implementation

Adds a cdm::FileIO implementation that can be used by mojo CDMs to read and
write files. Files are obtained from the mojo CdmStorage interface.

BUG=479923, 776911 
TEST=updated browser_test and new unit tests pass

Change-Id: Ib150058407d6db1d0ba2cabf4d5eb3f4a051232c
Reviewed-on: https://chromium-review.googlesource.com/706211
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Commit-Queue: John Rummell <jrummell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512456}
[modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/chrome/browser/media/encrypted_media_browsertest.cc
[modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/BUILD.gn
[add] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/media/cdm_file_impl.cc
[add] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/media/cdm_file_impl.h
[modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/media/cdm_storage_impl.cc
[modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/media/cdm_storage_impl.h
[modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/content/browser/media/cdm_storage_impl_unittest.cc
[modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/cdm/ppapi/cdm_file_io_test.cc
[modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/BUILD.gn
[modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/interfaces/cdm_storage.mojom
[modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/BUILD.gn
[add] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/mojo_cdm_file_io.cc
[add] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/mojo_cdm_file_io.h
[add] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/mojo_cdm_file_io_unittest.cc
[modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/mojo_cdm_helper.cc
[modify] https://crrev.com/aa05b9c72d674f8cc248e3a2e22a7ec575b210ac/media/mojo/services/mojo_cdm_helper.h

Status: Fixed (was: Started)
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9a6b25e1350a5b43267cf6349f531c4c600102c3

commit 9a6b25e1350a5b43267cf6349f531c4c600102c3
Author: Xiaohan Wang <xhwang@chromium.org>
Date: Fri Nov 17 03:25:59 2017

media: Refactor MojoCdmFileIO lifetime management

- Let MojoCdmHelper own outstanding MojoCdmFileIO objects, so that
  even if a CDM forgets to call Close(), the object will not be leaked.
- Let CdmAuxiliaryHelper::CreateCdmFileIO() return cdm::FileIO*.
- Remove CdmFileIO class which is not needed anymore.
- Misc: Also move CdmAuxiliaryHelper::CreationCB into CdmAdapterFactory
  where it's actually used.

BUG= 776911 
TEST=Add a unittest where Close() is not called.

Change-Id: Idbfcdb02ec7795b6fbd712bdcea2541e19b86e9b
Reviewed-on: https://chromium-review.googlesource.com/770250
Reviewed-by: John Rummell <jrummell@chromium.org>
Commit-Queue: Xiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517277}
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/BUILD.gn
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/aes_decryptor_unittest.cc
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_adapter.cc
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_adapter_factory.cc
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_adapter_factory.h
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_adapter_unittest.cc
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_auxiliary_helper.cc
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_auxiliary_helper.h
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/cdm_file_adapter.h
[delete] https://crrev.com/bd0b779e15d7dc045e4d38f3a02a3445457aaafd/media/cdm/cdm_file_io.cc
[delete] https://crrev.com/bd0b779e15d7dc045e4d38f3a02a3445457aaafd/media/cdm/cdm_file_io.h
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/mock_helpers.cc
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/cdm/mock_helpers.h
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/BUILD.gn
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_file_io.cc
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_file_io.h
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_file_io_unittest.cc
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_helper.cc
[modify] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_helper.h
[add] https://crrev.com/9a6b25e1350a5b43267cf6349f531c4c600102c3/media/mojo/services/mojo_cdm_helper_unittest.cc

Sign in to add a comment