public function checkIsLive($url)
 {
     KalturaLog::info('url to check:' . $url);
     $parts = parse_url($url);
     parse_str($parts['query'], $query);
     $token = $query[$this->getParamName()];
     $data = $this->urlExists($url, array($this->getHdsManifestContentType()));
     if (!$data) {
         KalturaLog::Info("URL [{$url}] returned no valid data. Exiting.");
         return false;
     }
     KalturaLog::info('Velocix HDS manifest data:' . $data);
     $dom = new KDOMDocument();
     $dom->loadXML($data);
     $element = $dom->getElementsByTagName('baseURL')->item(0);
     if (!$element) {
         KalturaLog::Info("No base url was given");
         return false;
     }
     $baseUrl = $element->nodeValue;
     foreach ($dom->getElementsByTagName('media') as $media) {
         $href = $media->getAttribute('href');
         $streamUrl = $baseUrl . $href;
         $streamUrl .= $token ? '?' . $this->getParamName() . "={$token}" : '';
         if ($this->urlExists($streamUrl, array(), '0-0') !== false) {
             KalturaLog::info('is live:' . $streamUrl);
             return true;
         }
     }
     return false;
 }
 public function checkIsLive($url)
 {
     $parts = parse_url($url);
     parse_str($parts['query'], $query);
     $token = $query[$this->getParamName()];
     $data = $this->urlExists($url, kConf::get("hls_live_stream_content_type"));
     if (!$data) {
         KalturaLog::Info("URL [{$url}] returned no valid data. Exiting.");
         return false;
     }
     KalturaLog::debug("url return data:[{$data}]");
     $explodedLine = explode("\n", $data);
     $flavorsChecked = 0;
     if (strpos($data, '#EXT-X-STREAM-INF') !== false) {
         //handle master manifest
         foreach ($explodedLine as $streamUrl) {
             $streamUrl = trim($streamUrl);
             if (!$streamUrl || $streamUrl[0] == '#') {
                 continue;
             }
             if ($flavorsChecked == self::MAX_FLAVORS_TO_CHECK) {
                 break;
             }
             $manifestUrl = $this->checkIfValidUrl($streamUrl, $url);
             $manifestUrl .= $token ? '?' . $this->getParamName() . "={$token}" : '';
             $data = $this->urlExists($manifestUrl, kConf::get("hls_live_stream_content_type"));
             if (!$data) {
                 continue;
             }
             //handle flavor manifest
             if ($this->checkSegments($data, $token, $manifestUrl)) {
                 return true;
             }
             ++$flavorsChecked;
         }
     } else {
         if (strpos($data, '#EXTINF') !== false) {
             //handle flavor manifest
             return $this->checkSegments($data, $token, $url);
         }
     }
     return false;
 }