nixpkgs-suyu/pkgs/development/libraries/mp4v2/A01-divide-zero.patch

23 lines
1.1 KiB
Diff
Raw Normal View History

--- mp4v2-r355/src/mp4track.cpp 2012-01-05 15:44:29.000000000 +0100
+++ mp4v2-r355/src/mp4track.cpp 2012-01-05 15:47:34.000000000 +0100
@@ -819,13 +819,14 @@
(thisSecStart + timeScale) - lastSampleTime;
// calculate the duration of the last sample
MP4Duration lastSampleDur = sampleTime - lastSampleTime;
- uint32_t overflow_bytes;
// now, calculate the number of bytes we overflowed. Round up.
- overflow_bytes =
- ((lastSampleSize * overflow_dur) + (lastSampleDur - 1)) / lastSampleDur;
+ if( lastSampleDur > 0 ) {
+ uint32_t overflow_bytes = 0;
+ overflow_bytes = ((lastSampleSize * overflow_dur) + (lastSampleDur - 1)) / lastSampleDur;
- if (bytesThisSec - overflow_bytes > maxBytesPerSec) {
- maxBytesPerSec = bytesThisSec - overflow_bytes;
+ if (bytesThisSec - overflow_bytes > maxBytesPerSec) {
+ maxBytesPerSec = bytesThisSec - overflow_bytes;
+ }
}
// now adjust the values for this sample. Remove the bytes