$ok = false; switch ($task["task"]) { case TASK_SEND_METADATA: $url .= "&action=transcoder_send_metadata"; $url .= "&id=" . $media["remoteid"]; $url .= "&metadata=" . urlencode(json_encode(unserialize($media["metadata"]))); $ok = true; break; case TASK_SEND_METADATAERROR: $url .= "&action=transcoder_send_alert"; $url .= "&id=" . $media["remoteid"]; $url .= "&status=1&message=" . urlencode("No track found while reading metadata"); $ok = true; break; case TASK_SEND_TRANSCODE: $transcode = $api->transcodeSearch(array("id" => $task["params"]["transcode"])); if (!$transcode) { $api->log(LOG_CRIT, "Got task '" . $task["id"] . "' but transcode '" . $task["transcodeid"] . "' not found!!"); $api->setTaskFailedUnlock($task["id"]); continue; } $transcode = $transcode[0]; $metadata = unserialize($transcode["metadata"]); $url .= "&action=transcoder_send_format"; $url .= "&id=" . $media["remoteid"]; $url .= "&settings_id=" . $transcode["setting"]; $url .= "&cardinality=" . intval($metadata["cardinality"]); $url .= "&adapter=" . $media["adapter"]; $url .= "&metadata=" . urlencode(json_encode($metadata)); $ok = true; break;
// we sleep for a little while, thanks to that, we can launch that process as soon as we want: // it will still do *nothing* for a little while when there is nothing to do ;) $api->log(LOG_DEBUG, "Nothing to do, sleeping..."); sleep(60); continue; } // Get the task's parameters */ $params = $task["params"]; $media = $api->mediaSearch(array("id" => $task["mediaid"])); if (!$media) { $api->log(LOG_CRIT, "Got task '" . $task["id"] . "' but media '" . $task["mediaid"] . "' not found!!"); $api->setTaskFailedUnlock($task["id"]); continue; } $media = $media[0]; $transcode = $api->transcodeSearch(array("id" => $params["transcode"])); $api->log(LOG_DEBUG, "Transcode search '" . $params["transcode"] . "' returns '" . print_r($transcode, 1) . "'"); if (!$transcode) { $api->log(LOG_CRIT, "Got task '" . $task["id"] . "' but transcode '" . $params["transcode"] . "' not found!!"); $api->setTaskFailedUnlock($task["id"]); continue; } $transcode = $transcode[0]; $api->me = Users::get($task["user"]); $adapterObject = $api->getAdapter($media["adapter"]); if (!$adapterObject) { $api->log(LOG_CRIT, "Got task '" . $task["id"] . "' but adapter '" . $task["adapter"] . "' not found!!"); $api->setTaskFailedUnlock($task["id"]); continue; } list($source, $destination) = $adapterObject->filePathTranscode($media, $all_settings[$params["setting"]]);