_oDb = new BxDolTranscoderImageQuery($aObject, false); $this->_sQueueTable = $this->_oDb->getQueueTable(); } /** * Depending on original file mime type call appropriate transcoder */ public function getFileUrl($mixedHandler) { $oStorageOriginal = BxDolStorage::getObjectInstance($this->_aObject['source_params']['object']); if (!$oStorageOriginal) return false; $aFile = $oStorageOriginal->getFile($mixedHandler); if (!$aFile) return false; $sTranscoder = ''; if (0 === strncmp($aFile['mime_type'], 'image/', 6) && !empty($this->_aObject['source_params']['image'])) { $sTranscoder = $this->_aObject['source_params']['image']; } elseif (0 === strncmp($aFile['mime_type'], 'video/', 6) && !empty($this->_aObject['source_params']['video_poster'])) { $sTranscoder = $this->_aObject['source_params']['video_poster']; // if additional video transcoders provided call it to force video conversion if (!empty($this->_aObject['source_params']['video'])) foreach ($this->_aObject['source_params']['video'] as $sVideoTranscoder) { if (!($oTranscoder = BxDolTranscoderVideo::getObjectInstance($sVideoTranscoder))) continue; $oTranscoder->getFileUrl($mixedHandler); } } if (!$sTranscoder) return false; if (!($oTranscoder = BxDolTranscoderImage::getObjectInstance($sTranscoder))) return false; return $oTranscoder->getFileUrl($mixedHandler); } } /** @} */