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 942ff61c86..8463e52a7c 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 @@ -618,7 +618,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