MediaOpenerFactory   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 10
dl 0
loc 33
rs 10
c 1
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A dynamicHLSPlaylist() 0 3 1
A __call() 0 3 1
A new() 0 3 1
A __construct() 0 4 1
1
<?php
2
3
namespace ProtoneMedia\LaravelFFMpeg\Support;
4
5
use Illuminate\Support\Traits\ForwardsCalls;
6
use ProtoneMedia\LaravelFFMpeg\Drivers\PHPFFMpeg;
7
use ProtoneMedia\LaravelFFMpeg\Http\DynamicHLSPlaylist;
8
use ProtoneMedia\LaravelFFMpeg\MediaOpener;
9
10
class MediaOpenerFactory
11
{
12
    use ForwardsCalls;
13
14
    private $defaultDisk;
15
    private $driver;
16
17
    public function __construct(string $defaultDisk, PHPFFMpeg $driver)
18
    {
19
        $this->defaultDisk = $defaultDisk;
20
        $this->driver      = $driver;
21
    }
22
23
    public function new(): MediaOpener
24
    {
25
        return new MediaOpener($this->defaultDisk, $this->driver);
26
    }
27
28
    public function dynamicHLSPlaylist(): DynamicHLSPlaylist
29
    {
30
        return new DynamicHLSPlaylist($this->defaultDisk);
31
    }
32
33
    /**
34
    * Handle dynamic method calls into the MediaOpener.
35
    *
36
    * @param  string  $method
37
    * @param  array  $parameters
38
    * @return mixed
39
    */
40
    public function __call($method, $parameters)
41
    {
42
        return $this->forwardCallTo($this->new(), $method, $parameters);
43
    }
44
}
45