diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java index 047d9fe8c1..d408830b91 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java @@ -631,7 +631,7 @@ public final class Mp4Extractor implements Extractor, SeekMap { ? C.ROLE_FLAG_MAIN : C.ROLE_FLAG_ALTERNATE)); } - if (trackDurationUs > 0 && trackSampleTable.sampleCount > 1) { + if (trackDurationUs > 0 && trackSampleTable.sampleCount > 0) { float frameRate = trackSampleTable.sampleCount / (trackDurationUs / 1000000f); formatBuilder.setFrameRate(frameRate); } diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.0.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.0.dump index 9b9fb56ecb..e02002c847 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.0.dump @@ -270,6 +270,7 @@ track 1: maxInputSize = 151345 width = 2048 height = 1536 + frameRate = 2.142245 rotationDegrees = 90 colorInfo: colorSpace = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.1.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.1.dump index 101c1e62ce..dda8dd13dc 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.1.dump @@ -214,6 +214,7 @@ track 1: maxInputSize = 151345 width = 2048 height = 1536 + frameRate = 2.142245 rotationDegrees = 90 colorInfo: colorSpace = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.2.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.2.dump index 43a2b2db0d..db086e6742 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.2.dump @@ -130,6 +130,7 @@ track 1: maxInputSize = 151345 width = 2048 height = 1536 + frameRate = 2.142245 rotationDegrees = 90 colorInfo: colorSpace = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.3.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.3.dump index 1769eaa341..3d080f06a8 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.3.dump @@ -46,6 +46,7 @@ track 1: maxInputSize = 151345 width = 2048 height = 1536 + frameRate = 2.142245 rotationDegrees = 90 colorInfo: colorSpace = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump index e01422f04a..73cee9d278 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump @@ -16,6 +16,7 @@ track 0: maxInputSize = 3895 width = 180 height = 120 + frameRate = 1.1534026 pixelWidthHeightRatio = 0.5 colorInfo: lumaBitdepth = 8 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump index e01422f04a..73cee9d278 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump @@ -16,6 +16,7 @@ track 0: maxInputSize = 3895 width = 180 height = 120 + frameRate = 1.1534026 pixelWidthHeightRatio = 0.5 colorInfo: lumaBitdepth = 8 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump index e01422f04a..73cee9d278 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump @@ -16,6 +16,7 @@ track 0: maxInputSize = 3895 width = 180 height = 120 + frameRate = 1.1534026 pixelWidthHeightRatio = 0.5 colorInfo: lumaBitdepth = 8 diff --git a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump index e01422f04a..73cee9d278 100644 --- a/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump @@ -16,6 +16,7 @@ track 0: maxInputSize = 3895 width = 180 height = 120 + frameRate = 1.1534026 pixelWidthHeightRatio = 0.5 colorInfo: lumaBitdepth = 8 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.0.dump index 7330b9b0d8..1f60679b67 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.0.dump @@ -269,6 +269,7 @@ track 1: maxInputSize = 151345 width = 2048 height = 1536 + frameRate = 2.142245 rotationDegrees = 90 colorInfo: colorSpace = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.1.dump index 9366526413..f35c968891 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.1.dump @@ -213,6 +213,7 @@ track 1: maxInputSize = 151345 width = 2048 height = 1536 + frameRate = 2.142245 rotationDegrees = 90 colorInfo: colorSpace = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.2.dump index c50fc53220..35c9c29cd4 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.2.dump @@ -129,6 +129,7 @@ track 1: maxInputSize = 151345 width = 2048 height = 1536 + frameRate = 2.142245 rotationDegrees = 90 colorInfo: colorSpace = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.3.dump index 4633e0fdf3..afa4390c3f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.3.dump @@ -45,6 +45,7 @@ track 1: maxInputSize = 151345 width = 2048 height = 1536 + frameRate = 2.142245 rotationDegrees = 90 colorInfo: colorSpace = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.unknown_length.dump index 7330b9b0d8..1f60679b67 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.unknown_length.dump @@ -269,6 +269,7 @@ track 1: maxInputSize = 151345 width = 2048 height = 1536 + frameRate = 2.142245 rotationDegrees = 90 colorInfo: colorSpace = 1