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

Issue 867350 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 746956



Sign in to add a comment

Compile //media with jumbo

Project Member Reported by osc...@opera.com, Jul 25

Issue description

//media takes around 23 CPU minutes to compile, which is around 4 % of the total build time. 

A quick hack (jumbo_excluded_sources on a lot of colliding code) changed the time consumption from 23 CPU minutes to 9. 
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 25

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

commit 6b2889a5521d633d3c46cb0685cf325599f4c3cd
Author: Oscar Johansson <oscarj@opera.com>
Date: Wed Jul 25 12:17:36 2018

Remove unnecessary include (media/mojo/services)

When building using jumbo, files get merged together
and macros may end up in the same scope and conflict.
In media/mojo/services/test_mojo_media_client.cc a include
resulted in including ui/gl macros, which conflicted with
GLES2 macros.

This commit solved the issue by removing the include. The include
seems to be unnecessary and not used within the file.

Bug: 867350
Change-Id: I54f01bcd5d18b4acbaa231a5cf78a8b5e8f719e7
Reviewed-on: https://chromium-review.googlesource.com/1149862
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#577847}
[modify] https://crrev.com/6b2889a5521d633d3c46cb0685cf325599f4c3cd/media/mojo/services/test_mojo_media_client.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 25

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

commit 9032b7393e8768d31065873d48f18003d5f6dee3
Author: Oscar Johansson <oscarj@opera.com>
Date: Wed Jul 25 12:47:31 2018

Move function to util files (media/mojo)

When building using jumbo, files gets merged and functions
with the same name may end up in the same scope and conflict.

This commits moves such functions to shared util files,
instead of having duplicates.

Bug: 867350
Change-Id: I9986d6d653ef71acbf9583e18aa85a8e34f6e6f0
Reviewed-on: https://chromium-review.googlesource.com/1149781
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#577850}
[modify] https://crrev.com/9032b7393e8768d31065873d48f18003d5f6dee3/media/mojo/common/BUILD.gn
[modify] https://crrev.com/9032b7393e8768d31065873d48f18003d5f6dee3/media/mojo/common/mojo_data_pipe_read_write.cc
[modify] https://crrev.com/9032b7393e8768d31065873d48f18003d5f6dee3/media/mojo/common/mojo_decoder_buffer_converter.cc
[add] https://crrev.com/9032b7393e8768d31065873d48f18003d5f6dee3/media/mojo/common/mojo_pipe_read_write_util.cc
[add] https://crrev.com/9032b7393e8768d31065873d48f18003d5f6dee3/media/mojo/common/mojo_pipe_read_write_util.h
[modify] https://crrev.com/9032b7393e8768d31065873d48f18003d5f6dee3/media/mojo/services/BUILD.gn
[modify] https://crrev.com/9032b7393e8768d31065873d48f18003d5f6dee3/media/mojo/services/android_mojo_media_client.cc
[add] https://crrev.com/9032b7393e8768d31065873d48f18003d5f6dee3/media/mojo/services/android_mojo_util.cc
[add] https://crrev.com/9032b7393e8768d31065873d48f18003d5f6dee3/media/mojo/services/android_mojo_util.h
[modify] https://crrev.com/9032b7393e8768d31065873d48f18003d5f6dee3/media/mojo/services/gpu_mojo_media_client.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Jul 26

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

commit c0ad9315ff12d27b9e30d8503a99507f15a2b2e2
Author: Oscar Johansson <oscarj@opera.com>
Date: Thu Jul 26 07:45:00 2018

Enable jumbo for media/mojo

Building //media takes around 23 CPU minutes. A experimental
branch showed that this could be reduced, by using jumbo,
to around 9 CPU minutes. media/mojo is the largest part
of media and takes around 5 CPU minutes to compile without
jumbo.

This commit enables jumbo for media/mojo.

Bug: 867350
Change-Id: Iad7e5957cc7f01110c4163c9d368f1f04496630a
Reviewed-on: https://chromium-review.googlesource.com/1149863
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#578232}
[modify] https://crrev.com/c0ad9315ff12d27b9e30d8503a99507f15a2b2e2/media/mojo/clients/BUILD.gn
[modify] https://crrev.com/c0ad9315ff12d27b9e30d8503a99507f15a2b2e2/media/mojo/common/BUILD.gn
[modify] https://crrev.com/c0ad9315ff12d27b9e30d8503a99507f15a2b2e2/media/mojo/services/BUILD.gn

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 26

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

commit 79bdf92b9d045694c755514c58945764cb401e05
Author: Oscar Johansson <oscarj@opera.com>
Date: Thu Jul 26 09:15:06 2018

Move operator to namespace "media" (media/base)

When building using jumbo, the call:
s << " decrypt=" << (*decrypt_config_);
in media/base/decoder_buffer.cc does not
find the operator overload in:
media/base/decrypt_config.h
since it is not located within the same
namspace as DecryptConfig.

This commit solves the problem by moving
the operator overload to the namespace.

Bug: 867350
Change-Id: I92073b73cc52ac0bacc7446ce3d1389fef5f6c13
Reviewed-on: https://chromium-review.googlesource.com/1150164
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#578246}
[modify] https://crrev.com/79bdf92b9d045694c755514c58945764cb401e05/media/base/decrypt_config.h

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 26

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

commit 5ffe4388666ab06ead2034a93e2aed5cbb6c85d0
Author: Oscar Johansson <oscarj@opera.com>
Date: Thu Jul 26 15:10:36 2018

Enable jumbo support in media/base

Building //media takes around 23 CPU minutes. A experimental
branch showed that this could be reduced, by using jumbo,
to around 9 CPU minutes. media/base is the second largest part
of media and takes around 3.1 CPU minutes to compile without
jumbo.

This commit enables jumbo for media/base.

Bug: 867350
Change-Id: Ie2dae0a65bfc596b30339712a39cab321e293f48
Reviewed-on: https://chromium-review.googlesource.com/1150037
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#578305}
[modify] https://crrev.com/5ffe4388666ab06ead2034a93e2aed5cbb6c85d0/media/base/BUILD.gn
[modify] https://crrev.com/5ffe4388666ab06ead2034a93e2aed5cbb6c85d0/media/base/android/BUILD.gn
[modify] https://crrev.com/5ffe4388666ab06ead2034a93e2aed5cbb6c85d0/media/base/ipc/BUILD.gn
[modify] https://crrev.com/5ffe4388666ab06ead2034a93e2aed5cbb6c85d0/media/base/mac/BUILD.gn
[modify] https://crrev.com/5ffe4388666ab06ead2034a93e2aed5cbb6c85d0/media/base/win/BUILD.gn

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 27

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

commit 69f37c87a52efd7cc6c970e1cabce24b88f9110a
Author: Oscar Johansson <oscarj@opera.com>
Date: Fri Jul 27 11:12:14 2018

Forward declare template specialization (media/filters)

In jumbo builds the compiler complain about not
knowing about the template specialization of the
function OnStartOfCodedFrameGroup, that is defined
in source_buffer_stream.cc. To solve this issue
a fordward declaration is done before usage.

Bug: 867350
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: If090b848bc2ae78121620aba2349eac4c63d8a65
Reviewed-on: https://chromium-review.googlesource.com/1151313
Commit-Queue: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578591}
[modify] https://crrev.com/69f37c87a52efd7cc6c970e1cabce24b88f9110a/media/filters/chunk_demuxer.cc
[modify] https://crrev.com/69f37c87a52efd7cc6c970e1cabce24b88f9110a/media/filters/chunk_demuxer.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 27

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

commit 750549e1e4da6cd83a434160cec376badf430cdc
Author: Oscar Johansson <oscarj@opera.com>
Date: Fri Jul 27 11:12:32 2018

Resolve function name conflict (media/filters)

When building using jumbo, files merged and functions with
the same name may end up in the same namespace/scope. This
happens for the function OnError() that gets called by Bind().
OnError() is defined in:
media/filters/audio_video_metadata_extractor.cc
media/filters/media_file_checker.cc

This commit solves the issue by renaming one of the functions
to something more file specific.

Bug: 867350
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I1b762e4f1c4b11751df2302874af53106889d085
Reviewed-on: https://chromium-review.googlesource.com/1151316
Commit-Queue: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578592}
[modify] https://crrev.com/750549e1e4da6cd83a434160cec376badf430cdc/media/filters/media_file_checker.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 27

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

commit f52c1adbcf695749c7584f391bb0be30e761d70b
Author: Oscar Johansson <oscarj@opera.com>
Date: Fri Jul 27 11:13:34 2018

Resolve jumbo conflict in video decoders (media/filters)

When building using jumbo, files gets merged. Files and
variables with the same name may merge into the same
namespace or scope and conflict. This happens in the files:
media/filters/aom_video_decoder.cc
media/filters/ffmpeg_video_decoder.cc
media/filters/vpx_video_decoder.cc

This commit solves the issue by renaming the function
GetThreadCount to something more file specific. It also
moves some constants to that function.

Bug: 867350
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Id57aa6cc6ac10acd0073eee032d0d04592ba87e4
Reviewed-on: https://chromium-review.googlesource.com/1151311
Commit-Queue: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578593}
[modify] https://crrev.com/f52c1adbcf695749c7584f391bb0be30e761d70b/media/filters/aom_video_decoder.cc
[modify] https://crrev.com/f52c1adbcf695749c7584f391bb0be30e761d70b/media/filters/ffmpeg_video_decoder.cc
[modify] https://crrev.com/f52c1adbcf695749c7584f391bb0be30e761d70b/media/filters/vpx_video_decoder.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 27

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

commit eb1252cd6b376e03b33e62789dcf0740766fd8e3
Author: Oscar Johansson <oscarj@opera.com>
Date: Fri Jul 27 11:15:51 2018

Move transport functions and variables to util (media/cast)

When building using jumbo, files get merged and functions and
variables with the same name may end up in the same namespace
and conflict. This happens in:
media/cast/net/cast_transport_impl.cc
media/cast/net/udp_transport_impl.cc

Since the functions and variables are identical they are
moved to a common util file.

Bug: 867350
Change-Id: I08747781d56b78e9a8783bfec870c7084183062a
Reviewed-on: https://chromium-review.googlesource.com/1152738
Commit-Queue: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578596}
[modify] https://crrev.com/eb1252cd6b376e03b33e62789dcf0740766fd8e3/media/cast/BUILD.gn
[modify] https://crrev.com/eb1252cd6b376e03b33e62789dcf0740766fd8e3/media/cast/net/cast_transport_impl.cc
[add] https://crrev.com/eb1252cd6b376e03b33e62789dcf0740766fd8e3/media/cast/net/transport_util.cc
[add] https://crrev.com/eb1252cd6b376e03b33e62789dcf0740766fd8e3/media/cast/net/transport_util.h
[modify] https://crrev.com/eb1252cd6b376e03b33e62789dcf0740766fd8e3/media/cast/net/udp_transport_impl.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 27

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

commit f6d2c32aa020e6df1d74b1708cb2177bdb3ec87b
Author: Oscar Johansson <oscarj@opera.com>
Date: Fri Jul 27 12:16:18 2018

Enable jumbo for media/filters

Building //media takes around 23 CPU minutes. A experimental
branch showed that this could be reduced, by using jumbo,
to around 9 CPU minutes. media/filters is the third largest part
of media and takes around 2 CPU minutes to compile without
jumbo.

This commit enables jumbo for media/filters.

Bug: 867350
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I01fe34fb39b35bf1a95e893916c2fc49e59a6d9e
Reviewed-on: https://chromium-review.googlesource.com/1152808
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Commit-Queue: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578608}
[modify] https://crrev.com/f6d2c32aa020e6df1d74b1708cb2177bdb3ec87b/media/filters/BUILD.gn

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 27

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

commit ef9a2efcfc9fefebdefd98744f81c77ded9ef1e8
Author: Oscar Johansson <oscarj@opera.com>
Date: Fri Jul 27 12:17:09 2018

Enable jumbo for media/cast

Building //media takes around 23 CPU minutes. A experimental
branch showed that this could be reduced, by using jumbo,
to around 9 CPU minutes. media/cast is the fourth largest part
of media and takes around 2 CPU minutes to compile without
jumbo.

This commit enables jumbo for media/cast.

Bug: 867350
Change-Id: Iaefb6e7ac95c1c7fab78478f879a8ba542f329d9
Reviewed-on: https://chromium-review.googlesource.com/1152807
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Commit-Queue: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578609}
[modify] https://crrev.com/ef9a2efcfc9fefebdefd98744f81c77ded9ef1e8/media/cast/BUILD.gn

Project Member

Comment 12 by bugdroid1@chromium.org, Jul 31

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

commit 1509983700edb255bb581e1293f32e4e919b2e37
Author: Oscar Johansson <oscarj@opera.com>
Date: Tue Jul 31 12:16:32 2018

Remove "using namespace" (jumbo, media/capture)

When building using jumbo, files get merged and
the usage of "using namespace..." results in the
error:
using namespace directive in global context in header

This commit solves the issue by removing
"using namespace" and instead write the complete
name when it is used.

Bug: 867350
Change-Id: Iba570fbb737819ed515dc686ba65f9e7f9b47653
Reviewed-on: https://chromium-review.googlesource.com/1154538
Commit-Queue: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579380}
[modify] https://crrev.com/1509983700edb255bb581e1293f32e4e919b2e37/media/capture/video/win/video_capture_device_factory_win.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 1

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

commit 024eab9534886eafa2d154b19ec5c5fe3ca42bb6
Author: Oscar Johansson <oscarj@opera.com>
Date: Wed Aug 01 10:07:10 2018

Enable jumbo for media/capture

Building //media takes around 23 CPU minutes. A experimental
branch showed that this could be reduced, by using jumbo,
to around 9 CPU minutes. media/capture is the fifth largest part
of media and takes around 2 CPU minutes to compile without
jumbo.

This commit enables jumbo for media/capture.

Bug: 867350
Change-Id: Ib53497ecde8a096b4436b4c60069e9e24e482a68
Reviewed-on: https://chromium-review.googlesource.com/1154922
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Commit-Queue: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579745}
[modify] https://crrev.com/024eab9534886eafa2d154b19ec5c5fe3ca42bb6/media/capture/BUILD.gn

Blocking: 746956
Cc: osc...@opera.com brat...@opera.com
Owner: ----
Status: Available (was: Started)
Components: Build

Sign in to add a comment