/** * List media entries by filter with paging support. * * @action list * @param KalturaMediaEntryFilter $filter Media entry filter * @param KalturaFilterPager $pager Pager * @return KalturaMediaListResponse Wrapper for array of media entries and total count */ function listAction(KalturaMediaEntryFilter $filter = null, KalturaFilterPager $pager = null) { myDbHelper::$use_alternative_con = myDbHelper::DB_HELPER_CONN_PROPEL3; if (!$filter) { $filter = new KalturaMediaEntryFilter(); } $filter->typeEqual = KalturaEntryType::MEDIA_CLIP; list($list, $totalCount) = parent::listEntriesByFilter($filter, $pager); $newList = KalturaMediaEntryArray::fromEntryArray($list); $response = new KalturaMediaListResponse(); $response->objects = $newList; $response->totalCount = $totalCount; return $response; }
/** * Get all ready media entries that exist in the given mix id * * @action getReadyMediaEntries * @param string $mixId * @param int $version Desired version to get the data from * @return KalturaMediaEntryArray */ public function getReadyMediaEntriesAction($mixId, $version = -1) { $dbEntry = entryPeer::retrieveByPK($mixId); if (!$dbEntry || $dbEntry->getType() != KalturaEntryType::MIX) { throw new KalturaAPIException(KalturaErrors::ENTRY_ID_NOT_FOUND, $mixId); } $dataSyncKey = $dbEntry->getSyncKey(entry::FILE_SYNC_ENTRY_SUB_TYPE_DATA); $mixFileName = kFileSyncUtils::getReadyLocalFilePathForKey($dataSyncKey, false); if (!$mixFileName) { KExternalErrors::dieError(KExternalErrors::FILE_NOT_FOUND); } $entryDataFromMix = myFlvStreamer::getAllAssetsData($mixFileName); $ids = array(); foreach ($entryDataFromMix as $data) { $ids[] = $data["id"]; } $c = KalturaCriteria::create(entryPeer::OM_CLASS); $c->addAnd(entryPeer::ID, $ids, Criteria::IN); $c->addAnd(entryPeer::TYPE, entryType::MEDIA_CLIP); $dbEntries = entryPeer::doSelect($c); $mediaEntries = KalturaMediaEntryArray::fromEntryArray($dbEntries); return $mediaEntries; }