From f8dc311c144a9f3b39455965c71958c9af813e36 Mon Sep 17 00:00:00 2001 From: Artur Ciesielski Date: Mon, 5 Oct 2015 18:06:03 +0200 Subject: [PATCH] Fix for incorrect fetching of framerate from Quicktime .mov files The problem first noticed with Tears of Steel .mov file showing 1000 FPS --- Module/AudioVideo/Quicktime.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Module/AudioVideo/Quicktime.php b/Module/AudioVideo/Quicktime.php index 063c9f0..38aaca4 100644 --- a/Module/AudioVideo/Quicktime.php +++ b/Module/AudioVideo/Quicktime.php @@ -993,7 +993,7 @@ public function QuicktimeParseAtom($atomname, $atomsize, $atom_data, $baseoffset return false; } - $info['quicktime']['time_scale'] = (isset($info['quicktime']['time_scale']) ? max($info['quicktime']['time_scale'], $atom_structure['time_scale']) : $atom_structure['time_scale']); + $info['quicktime']['time_scale'] = ((isset($info['quicktime']['time_scale']) && ($info['quicktime']['time_scale'] < 1000)) ? max($info['quicktime']['time_scale'], $atom_structure['time_scale']) : $atom_structure['time_scale']); $atom_structure['creation_time_unix'] = Helper::DateMac2Unix($atom_structure['creation_time']); $atom_structure['modify_time_unix'] = Helper::DateMac2Unix($atom_structure['modify_time']); @@ -1102,7 +1102,7 @@ public function QuicktimeParseAtom($atomname, $atomsize, $atom_data, $baseoffset } $atom_structure['creation_time_unix'] = Helper::DateMac2Unix($atom_structure['creation_time']); $atom_structure['modify_time_unix'] = Helper::DateMac2Unix($atom_structure['modify_time']); - $info['quicktime']['time_scale'] = (isset($info['quicktime']['time_scale']) ? max($info['quicktime']['time_scale'], $atom_structure['time_scale']) : $atom_structure['time_scale']); + $info['quicktime']['time_scale'] = ((isset($info['quicktime']['time_scale']) && ($info['quicktime']['time_scale'] < 1000)) ? max($info['quicktime']['time_scale'], $atom_structure['time_scale']) : $atom_structure['time_scale']); $info['quicktime']['display_scale'] = $atom_structure['matrix_a']; $info['playtime_seconds'] = $atom_structure['duration'] / $atom_structure['time_scale']; break;