mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Update code based on Google comments
This commit is contained in:
parent
5eb064d2d1
commit
6b6d66c7ce
@ -1304,7 +1304,6 @@ public class TransformerEndToEndTest {
|
||||
.run(testId, editedMediaItem);
|
||||
ExportResult exportResult = exportTestResult.exportResult;
|
||||
|
||||
assert exportTestResult.filePath != null;
|
||||
String actualMimeType =
|
||||
retrieveTrackFormat(context, exportTestResult.filePath, C.TRACK_TYPE_VIDEO).sampleMimeType;
|
||||
assertThat(actualMimeType).isEqualTo(MimeTypes.VIDEO_DOLBY_VISION);
|
||||
|
@ -15,6 +15,7 @@
|
||||
*/
|
||||
package androidx.media3.transformer.mh;
|
||||
|
||||
import static androidx.media3.common.MimeTypes.VIDEO_DOLBY_VISION;
|
||||
import static androidx.media3.common.MimeTypes.VIDEO_H265;
|
||||
import static androidx.media3.common.util.Assertions.checkState;
|
||||
import static androidx.media3.test.utils.TestUtil.retrieveTrackFormat;
|
||||
@ -164,14 +165,16 @@ public final class HdrEditingTest {
|
||||
new TransformerAndroidTestRunner.Builder(context, transformer)
|
||||
.build()
|
||||
.run(testId, mediaItem);
|
||||
assert exportTestResult.filePath != null;
|
||||
@C.ColorTransfer
|
||||
int actualColorTransfer =
|
||||
Objects.requireNonNull(
|
||||
retrieveTrackFormat(context, exportTestResult.filePath, C.TRACK_TYPE_VIDEO)
|
||||
.colorInfo)
|
||||
.colorInfo
|
||||
.colorTransfer;
|
||||
assertThat(actualColorTransfer).isEqualTo(C.COLOR_TRANSFER_HLG);
|
||||
String actualMimeType =
|
||||
retrieveTrackFormat(context, exportTestResult.filePath, C.TRACK_TYPE_VIDEO)
|
||||
.sampleMimeType;
|
||||
assertThat(actualMimeType).isEqualTo(VIDEO_DOLBY_VISION);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -259,12 +262,10 @@ public final class HdrEditingTest {
|
||||
new TransformerAndroidTestRunner.Builder(context, transformer)
|
||||
.build()
|
||||
.run(testId, editedMediaItem);
|
||||
assert exportTestResult.filePath != null;
|
||||
@C.ColorTransfer
|
||||
int actualColorTransfer =
|
||||
Objects.requireNonNull(
|
||||
retrieveTrackFormat(context, exportTestResult.filePath, C.TRACK_TYPE_VIDEO)
|
||||
.colorInfo)
|
||||
.colorInfo
|
||||
.colorTransfer;
|
||||
assertThat(actualColorTransfer).isEqualTo(C.COLOR_TRANSFER_HLG);
|
||||
}
|
||||
@ -402,7 +403,6 @@ public final class HdrEditingTest {
|
||||
throws Exception {
|
||||
Context context = ApplicationProvider.getApplicationContext();
|
||||
Format format = MP4_ASSET_DOLBY_VISION_HDR_FORMAT;
|
||||
assert format.colorInfo != null;
|
||||
if (deviceSupportsHdrEditing(VIDEO_H265, format.colorInfo)) {
|
||||
recordTestSkipped(context, testId, /* reason= */ "Device supports Dolby Vision editing.");
|
||||
return;
|
||||
@ -442,12 +442,10 @@ public final class HdrEditingTest {
|
||||
.build()
|
||||
.run(testId, editedMediaItem);
|
||||
assertThat(isToneMappingFallbackApplied.get()).isTrue();
|
||||
assert exportTestResult.filePath != null;
|
||||
@C.ColorTransfer
|
||||
int actualColorTransfer =
|
||||
Objects.requireNonNull(
|
||||
retrieveTrackFormat(context, exportTestResult.filePath, C.TRACK_TYPE_VIDEO)
|
||||
.colorInfo)
|
||||
.colorInfo
|
||||
.colorTransfer;
|
||||
assertThat(actualColorTransfer).isEqualTo(C.COLOR_TRANSFER_SDR);
|
||||
} catch (ExportException exception) {
|
||||
|
@ -111,8 +111,7 @@ import java.nio.ByteBuffer;
|
||||
if (isVideo) {
|
||||
mediaFormat = MediaFormat.createVideoFormat(sampleMimeType, format.width, format.height);
|
||||
MediaFormatUtil.maybeSetColorInfo(mediaFormat, format.colorInfo);
|
||||
if (sampleMimeType.equals(MimeTypes.VIDEO_DOLBY_VISION) &&
|
||||
android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
|
||||
if (sampleMimeType.equals(MimeTypes.VIDEO_DOLBY_VISION) && SDK_INT >= 33) {
|
||||
mediaFormat.setInteger(MediaFormat.KEY_PROFILE, getDvProfile(format));
|
||||
mediaFormat.setInteger(MediaFormat.KEY_LEVEL, getDvLevel(format));
|
||||
}
|
||||
@ -295,7 +294,7 @@ import java.nio.ByteBuffer;
|
||||
|
||||
// Get Dolby Vision profile
|
||||
// Refer to https://professionalsupport.dolby.com/s/article/What-is-Dolby-Vision-Profile
|
||||
@RequiresApi(api = Build.VERSION_CODES.TIRAMISU)
|
||||
@RequiresApi(33)
|
||||
private static int getDvProfile(Format format) {
|
||||
// Currently, only profile 8 is supported for encoding
|
||||
// TODO: set profile ID based on format.
|
||||
@ -304,7 +303,7 @@ import java.nio.ByteBuffer;
|
||||
|
||||
// Get Dolby Vision level
|
||||
// Refer to https://professionalsupport.dolby.com/s/article/What-is-Dolby-Vision-Profile
|
||||
@RequiresApi(api = Build.VERSION_CODES.TIRAMISU)
|
||||
@RequiresApi(33)
|
||||
private static int getDvLevel(Format format) {
|
||||
int level = -1;
|
||||
int maxWidthHeight = Math.max(format.width, format.height);
|
||||
|
Loading…
x
Reference in New Issue
Block a user