diff --git a/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java index 26b0decb6fc..0bf588c27c3 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java @@ -230,7 +230,12 @@ public static ColorInfo getColorInfo(MediaFormat mediaFormat) { || colorRange != Format.NO_VALUE || colorTransfer != Format.NO_VALUE || hdrStaticInfo != null) { - return new ColorInfo(colorSpace, colorRange, colorTransfer, hdrStaticInfo); + return new ColorInfo.Builder() + .setColorSpace(colorSpace) + .setColorRange(colorRange) + .setColorTransfer(colorTransfer) + .setHdrStaticInfo(hdrStaticInfo) + .build(); } return null; } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index 8ed4eadc643..5b5c3ad4496 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -260,8 +260,11 @@ private static ImmutableList getGlShaderProgramsForGlEffects( ImmutableList.Builder rgbMatrixListBuilder = new ImmutableList.Builder<>(); boolean sampleFromInputTexture = true; ColorInfo linearColorInfo = - new ColorInfo( - outputColorInfo.colorSpace, outputColorInfo.colorRange, C.COLOR_TRANSFER_LINEAR, null); + outputColorInfo + .buildUpon() + .setColorTransfer(C.COLOR_TRANSFER_LINEAR) + .setHdrStaticInfo(null) + .build(); for (int i = 0; i < effects.size(); i++) { Effect effect = effects.get(i); checkArgument(effect instanceof GlEffect, "GlEffectsFrameProcessor only supports GlEffects"); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java index d496f411e6c..8b75757675a 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java @@ -103,11 +103,11 @@ public final class AndroidTestUtil { .setHeight(1080) .setFrameRate(30.000f) .setColorInfo( - new ColorInfo( - C.COLOR_SPACE_BT2020, - C.COLOR_RANGE_LIMITED, - C.COLOR_TRANSFER_HLG, - /* hdrStaticInfo= */ null)) + new ColorInfo.Builder() + .setColorSpace(C.COLOR_SPACE_BT2020) + .setColorRange(C.COLOR_RANGE_LIMITED) + .setColorTransfer(C.COLOR_TRANSFER_HLG) + .build()) .build(); public static final String MP4_ASSET_1080P_4_SECOND_HDR10 = "asset:///media/mp4/hdr10-1080p.mp4"; public static final Format MP4_ASSET_1080P_4_SECOND_HDR10_FORMAT = @@ -117,11 +117,11 @@ public final class AndroidTestUtil { .setHeight(1080) .setFrameRate(23.517f) .setColorInfo( - new ColorInfo( - C.COLOR_SPACE_BT2020, - C.COLOR_RANGE_LIMITED, - C.COLOR_TRANSFER_ST2084, - /* hdrStaticInfo= */ null)) + new ColorInfo.Builder() + .setColorSpace(C.COLOR_SPACE_BT2020) + .setColorRange(C.COLOR_RANGE_LIMITED) + .setColorTransfer(C.COLOR_TRANSFER_ST2084) + .build()) .build(); public static final String MP4_ASSET_1080P_1_SECOND_HDR10_VIDEO_SDR_CONTAINER = "asset:///media/mp4/hdr10-video-with-sdr-container.mp4"; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/HdrEditingTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/HdrEditingTest.java index cadefa5752d..44c9df2597e 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/HdrEditingTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/HdrEditingTest.java @@ -56,17 +56,17 @@ public class HdrEditingTest { public static final String TAG = "HdrEditingTest"; private static final ColorInfo HDR10_DEFAULT_COLOR_INFO = - new ColorInfo( - C.COLOR_SPACE_BT2020, - C.COLOR_RANGE_LIMITED, - C.COLOR_TRANSFER_ST2084, - /* hdrStaticInfo= */ null); + new ColorInfo.Builder() + .setColorSpace(C.COLOR_SPACE_BT2020) + .setColorRange(C.COLOR_RANGE_LIMITED) + .setColorTransfer(C.COLOR_TRANSFER_ST2084) + .build(); private static final ColorInfo HLG10_DEFAULT_COLOR_INFO = - new ColorInfo( - C.COLOR_SPACE_BT2020, - C.COLOR_RANGE_LIMITED, - C.COLOR_TRANSFER_HLG, - /* hdrStaticInfo= */ null); + new ColorInfo.Builder() + .setColorSpace(C.COLOR_SPACE_BT2020) + .setColorRange(C.COLOR_RANGE_LIMITED) + .setColorTransfer(C.COLOR_TRANSFER_HLG) + .build(); @Test public void transform_noRequestedTranscode_hdr10File_transformsOrThrows() throws Exception { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java index 163f0c7c5c1..43e1a1e98f6 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java @@ -128,11 +128,11 @@ public VideoSamplePipeline( // C.COLOR_TRANSFER_SDR to the encoder. ColorInfo frameProcessorOutputColor = isGlToneMapping - ? new ColorInfo( - C.COLOR_SPACE_BT709, - C.COLOR_RANGE_LIMITED, - C.COLOR_TRANSFER_GAMMA_2_2, - /* hdrStaticInfo= */ null) + ? new ColorInfo.Builder() + .setColorSpace(C.COLOR_SPACE_BT709) + .setColorRange(C.COLOR_RANGE_LIMITED) + .setColorTransfer(C.COLOR_TRANSFER_GAMMA_2_2) + .build() : encoderInputColor; try { frameProcessor =