コード例 #1
0
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);
                    }
                }
            }
        }
    }
}