214d36c41a3d68a85b337e4f7b812ecf6b384039
[yaffs-website] / web / core / modules / media / src / Plugin / media / Source / VideoFile.php
1 <?php
2
3 namespace Drupal\media\Plugin\media\Source;
4
5 use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
6 use Drupal\media\MediaTypeInterface;
7
8 /**
9  * Media source wrapping around a video file.
10  *
11  * @see \Drupal\file\FileInterface
12  *
13  * @MediaSource(
14  *   id = "video_file",
15  *   label = @Translation("Video file"),
16  *   description = @Translation("Use video files for reusable media."),
17  *   allowed_field_types = {"file"},
18  *   default_thumbnail_filename = "video.png"
19  * )
20  */
21 class VideoFile extends File {
22
23   /**
24    * {@inheritdoc}
25    */
26   public function createSourceField(MediaTypeInterface $type) {
27     return parent::createSourceField($type)->set('settings', ['file_extensions' => 'mp4']);
28   }
29
30   /**
31    * {@inheritdoc}
32    */
33   public function prepareViewDisplay(MediaTypeInterface $type, EntityViewDisplayInterface $display) {
34     $display->setComponent($this->getSourceFieldDefinition($type)->getName(), [
35       'type' => 'file_video',
36     ]);
37   }
38
39 }