|
|
Created:
3 years, 7 months ago by xhwang Modified:
3 years, 7 months ago CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, eme-reviews_chromium.org, nasko+codewatch_chromium.org, jam, feature-media-reviews_chromium.org, darin-cc_chromium.org, ddorwin, Ken Rockot(use gerrit already) Target Ref:
refs/heads/master Project:
chromium Visibility:
Public. |
Descriptionmedia: Add experimental feature to enable Mojo CDM on desktop Chromium
Currently in Chromium, the CDM is hosted by the CDM adapter which is a
pepper plugin. This CL updates the build flags such that when pepper
CDMs are enabled, we also enable hosting the CDM using mojo in an
unsandboxed utility process. By default, pepper CDM will always be
used and mojo CDM is disabled. A new base::Feature is added such that
developers and testers can enable mojo CDM for early prototyping and
testing.
To enable mojo CDM, please add the following command line options:
--enable-features=MojoCdm
Detailed changes in this CL:
- Updated build flags to enable mojo CDM in utility process when pepper
CDMs are enabled.
- Add a base::Feature media::kMojoCdm to enable mojo CDM at run time.
- Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM
binary.
- Register MediaService in the utility process to create
CdmAdapterFactory when requested.
- Also copy base::Feature flags on command line for utility process.
Note that Mojo CDM on desktop Chromium is still under development. Some
features will not work. Also, the CDM is running in an unsandboxed
utility process since we cannot load the CDM in a sandboxed utility
process yet. These will be addressed in future CLs.
BUG=403462, 725394, 561090
Review-Url: https://codereview.chromium.org/2900773004
Cr-Commit-Position: refs/heads/master@{#474186}
Committed: https://chromium.googlesource.com/chromium/src/+/846b429c5175d3637e4183bc06eb417eee09482c
Patch Set 1 #Patch Set 2 : rebase only #Patch Set 3 : rebase and test fix #
Total comments: 5
Patch Set 4 : comments addressed #Patch Set 5 : drop utility_process_host_impl.cc change #
Messages
Total messages: 72 (59 generated)
The CQ bit was checked by xhwang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...) ios-simulator-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator-xco...) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
rebase only
The CQ bit was checked by xhwang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== media: Add an experimental flag to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a PPAPI plugin. This CL updates the build flags such that we also support hosting the CDM directly in Chromium, using mojo CDM. However, Mojo CDM on desktop Chromium is still under development. So it is disabled by default. A new base::Feature is added such that developers and testers can enable mojo CDM for prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm --no-sandbox Note that --no-sandbox is required since we cannot load the CDM in a sandboxed utility process yet. Detailed changes in this CL: - Updated build flags to enable mojo CDM on cros/linux/mac/win. The CDM (run as part of MediaService) will run in the utility process. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. BUG=403462 ========== to ========== media: Add an experimental flag to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a PPAPI plugin. This CL updates the build flags such that we also support hosting the CDM directly in Chromium, using mojo CDM. However, Mojo CDM on desktop Chromium is still under development. So it is disabled by default. A new base::Feature is added such that developers and testers can enable mojo CDM for prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm --no-sandbox Note that --no-sandbox is required since we cannot load the CDM in a sandboxed utility process yet. Detailed changes in this CL: - Updated build flags to enable mojo CDM on cros/linux/mac/win. The CDM (run as part of MediaService) will run in the utility process. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. - Also copy base::Feature flags on command line for utility process. BUG=403462 ==========
Description was changed from ========== media: Add an experimental flag to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a PPAPI plugin. This CL updates the build flags such that we also support hosting the CDM directly in Chromium, using mojo CDM. However, Mojo CDM on desktop Chromium is still under development. So it is disabled by default. A new base::Feature is added such that developers and testers can enable mojo CDM for prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm --no-sandbox Note that --no-sandbox is required since we cannot load the CDM in a sandboxed utility process yet. Detailed changes in this CL: - Updated build flags to enable mojo CDM on cros/linux/mac/win. The CDM (run as part of MediaService) will run in the utility process. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. - Also copy base::Feature flags on command line for utility process. BUG=403462 ========== to ========== media: Add an experimental flag to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a PPAPI plugin. This CL updates the build flags such that we also support hosting the CDM directly in Chromium, using mojo CDM. However, Mojo CDM on desktop Chromium is still under development. So it is disabled by default. A new base::Feature is added such that developers and testers can enable mojo CDM for prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm Note that --no-sandbox is required since we cannot load the CDM in a sandboxed utility process yet. Detailed changes in this CL: - Updated build flags to enable mojo CDM on cros/linux/mac/win. The CDM (run as part of MediaService) will run in the utility process. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. - Also copy base::Feature flags on command line for utility process. BUG=403462 ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_...) linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by xhwang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_compile_dbg on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_comp...)
The CQ bit was checked by xhwang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: cast_shell_android on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_a...) cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linu...)
Description was changed from ========== media: Add an experimental flag to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a PPAPI plugin. This CL updates the build flags such that we also support hosting the CDM directly in Chromium, using mojo CDM. However, Mojo CDM on desktop Chromium is still under development. So it is disabled by default. A new base::Feature is added such that developers and testers can enable mojo CDM for prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm Note that --no-sandbox is required since we cannot load the CDM in a sandboxed utility process yet. Detailed changes in this CL: - Updated build flags to enable mojo CDM on cros/linux/mac/win. The CDM (run as part of MediaService) will run in the utility process. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. - Also copy base::Feature flags on command line for utility process. BUG=403462 ========== to ========== media: Add an experimental flag to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a PPAPI plugin. This CL updates the build flags such that we also support hosting the CDM directly in Chromium, using mojo CDM. However, Mojo CDM on desktop Chromium is still under development. So it is disabled by default. A new base::Feature is added such that developers and testers can enable mojo CDM for prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm Note that --no-sandbox is required since we cannot load the CDM in a sandboxed utility process yet. Detailed changes in this CL: - Updated build flags to enable mojo CDM on cros/linux/mac/win. The CDM (run as part of MediaService) will run in the utility process. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. - Also copy base::Feature flags on command line for utility process. BUG=403462,725394,561090 ==========
The CQ bit was checked by xhwang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm6...) android_cronet on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_cron...) cast_shell_android on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_a...) linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...) cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linu...)
Patchset #5 (id:80001) has been deleted
Patchset #4 (id:60001) has been deleted
Patchset #3 (id:40001) has been deleted
The CQ bit was checked by xhwang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== media: Add an experimental flag to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a PPAPI plugin. This CL updates the build flags such that we also support hosting the CDM directly in Chromium, using mojo CDM. However, Mojo CDM on desktop Chromium is still under development. So it is disabled by default. A new base::Feature is added such that developers and testers can enable mojo CDM for prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm Note that --no-sandbox is required since we cannot load the CDM in a sandboxed utility process yet. Detailed changes in this CL: - Updated build flags to enable mojo CDM on cros/linux/mac/win. The CDM (run as part of MediaService) will run in the utility process. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. - Also copy base::Feature flags on command line for utility process. BUG=403462,725394,561090 ========== to ========== media: Add an experimental flag to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a PPAPI plugin. This CL updates the build flags such that we also support hosting the CDM directly in Chromium, using mojo CDM. However, Mojo CDM on desktop Chromium is still under development. So it is disabled by default. A new base::Feature is added such that developers and testers can enable mojo CDM for prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm Note that the CDM is running in an unsandboxed utility process since we cannot load the CDM in a sandboxed utility process yet. Detailed changes in this CL: - Updated build flags to enable mojo CDM on cros/linux/mac/win. The CDM (run as part of MediaService) will run in the utility process. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. - Also copy base::Feature flags on command line for utility process. BUG=403462,725394,561090 ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_...)
The CQ bit was checked by xhwang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds...) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device-xcode-...) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by xhwang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #4 (id:120001) has been deleted
Patchset #3 (id:100001) has been deleted
xhwang@chromium.org changed reviewers: + jrummell@chromium.org
jrummell: PTAL ddorwin: FYI
Description was changed from ========== media: Add an experimental flag to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a PPAPI plugin. This CL updates the build flags such that we also support hosting the CDM directly in Chromium, using mojo CDM. However, Mojo CDM on desktop Chromium is still under development. So it is disabled by default. A new base::Feature is added such that developers and testers can enable mojo CDM for prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm Note that the CDM is running in an unsandboxed utility process since we cannot load the CDM in a sandboxed utility process yet. Detailed changes in this CL: - Updated build flags to enable mojo CDM on cros/linux/mac/win. The CDM (run as part of MediaService) will run in the utility process. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. - Also copy base::Feature flags on command line for utility process. BUG=403462,725394,561090 ========== to ========== media: Add experimental feature to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a pepper plugin. This CL updates the build flags such that when pepper CDMs are enabled, we also enable hosting the CDM using mojo in an unsandboxed utility process. By default, pepper CDM will always be used and mojo CDM is disabled. A new base::Feature is added such that developers and testers can enable mojo CDM for early prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm Detailed changes in this CL: - Updated build flags to enable mojo CDM in utility process when pepper CDMs are enabled. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. - Also copy base::Feature flags on command line for utility process. Note that Mojo CDM on desktop Chromium is still under development. Some features will not work. Also, the CDM is running in an unsandboxed utility process since we cannot load the CDM in a sandboxed utility process yet. These will be addressed in future CLs. BUG=403462,725394,561090 ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
lgtm https://codereview.chromium.org/2900773004/diff/140001/content/renderer/rende... File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2900773004/diff/140001/content/renderer/rende... content/renderer/render_frame_impl.cc:6795: #if BUILDFLAG(ENABLE_MEDIA_REMOTING) Is it possible for cdm_factory_ to get set twice? Should this be first above, then #elif ENABLE_PEPPER_CDMS? https://codereview.chromium.org/2900773004/diff/140001/media/cdm/cdm_adapter_... File media/cdm/cdm_adapter_factory.cc (right): https://codereview.chromium.org/2900773004/diff/140001/media/cdm/cdm_adapter_... media/cdm/cdm_adapter_factory.cc:59: GetPlatformSpecificDirectory(kWidevineCdmBaseDirectory)); Can you use DIR_COMPONENT_WIDEVINE_CDM to get the Widevine directory? Doesn't look like there is anything that uses the library name, but at least simplify getting the directory.
Thanks for the review! Comments-to-comments only. https://codereview.chromium.org/2900773004/diff/140001/content/renderer/rende... File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2900773004/diff/140001/content/renderer/rende... content/renderer/render_frame_impl.cc:6795: #if BUILDFLAG(ENABLE_MEDIA_REMOTING) On 2017/05/23 22:23:28, jrummell wrote: > Is it possible for cdm_factory_ to get set twice? Should this be first above, > then #elif ENABLE_PEPPER_CDMS? The RemotingCdmFactory actually wraps the cdm_factory_ set above, so this has to be after the above block. https://codereview.chromium.org/2900773004/diff/140001/media/cdm/cdm_adapter_... File media/cdm/cdm_adapter_factory.cc (right): https://codereview.chromium.org/2900773004/diff/140001/media/cdm/cdm_adapter_... media/cdm/cdm_adapter_factory.cc:59: GetPlatformSpecificDirectory(kWidevineCdmBaseDirectory)); On 2017/05/23 22:23:28, jrummell wrote: > Can you use DIR_COMPONENT_WIDEVINE_CDM to get the Widevine directory? Doesn't > look like there is anything that uses the library name, but at least simplify > getting the directory. DIR_COMPONENT_WIDEVINE_CDM points to the component updated CDM, which isn't always available. Instead, we always have the bundled CDM, which is in the PlatformSpecificDirectory, and is what we'll use in the current mojo CDM path. In the future, we'll update CDM registration and pass the CDM path from the browser so that we don't need this hack here.
The CQ bit was checked by xhwang@chromium.org to run a CQ dry run
xhwang@chromium.org changed reviewers: + jam@chromium.org
jam: Please content/ OWNERS review. rockot: FYI
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
lgtm https://codereview.chromium.org/2900773004/diff/140001/content/renderer/rende... File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2900773004/diff/140001/content/renderer/rende... content/renderer/render_frame_impl.cc:6788: else nit: brace brackets per style guide
comments addressed
The CQ bit was checked by xhwang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by xhwang@chromium.org
The CQ bit was checked by xhwang@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from jrummell@chromium.org, jam@chromium.org Link to the patchset: https://codereview.chromium.org/2900773004/#ps160001 (title: "comments addressed")
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
The CQ bit was checked by xhwang@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by xhwang@chromium.org
The CQ bit was checked by xhwang@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from jrummell@chromium.org, jam@chromium.org Link to the patchset: https://codereview.chromium.org/2900773004/#ps180001 (title: "drop utility_process_host_impl.cc change")
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 180001, "attempt_start_ts": 1495605077943790, "parent_rev": "d10a8c41ef88566b25aff3f763ac7ec605bac4ea", "commit_rev": "846b429c5175d3637e4183bc06eb417eee09482c"}
Message was sent while issue was closed.
Description was changed from ========== media: Add experimental feature to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a pepper plugin. This CL updates the build flags such that when pepper CDMs are enabled, we also enable hosting the CDM using mojo in an unsandboxed utility process. By default, pepper CDM will always be used and mojo CDM is disabled. A new base::Feature is added such that developers and testers can enable mojo CDM for early prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm Detailed changes in this CL: - Updated build flags to enable mojo CDM in utility process when pepper CDMs are enabled. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. - Also copy base::Feature flags on command line for utility process. Note that Mojo CDM on desktop Chromium is still under development. Some features will not work. Also, the CDM is running in an unsandboxed utility process since we cannot load the CDM in a sandboxed utility process yet. These will be addressed in future CLs. BUG=403462,725394,561090 ========== to ========== media: Add experimental feature to enable Mojo CDM on desktop Chromium Currently in Chromium, the CDM is hosted by the CDM adapter which is a pepper plugin. This CL updates the build flags such that when pepper CDMs are enabled, we also enable hosting the CDM using mojo in an unsandboxed utility process. By default, pepper CDM will always be used and mojo CDM is disabled. A new base::Feature is added such that developers and testers can enable mojo CDM for early prototyping and testing. To enable mojo CDM, please add the following command line options: --enable-features=MojoCdm Detailed changes in this CL: - Updated build flags to enable mojo CDM in utility process when pepper CDMs are enabled. - Add a base::Feature media::kMojoCdm to enable mojo CDM at run time. - Add CdmAdapterFactory to create CdmAdapter, which hosts the CDM binary. - Register MediaService in the utility process to create CdmAdapterFactory when requested. - Also copy base::Feature flags on command line for utility process. Note that Mojo CDM on desktop Chromium is still under development. Some features will not work. Also, the CDM is running in an unsandboxed utility process since we cannot load the CDM in a sandboxed utility process yet. These will be addressed in future CLs. BUG=403462,725394,561090 Review-Url: https://codereview.chromium.org/2900773004 Cr-Commit-Position: refs/heads/master@{#474186} Committed: https://chromium.googlesource.com/chromium/src/+/846b429c5175d3637e4183bc06eb... ==========
Message was sent while issue was closed.
Committed patchset #5 (id:180001) as https://chromium.googlesource.com/chromium/src/+/846b429c5175d3637e4183bc06eb...
Message was sent while issue was closed.
A revert of this CL (patchset #5 id:180001) has been created in https://codereview.chromium.org/2902943002/ by vitaliii@chromium.org. The reason for reverting is: This CL seems to break |generate_build_files| step on chromium.chrome/Google Chrome Win..
Message was sent while issue was closed.
On 2017/05/24 07:53:04, vitaliii wrote: > A revert of this CL (patchset #5 id:180001) has been created in > https://codereview.chromium.org/2902943002/ by mailto:vitaliii@chromium.org. > > The reason for reverting is: This CL seems to break |generate_build_files| step > on chromium.chrome/Google Chrome Win.. After the revert, |generate_build_files| step is green again. Please see crbug.com/725808 for details. |