Ejemplo n.º 1
0
 private function routeAction($mediafile, $pathfile_dest, SpecificationInterface $specs)
 {
     $route = sprintf('%s-%s', $mediafile->getType(), $specs->getType());
     switch ($route) {
         case sprintf('%s-%s', MediaInterface::TYPE_AUDIO, SpecificationInterface::TYPE_IMAGE):
             throw new RuntimeException('Not transmuter avalaible... Implement it !');
             break;
         case sprintf('%s-%s', MediaInterface::TYPE_AUDIO, SpecificationInterface::TYPE_VIDEO):
             throw new RuntimeException('Not transmuter avalaible... Implement it !');
             break;
         case sprintf('%s-%s', MediaInterface::TYPE_AUDIO, SpecificationInterface::TYPE_AUDIO):
             $transmuter = new Audio2Audio($this->drivers, $this->tmpFileManager);
             break;
         case sprintf('%s-%s', MediaInterface::TYPE_FLASH, SpecificationInterface::TYPE_IMAGE):
             $transmuter = new Flash2Image($this->drivers, $this->tmpFileManager);
             break;
         case sprintf('%s-%s', MediaInterface::TYPE_DOCUMENT, SpecificationInterface::TYPE_IMAGE):
             $transmuter = new Document2Image($this->drivers, $this->tmpFileManager);
             break;
         case sprintf('%s-%s', MediaInterface::TYPE_DOCUMENT, SpecificationInterface::TYPE_SWF):
             $transmuter = new Document2Flash($this->drivers, $this->tmpFileManager);
             break;
         case sprintf('%s-%s', MediaInterface::TYPE_IMAGE, SpecificationInterface::TYPE_IMAGE):
             $transmuter = new Image2Image($this->drivers, $this->tmpFileManager);
             break;
         case sprintf('%s-%s', MediaInterface::TYPE_VIDEO, SpecificationInterface::TYPE_IMAGE):
             $transmuter = new Video2Image($this->drivers, $this->tmpFileManager);
             break;
         case sprintf('%s-%s', MediaInterface::TYPE_VIDEO, SpecificationInterface::TYPE_ANIMATION):
             $transmuter = new Video2Animation($this->drivers, $this->tmpFileManager);
             break;
         case sprintf('%s-%s', MediaInterface::TYPE_VIDEO, SpecificationInterface::TYPE_VIDEO):
             $transmuter = new Video2Video($this->drivers, $this->tmpFileManager);
             break;
         default:
             throw new RuntimeException(sprintf('Not transmuter avalaible for `%s` Implement it !', $route));
             break;
     }
     $transmuter->execute($specs, $mediafile, $pathfile_dest);
     return $this;
 }
Ejemplo n.º 2
0
 /**
  * Get the extension from MediaAlchemyst specs
  *
  * @param SpecificationInterface $spec
  *
  * @return string
  */
 private function getExtensionFromSpec(SpecificationInterface $spec)
 {
     $extension = null;
     switch (true) {
         case $spec->getType() === SpecificationInterface::TYPE_IMAGE:
             $extension = 'jpg';
             break;
         case $spec->getType() === SpecificationInterface::TYPE_ANIMATION:
             $extension = 'gif';
             break;
         case $spec->getType() === SpecificationInterface::TYPE_AUDIO:
             $extension = $this->getExtensionFromAudioCodec($spec->getAudioCodec());
             break;
         case $spec->getType() === SpecificationInterface::TYPE_VIDEO:
             $extension = $this->getExtensionFromVideoCodec($spec->getVideoCodec());
             break;
         case $spec->getType() === SpecificationInterface::TYPE_SWF:
             $extension = 'swf';
             break;
     }
     return $extension;
 }