예제 #1
0
 /**
  * Remove Track from Multimedia Object
  */
 public function removeTrackFromMultimediaObject(MultimediaObject $multimediaObject, $trackId)
 {
     $track = $multimediaObject->getTrackById($trackId);
     $trackPath = $track->getPath();
     $trackProfile = str_replace('profile:', '', preg_grep('/^profile:*/', $track->getTags())[0]);
     $isNotOpencast = !$track->containsTag('opencast');
     $multimediaObject->removeTrackById($trackId);
     $this->dm->persist($multimediaObject);
     $this->dm->flush();
     $relatedJob = $this->jobRepo->findOneBy(array('path_end' => $trackPath, 'mm_id' => $multimediaObject->getId()));
     if ($relatedJob) {
         $this->jobService->deleteJob($relatedJob->getId());
     }
     if ($this->forceDeleteOnDisk && $trackPath && $isNotOpencast) {
         $this->deleteFileOnDisk($trackPath);
     }
     return $multimediaObject;
 }