function areConversionsComplete($videos, $processingTime, $markComplete = false) { $media = new media(); foreach ($videos as $videoID => $videoData) { $date = strtotime($videoData['creation_date']); if (!intval($videoData['conversion_complete'])) { if (time() - $date >= $processingTime) { $flavorsFromKMC = getFlavorsFromKMC($videoID); foreach ($flavorsFromKMC as $flavor) { if ("" != $flavor['codec_id']) { $media->addFlavor($flavor['flavor_id'], $videoID, $flavor['codec_id'], $flavor['file_ext']); } } // update database, don't mark as complete if the flavors actually aren't there yet // the reason for having a timer is because polling a web service (the KMC) is // relatively slow, so we have a heuristic to call this less if (!empty($flavorsFromKMC)) { if ($markComplete || count($flavorsFromKMC) >= MINIMUM_FLAVOR_COUNT) { $media->conversionComplete($videoID); } } } } } }