* Video overlays * * @api */ class VideoSource extends AssetBasedSource { use VideoTransformationTrait; use VideoSourceTrait; use AudioSourceTrait; use ImageSourceTrait; /** * VideoLayer constructor. * * @param $source */ public function __construct($source) { parent::__construct(ClassUtils::verifyInstance($source, VideoSourceQualifier::class)); } /** * Getter for the video transformation. * * Creates a new VideoTransformation if not initialized. * * @return VideoTransformation * * @internal */ public function getTransformation() { if (! isset($this->transformation)) { $this->transformation = new VideoTransformation(); } return $this->transformation; } /** * Getter for the layer qualifier. * * @return VideoSourceQualifier * * @internal */ protected function getSourceQualifier() { if (! isset($this->qualifiers['source'])) { $this->qualifiers['source'] = new VideoSourceQualifier(null); } return $this->qualifiers['source']; } }