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

Issue 2697643003: media: Clean up MediaCodecBridge and remove subclasses (Closed)

Created:
3 years, 10 months ago by watk
Modified:
3 years, 10 months ago
CC:
DaleCurtis, agrieve+watch_chromium.org, avayvod+watch_chromium.org, chromium-reviews, eme-reviews_chromium.org, feature-media-reviews_chromium.org, mlamouri+watch-media_chromium.org, piman+watch_chromium.org, posciak+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

media: Clean up MediaCodecBridge and remove subclasses Previously we had two subclasses of MediaCodecBridgeImpl, VideoCodecBridge and AudioCodecBridge, which have become unnecessary. For simplicity and ease of mocking, now we just have MediaCodecBridgeImpl. This CL also includes various cleanups, including: * MediaCodecBridge factories return unique_ptrs. * Remove some unused MCB functions. * Use the java enum generator where possible to sync native and java enums. * Collapsing DEQUEUE_OUTPUT_TRY_AGAIN and DEQUEUE_INPUT_TRY_AGAIN into a single TRY_AGAIN (like MediaCodec). * Remove size params from isAdaptivePlaybackSupported() because they weren't used. * Localizing codec to mime type conversions to MediaCodecUtil. * Passing mime strings to MediaCodecUtil::CanDecode() instead of an ad-hoc codec name string. BUG=691828 TEST=existing tests CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2697643003 Cr-Commit-Position: refs/heads/master@{#452334} Committed: https://chromium.googlesource.com/chromium/src/+/c71ef8d720f0aea74a3ac4efe15df87670fa3875

Patch Set 1 #

Total comments: 6

Patch Set 2 : . #

Patch Set 3 : . #

Patch Set 4 : Remove static initializers (thanks to dale's suggestion) #

Total comments: 9

Patch Set 5 : move functions; remove ToIntArray #

Patch Set 6 : fix clang warnings #

Patch Set 7 : missed renaming some instances #

Patch Set 8 : mime constants were upper cased accidentally #

Patch Set 9 : add MEDIA_EXPORT so it links #

Patch Set 10 : Revert codec delay in ns calculation #

Total comments: 3

Patch Set 11 : Stop exporting mime types #

Total comments: 2

Patch Set 12 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+741 lines, -968 lines) Patch
M components/cdm/browser/cdm_message_filter_android.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +32 lines, -23 lines 0 comments Download
M media/base/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +13 lines, -0 lines 0 comments Download
M media/base/android/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +12 lines, -1 line 0 comments Download
M media/base/android/java/src/org/chromium/media/CodecProfileLevelList.java View 1 2 3 4 5 6 7 8 9 10 9 chunks +35 lines, -64 lines 0 comments Download
M media/base/android/java/src/org/chromium/media/MediaCodecBridge.java View 14 chunks +29 lines, -44 lines 0 comments Download
M media/base/android/java/src/org/chromium/media/MediaCodecUtil.java View 1 5 chunks +8 lines, -10 lines 0 comments Download
M media/base/android/media_codec_bridge.h View 1 2 4 chunks +33 lines, -28 lines 0 comments Download
M media/base/android/media_codec_bridge_impl.h View 1 2 3 4 5 4 chunks +39 lines, -164 lines 0 comments Download
M media/base/android/media_codec_bridge_impl.cc View 1 2 3 4 5 6 7 8 9 14 chunks +313 lines, -403 lines 0 comments Download
M media/base/android/media_codec_bridge_impl_unittest.cc View 6 chunks +62 lines, -58 lines 0 comments Download
M media/base/android/media_codec_direction.h View 1 chunk +4 lines, -4 lines 0 comments Download
M media/base/android/media_codec_loop.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M media/base/android/media_codec_loop_unittest.cc View 9 chunks +11 lines, -11 lines 0 comments Download
M media/base/android/media_codec_util.h View 1 2 3 4 5 6 7 8 9 10 5 chunks +12 lines, -22 lines 0 comments Download
M media/base/android/media_codec_util.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +67 lines, -62 lines 0 comments Download
M media/base/android/mock_media_codec_bridge.h View 1 2 3 4 5 2 chunks +4 lines, -2 lines 0 comments Download
M media/base/android/mock_media_codec_bridge.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M media/base/encryption_scheme.h View 1 chunk +1 line, -0 lines 0 comments Download
M media/base/video_codecs.h View 2 chunks +7 lines, -7 lines 0 comments Download
M media/filters/android/media_codec_audio_decoder.cc View 2 chunks +7 lines, -16 lines 0 comments Download
M media/gpu/android/media_codec_video_decoder.cc View 1 chunk +2 lines, -1 line 0 comments Download
M media/gpu/android_video_decode_accelerator.h View 1 2 3 4 5 6 7 8 9 3 chunks +3 lines, -3 lines 0 comments Download
M media/gpu/android_video_decode_accelerator.cc View 1 2 3 4 5 6 7 8 9 6 chunks +12 lines, -13 lines 0 comments Download
M media/gpu/android_video_encode_accelerator.h View 1 chunk +1 line, -1 line 0 comments Download
M media/gpu/android_video_encode_accelerator.cc View 5 chunks +8 lines, -7 lines 0 comments Download
M media/gpu/avda_codec_allocator.h View 1 2 3 4 5 6 7 3 chunks +3 lines, -3 lines 0 comments Download
M media/gpu/avda_codec_allocator.cc View 4 chunks +10 lines, -8 lines 0 comments Download
M media/gpu/avda_codec_allocator_unittest.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M media/gpu/avda_codec_image.h View 1 chunk +2 lines, -2 lines 0 comments Download
M media/gpu/avda_codec_image.cc View 1 chunk +1 line, -1 line 0 comments Download
M media/gpu/avda_picture_buffer_manager.h View 3 chunks +3 lines, -3 lines 0 comments Download
M media/gpu/avda_picture_buffer_manager.cc View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 86 (53 generated)
watk
PTAL. This follows on from https://codereview.chromium.org/2672313006/. https://codereview.chromium.org/2697643003/diff/1/components/cdm/browser/cdm_message_filter_android.cc File components/cdm/browser/cdm_message_filter_android.cc (left): https://codereview.chromium.org/2697643003/diff/1/components/cdm/browser/cdm_message_filter_android.cc#oldcode40 components/cdm/browser/cdm_message_filter_android.cc:40: {media::EME_CODEC_WEBM_OPUS, CODEC_AUDIO, "opus", ...
3 years, 10 months ago (2017-02-14 01:40:51 UTC) #7
watk
3 years, 10 months ago (2017-02-14 01:41:13 UTC) #8
watk
Btw, I moved the factory functions back to line up with their previous versions so ...
3 years, 10 months ago (2017-02-14 02:32:14 UTC) #9
watk
https://codereview.chromium.org/2697643003/diff/60001/components/cdm/browser/cdm_message_filter_android.cc File components/cdm/browser/cdm_message_filter_android.cc (right): https://codereview.chromium.org/2697643003/diff/60001/components/cdm/browser/cdm_message_filter_android.cc#newcode18 components/cdm/browser/cdm_message_filter_android.cc:18: #include "media/base/video_codecs.h" Note to me: delete these now.
3 years, 10 months ago (2017-02-14 02:32:45 UTC) #10
liberato (no reviews please)
very nice. lgtm. -fl https://codereview.chromium.org/2697643003/diff/60001/media/base/android/media_codec_util.cc File media/base/android/media_codec_util.cc (right): https://codereview.chromium.org/2697643003/diff/60001/media/base/android/media_codec_util.cc#newcode32 media/base/android/media_codec_util.cc:32: namespace mime_type { these seem ...
3 years, 10 months ago (2017-02-14 17:44:11 UTC) #11
DaleCurtis
https://codereview.chromium.org/2697643003/diff/60001/media/base/android/media_codec_util.cc File media/base/android/media_codec_util.cc (right): https://codereview.chromium.org/2697643003/diff/60001/media/base/android/media_codec_util.cc#newcode32 media/base/android/media_codec_util.cc:32: namespace mime_type { On 2017/02/14 at 17:44:11, liberato wrote: ...
3 years, 10 months ago (2017-02-14 18:10:32 UTC) #13
watk
In the latest PS I moved the static functions in MCBridgeImpl back to the top ...
3 years, 10 months ago (2017-02-14 23:28:58 UTC) #14
watk
https://codereview.chromium.org/2697643003/diff/60001/media/base/android/media_codec_util.cc File media/base/android/media_codec_util.cc (right): https://codereview.chromium.org/2697643003/diff/60001/media/base/android/media_codec_util.cc#newcode59 media/base/android/media_codec_util.cc:59: mime_type::kMp3, mime_type::kAac, mime_type::kOpus, mime_type::kVorbis, I added mp3 here, because ...
3 years, 10 months ago (2017-02-14 23:35:56 UTC) #15
DaleCurtis
https://codereview.chromium.org/2697643003/diff/60001/media/base/android/media_codec_util.cc File media/base/android/media_codec_util.cc (right): https://codereview.chromium.org/2697643003/diff/60001/media/base/android/media_codec_util.cc#newcode59 media/base/android/media_codec_util.cc:59: mime_type::kMp3, mime_type::kAac, mime_type::kOpus, mime_type::kVorbis, On 2017/02/14 at 23:35:56, watk ...
3 years, 10 months ago (2017-02-14 23:44:43 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2697643003/100001
3 years, 10 months ago (2017-02-15 00:57:52 UTC) #26
commit-bot: I haz the power
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_swarming_rel/builds/119075) chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, ...
3 years, 10 months ago (2017-02-15 01:24:14 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2697643003/120001
3 years, 10 months ago (2017-02-15 01:33:26 UTC) #31
commit-bot: I haz the power
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_swarming_rel/builds/119103)
3 years, 10 months ago (2017-02-15 02:01:24 UTC) #33
watk
I'm dumb. I reordered the codec delay calculation to be more intuitive and completely broke ...
3 years, 10 months ago (2017-02-17 01:58:53 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2697643003/220001
3 years, 10 months ago (2017-02-17 02:01:32 UTC) #47
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/384679)
3 years, 10 months ago (2017-02-17 03:57:01 UTC) #49
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2697643003/220001
3 years, 10 months ago (2017-02-17 20:13:20 UTC) #51
watk
+xhwang@: ptal at components/cdm
3 years, 10 months ago (2017-02-17 22:46:44 UTC) #53
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_TIMED_OUT, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/367479)
3 years, 10 months ago (2017-02-17 22:59:54 UTC) #55
xhwang
Sorry for the delay. For android_mime_type, typically we don't use inner namespaces for constants, so ...
3 years, 10 months ago (2017-02-21 18:48:42 UTC) #56
watk
On 2017/02/21 18:48:42, xhwang_slow wrote: > Sorry for the delay. > > For android_mime_type, typically ...
3 years, 10 months ago (2017-02-21 20:00:56 UTC) #57
watk
On 2017/02/21 20:00:56, watk wrote: > On 2017/02/21 18:48:42, xhwang_slow wrote: > > Sorry for ...
3 years, 10 months ago (2017-02-21 20:02:08 UTC) #58
DaleCurtis
https://codereview.chromium.org/2697643003/diff/220001/components/cdm/browser/cdm_message_filter_android.cc File components/cdm/browser/cdm_message_filter_android.cc (right): https://codereview.chromium.org/2697643003/diff/220001/components/cdm/browser/cdm_message_filter_android.cc#newcode14 components/cdm/browser/cdm_message_filter_android.cc:14: #include "ipc/ipc_message_macros.h" Hmm, can't we delete this class now? ...
3 years, 10 months ago (2017-02-21 20:25:49 UTC) #59
DaleCurtis
https://codereview.chromium.org/2697643003/diff/220001/components/cdm/browser/cdm_message_filter_android.cc File components/cdm/browser/cdm_message_filter_android.cc (right): https://codereview.chromium.org/2697643003/diff/220001/components/cdm/browser/cdm_message_filter_android.cc#newcode14 components/cdm/browser/cdm_message_filter_android.cc:14: #include "ipc/ipc_message_macros.h" On 2017/02/21 at 20:25:49, DaleCurtis wrote: > ...
3 years, 10 months ago (2017-02-21 20:27:42 UTC) #60
watk
On 2017/02/21 20:27:42, DaleCurtis wrote: > https://codereview.chromium.org/2697643003/diff/220001/components/cdm/browser/cdm_message_filter_android.cc > File components/cdm/browser/cdm_message_filter_android.cc (right): > > https://codereview.chromium.org/2697643003/diff/220001/components/cdm/browser/cdm_message_filter_android.cc#newcode14 > ...
3 years, 10 months ago (2017-02-21 20:31:27 UTC) #61
xhwang
https://codereview.chromium.org/2697643003/diff/220001/components/cdm/browser/cdm_message_filter_android.cc File components/cdm/browser/cdm_message_filter_android.cc (right): https://codereview.chromium.org/2697643003/diff/220001/components/cdm/browser/cdm_message_filter_android.cc#newcode14 components/cdm/browser/cdm_message_filter_android.cc:14: #include "ipc/ipc_message_macros.h" On 2017/02/21 20:27:42, DaleCurtis wrote: > On ...
3 years, 10 months ago (2017-02-21 20:38:59 UTC) #62
watk
Talked offline: Dale didn't want to export the mime types to prevent misuse of them. ...
3 years, 10 months ago (2017-02-21 21:46:22 UTC) #66
DaleCurtis
lgtm, thanks! https://codereview.chromium.org/2697643003/diff/260001/components/cdm/browser/cdm_message_filter_android.cc File components/cdm/browser/cdm_message_filter_android.cc (right): https://codereview.chromium.org/2697643003/diff/260001/components/cdm/browser/cdm_message_filter_android.cc#newcode64 components/cdm/browser/cdm_message_filter_android.cc:64: bool is_secure = !video_must_be_compositable; Question for a ...
3 years, 10 months ago (2017-02-21 21:50:42 UTC) #67
xhwang
lgtm https://codereview.chromium.org/2697643003/diff/260001/components/cdm/browser/cdm_message_filter_android.cc File components/cdm/browser/cdm_message_filter_android.cc (right): https://codereview.chromium.org/2697643003/diff/260001/components/cdm/browser/cdm_message_filter_android.cc#newcode64 components/cdm/browser/cdm_message_filter_android.cc:64: bool is_secure = !video_must_be_compositable; On 2017/02/21 21:50:42, DaleCurtis ...
3 years, 10 months ago (2017-02-21 21:53:23 UTC) #68
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2697643003/260001
3 years, 10 months ago (2017-02-22 22:55:32 UTC) #73
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/370658) ios-device on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 10 months ago (2017-02-22 23:00:19 UTC) #75
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2697643003/300001
3 years, 10 months ago (2017-02-22 23:29:36 UTC) #83
commit-bot: I haz the power
3 years, 10 months ago (2017-02-23 01:41:26 UTC) #86
Message was sent while issue was closed.
Committed patchset #12 (id:300001) as
https://chromium.googlesource.com/chromium/src/+/c71ef8d720f0aea74a3ac4efe15d...

Powered by Google App Engine
This is Rietveld 408576698