diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.java index 0c159db7c1f..d1d012b4881 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.java @@ -637,7 +637,7 @@ private void processMoovAtom(ContainerAtom moov) throws ParserException { ? 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/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.0.dump b/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.0.dump index 9b9fb56ecb6..e02002c8471 100644 --- a/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.0.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.1.dump b/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.1.dump index 101c1e62ced..dda8dd13dc8 100644 --- a/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.1.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.2.dump b/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.2.dump index 43a2b2db0d0..db086e6742d 100644 --- a/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.2.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.3.dump b/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.3.dump index 1769eaa341a..3d080f06a8f 100644 --- a/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-2-hevc-tracks.jpg.3.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump b/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump index e01422f04a9..73cee9d2788 100644 --- a/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.0.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump b/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump index e01422f04a9..73cee9d2788 100644 --- a/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.1.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump b/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump index e01422f04a9..73cee9d2788 100644 --- a/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.2.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump b/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump index e01422f04a9..73cee9d2788 100644 --- a/testdata/src/test/assets/extractordumps/jpeg/pixel-motion-photo-jfif-segment-shortened.jpg.3.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.0.dump b/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.0.dump index 7330b9b0d88..1f60679b674 100644 --- a/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.0.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.1.dump b/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.1.dump index 93665264131..f35c9688916 100644 --- a/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.1.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.2.dump b/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.2.dump index c50fc53220b..35c9c29cd40 100644 --- a/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.2.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.3.dump b/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.3.dump index 4633e0fdf3d..afa4390c3ff 100644 --- a/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.3.dump +++ b/testdata/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/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.unknown_length.dump b/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.unknown_length.dump index 7330b9b0d88..1f60679b674 100644 --- a/testdata/src/test/assets/extractordumps/mp4/pixel-motion-photo-2-hevc-tracks.mp4.unknown_length.dump +++ b/testdata/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