MediaOpenerFactory::__call()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 2
dl 0
loc 3
rs 10
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