From 0d3bed21a727bb46810a3c0ae5f2f2f6cc1e922c Mon Sep 17 00:00:00 2001 From: CaliforniaMountainSnake Date: Mon, 23 Mar 2020 17:47:36 +0300 Subject: [PATCH] ComplexMedia has been renamed to the AdvancedMedia. --- README.md | 30 +++---- src/FFMpeg/Driver/FFMpegDriver.php | 2 +- src/FFMpeg/FFMpeg.php | 8 +- .../ANullSrcFilter.php | 6 +- .../AbstractComplexFilter.php | 2 +- .../ComplexCompatibleFilter.php | 11 ++- .../ComplexFilterContainer.php | 8 +- .../ComplexFilterInterface.php | 5 +- .../ComplexFilters.php | 10 +-- .../CustomComplexFilter.php | 6 +- .../SineFilter.php | 8 +- .../TestSrcFilter.php | 6 +- .../XStackFilter.php | 6 +- src/FFMpeg/Filters/Video/PadFilter.php | 6 +- src/FFMpeg/Filters/Video/WatermarkFilter.php | 6 +- .../{ComplexMedia.php => AdvancedMedia.php} | 20 ++--- ...lexMediaTest.php => AdvancedMediaTest.php} | 84 +++++++++---------- tests/Unit/Media/AdvancedMediaTest.php | 35 ++++++++ tests/Unit/Media/ComplexMediaTest.php | 35 -------- 19 files changed, 150 insertions(+), 144 deletions(-) rename src/FFMpeg/Filters/{ComplexMedia => AdvancedMedia}/ANullSrcFilter.php (91%) rename src/FFMpeg/Filters/{ComplexMedia => AdvancedMedia}/AbstractComplexFilter.php (97%) rename src/FFMpeg/Filters/{ComplexMedia => AdvancedMedia}/ComplexCompatibleFilter.php (69%) rename src/FFMpeg/Filters/{ComplexMedia => AdvancedMedia}/ComplexFilterContainer.php (90%) rename src/FFMpeg/Filters/{ComplexMedia => AdvancedMedia}/ComplexFilterInterface.php (64%) rename src/FFMpeg/Filters/{ComplexMedia => AdvancedMedia}/ComplexFilters.php (95%) rename src/FFMpeg/Filters/{ComplexMedia => AdvancedMedia}/CustomComplexFilter.php (83%) rename src/FFMpeg/Filters/{ComplexMedia => AdvancedMedia}/SineFilter.php (92%) rename src/FFMpeg/Filters/{ComplexMedia => AdvancedMedia}/TestSrcFilter.php (98%) rename src/FFMpeg/Filters/{ComplexMedia => AdvancedMedia}/XStackFilter.php (94%) rename src/FFMpeg/Media/{ComplexMedia.php => AdvancedMedia.php} (95%) rename tests/Functional/{ComplexMediaTest.php => AdvancedMediaTest.php} (79%) create mode 100644 tests/Unit/Media/AdvancedMediaTest.php delete mode 100644 tests/Unit/Media/ComplexMediaTest.php diff --git a/README.md b/README.md index 45d4673..ab458cf 100644 --- a/README.md +++ b/README.md @@ -520,22 +520,22 @@ $video More details about concatenation in FFMPEG can be found [here](https://trac.ffmpeg.org/wiki/Concatenate), [here](https://ffmpeg.org/ffmpeg-formats.html#concat-1) and [here](https://ffmpeg.org/ffmpeg.html#Stream-copy). -### ComplexMedia -ComplexMedia may have multiple inputs and multiple outputs. +### AdvancedMedia +AdvancedMedia may have multiple inputs and multiple outputs. This class has been developed primarily to use with `-filter_complex`. So, its `filters()` method accepts only filters that can be used inside `-filter_complex` command. -ComplexMedia already contains some built-in filters. +AdvancedMedia already contains some built-in filters. #### Base usage For example: ```php -$complexMedia = $ffmpeg->openComplex(array('video_1.mp4', 'video_2.mp4')); -$complexMedia->filters() +$advancedMedia = $ffmpeg->openAdvanced(array('video_1.mp4', 'video_2.mp4')); +$advancedMedia->filters() ->custom('[0:v][1:v]', 'hstack', '[v]'); -$complexMedia +$advancedMedia ->map(array('0:a', '[v]'), new X264('aac', 'libx264'), 'output.mp4') ->save(); ``` @@ -545,7 +545,7 @@ This code takes 2 input videos, stacks they horizontally in 1 output video and a #### Complicated example -A more difficult example of possibilities of the ComplexMedia. Consider all input videos already have the same resolution and duration. ("xstack" filter has been added in the 4.1 version of the ffmpeg). +A more difficult example of possibilities of the AdvancedMedia. Consider all input videos already have the same resolution and duration. ("xstack" filter has been added in the 4.1 version of the ffmpeg). ```php $inputs = array( @@ -555,14 +555,14 @@ $inputs = array( 'video_4.mp4', ); -$complexMedia = $ffmpeg->openComplex($inputs); -$complexMedia->filters() +$advancedMedia = $ffmpeg->openAdvanced($inputs); +$advancedMedia->filters() ->custom('[0:v]', 'negate', '[v0negate]') ->custom('[1:v]', 'edgedetect', '[v1edgedetect]') ->custom('[2:v]', 'hflip', '[v2hflip]') ->custom('[3:v]', 'vflip', '[v3vflip]') ->xStack('[v0negate][v1edgedetect][v2hflip][v3vflip]', XStackFilter::LAYOUT_2X2, 4, '[resultv]'); -$complexMedia +$advancedMedia ->map(array('0:a'), new Mp3(), 'video_1.mp3') ->map(array('1:a'), new Flac(), 'video_2.flac') ->map(array('2:a'), new Wav(), 'video_3.wav') @@ -580,18 +580,18 @@ As you can see, you can take multiple input sources, perform the complicated pro You do not have to use `-filter_complex`. You can use only `-map` options. For example, just extract the audio from the video: ```php -$complexMedia = $ffmpeg->openComplex(array('video.mp4')); -$complexMedia +$advancedMedia = $ffmpeg->openAdvanced(array('video.mp4')); +$advancedMedia ->map(array('0:a'), new Mp3(), 'output.mp3') ->save(); ``` #### Customisation -If you need you can extra customize the result ffmpeg command of the ComplexMedia: +If you need you can extra customize the result ffmpeg command of the AdvancedMedia: ```php -$complexMedia = $ffmpeg->openComplex($inputs); -$complexMedia +$advancedMedia = $ffmpeg->openAdvanced($inputs); +$advancedMedia ->setInitialParameters(array('the', 'params', 'that', 'will', 'be', 'added', 'before', '-i', 'part', 'of', 'the', 'command')) ->setAdditionalParameters(array('the', 'params', 'that', 'will', 'be', 'added', 'at', 'the', 'end', 'of', 'the', 'command')); ``` diff --git a/src/FFMpeg/Driver/FFMpegDriver.php b/src/FFMpeg/Driver/FFMpegDriver.php index fdb818c..a0de7be 100644 --- a/src/FFMpeg/Driver/FFMpegDriver.php +++ b/src/FFMpeg/Driver/FFMpegDriver.php @@ -66,7 +66,7 @@ class FFMpegDriver extends AbstractBinary { preg_match('#version\s(\S+)#', $this->command('-version'), $version); if (!isset($version[1])) { - throw new RuntimeException('Cannot to parse the ffmpeg version!'); + throw new RuntimeException('Cannot to parse the ffmpeg version!'); } return $version[1]; diff --git a/src/FFMpeg/FFMpeg.php b/src/FFMpeg/FFMpeg.php index 322c6bb..16a7ff1 100644 --- a/src/FFMpeg/FFMpeg.php +++ b/src/FFMpeg/FFMpeg.php @@ -16,7 +16,7 @@ use FFMpeg\Driver\FFMpegDriver; use FFMpeg\Exception\InvalidArgumentException; use FFMpeg\Exception\RuntimeException; use FFMpeg\Media\Audio; -use FFMpeg\Media\ComplexMedia; +use FFMpeg\Media\AdvancedMedia; use FFMpeg\Media\Video; use Psr\Log\LoggerInterface; @@ -110,11 +110,11 @@ class FFMpeg * * @param string[] $inputs Array of files to be opened. * - * @return ComplexMedia + * @return AdvancedMedia */ - public function openComplex($inputs) + public function openAdvanced($inputs) { - return new ComplexMedia($inputs, $this->driver, $this->ffprobe); + return new AdvancedMedia($inputs, $this->driver, $this->ffprobe); } /** diff --git a/src/FFMpeg/Filters/ComplexMedia/ANullSrcFilter.php b/src/FFMpeg/Filters/AdvancedMedia/ANullSrcFilter.php similarity index 91% rename from src/FFMpeg/Filters/ComplexMedia/ANullSrcFilter.php rename to src/FFMpeg/Filters/AdvancedMedia/ANullSrcFilter.php index b18a2d3..ca575b1 100644 --- a/src/FFMpeg/Filters/ComplexMedia/ANullSrcFilter.php +++ b/src/FFMpeg/Filters/AdvancedMedia/ANullSrcFilter.php @@ -1,8 +1,8 @@ baseFilter->applyComplex($media); } diff --git a/src/FFMpeg/Filters/ComplexMedia/ComplexFilterInterface.php b/src/FFMpeg/Filters/AdvancedMedia/ComplexFilterInterface.php similarity index 64% rename from src/FFMpeg/Filters/ComplexMedia/ComplexFilterInterface.php rename to src/FFMpeg/Filters/AdvancedMedia/ComplexFilterInterface.php index 6276f90..58568d6 100644 --- a/src/FFMpeg/Filters/ComplexMedia/ComplexFilterInterface.php +++ b/src/FFMpeg/Filters/AdvancedMedia/ComplexFilterInterface.php @@ -1,7 +1,10 @@ media = $media; } diff --git a/src/FFMpeg/Filters/ComplexMedia/CustomComplexFilter.php b/src/FFMpeg/Filters/AdvancedMedia/CustomComplexFilter.php similarity index 83% rename from src/FFMpeg/Filters/ComplexMedia/CustomComplexFilter.php rename to src/FFMpeg/Filters/AdvancedMedia/CustomComplexFilter.php index 1bc93f2..25e0d71 100644 --- a/src/FFMpeg/Filters/ComplexMedia/CustomComplexFilter.php +++ b/src/FFMpeg/Filters/AdvancedMedia/CustomComplexFilter.php @@ -1,8 +1,8 @@ filter); } diff --git a/src/FFMpeg/Filters/ComplexMedia/SineFilter.php b/src/FFMpeg/Filters/AdvancedMedia/SineFilter.php similarity index 92% rename from src/FFMpeg/Filters/ComplexMedia/SineFilter.php rename to src/FFMpeg/Filters/AdvancedMedia/SineFilter.php index 066701d..cdfe4ed 100644 --- a/src/FFMpeg/Filters/ComplexMedia/SineFilter.php +++ b/src/FFMpeg/Filters/AdvancedMedia/SineFilter.php @@ -1,8 +1,8 @@ getCommands(); } diff --git a/src/FFMpeg/Filters/Video/WatermarkFilter.php b/src/FFMpeg/Filters/Video/WatermarkFilter.php index bb4cae8..98d21c1 100644 --- a/src/FFMpeg/Filters/Video/WatermarkFilter.php +++ b/src/FFMpeg/Filters/Video/WatermarkFilter.php @@ -12,9 +12,9 @@ namespace FFMpeg\Filters\Video; use FFMpeg\Exception\InvalidArgumentException; -use FFMpeg\Filters\ComplexMedia\ComplexCompatibleFilter; +use FFMpeg\Filters\AdvancedMedia\ComplexCompatibleFilter; use FFMpeg\Format\VideoInterface; -use FFMpeg\Media\ComplexMedia; +use FFMpeg\Media\AdvancedMedia; use FFMpeg\Media\Video; class WatermarkFilter implements VideoFilterInterface, ComplexCompatibleFilter @@ -76,7 +76,7 @@ class WatermarkFilter implements VideoFilterInterface, ComplexCompatibleFilter /** * {@inheritdoc} */ - public function applyComplex(ComplexMedia $media) + public function applyComplex(AdvancedMedia $media) { return $this->getCommands(); } diff --git a/src/FFMpeg/Media/ComplexMedia.php b/src/FFMpeg/Media/AdvancedMedia.php similarity index 95% rename from src/FFMpeg/Media/ComplexMedia.php rename to src/FFMpeg/Media/AdvancedMedia.php index a199086..8524f49 100644 --- a/src/FFMpeg/Media/ComplexMedia.php +++ b/src/FFMpeg/Media/AdvancedMedia.php @@ -6,10 +6,10 @@ use Alchemy\BinaryDriver\Exception\ExecutionFailureException; use FFMpeg\Driver\FFMpegDriver; use FFMpeg\Exception\RuntimeException; use FFMpeg\FFProbe; -use FFMpeg\Filters\ComplexMedia\ComplexCompatibleFilter; -use FFMpeg\Filters\ComplexMedia\ComplexFilterContainer; -use FFMpeg\Filters\ComplexMedia\ComplexFilterInterface; -use FFMpeg\Filters\ComplexMedia\ComplexFilters; +use FFMpeg\Filters\AdvancedMedia\ComplexCompatibleFilter; +use FFMpeg\Filters\AdvancedMedia\ComplexFilterContainer; +use FFMpeg\Filters\AdvancedMedia\ComplexFilterInterface; +use FFMpeg\Filters\AdvancedMedia\ComplexFilters; use FFMpeg\Filters\FiltersCollection; use FFMpeg\Format\AudioInterface; use FFMpeg\Format\FormatInterface; @@ -18,13 +18,13 @@ use FFMpeg\Format\ProgressListener\AbstractProgressListener; use FFMpeg\Format\VideoInterface; /** - * Complex media may have multiple inputs and multiple outputs. + * AdvancedMedia may have multiple inputs and multiple outputs. * This class accepts only filters for -filter_complex option. * But you can set initial and additional parameters of the ffmpeg command. * * @see http://trac.ffmpeg.org/wiki/Creating%20multiple%20outputs */ -class ComplexMedia extends AbstractMediaType +class AdvancedMedia extends AbstractMediaType { /** * @var string[] @@ -52,7 +52,7 @@ class ComplexMedia extends AbstractMediaType private $listeners; /** - * ComplexMedia constructor. + * AdvancedMedia constructor. * * @param string[] $inputs Array of files to be opened. * @param FFMpegDriver $driver @@ -110,7 +110,7 @@ class ComplexMedia extends AbstractMediaType { foreach ($filters as $filter) { if (!($filter instanceof ComplexFilterInterface)) { - throw new RuntimeException ('For ComplexMedia you can set filters collection' + throw new RuntimeException ('For AdvancedMedia you can set filters collection' . ' contains only objects that implement ComplexFilterInterface!'); } } @@ -129,7 +129,7 @@ class ComplexMedia extends AbstractMediaType /** * @param string[] $initialParameters * - * @return ComplexMedia + * @return AdvancedMedia */ public function setInitialParameters(array $initialParameters) { @@ -148,7 +148,7 @@ class ComplexMedia extends AbstractMediaType /** * @param string[] $additionalParameters * - * @return ComplexMedia + * @return AdvancedMedia */ public function setAdditionalParameters(array $additionalParameters) { diff --git a/tests/Functional/ComplexMediaTest.php b/tests/Functional/AdvancedMediaTest.php similarity index 79% rename from tests/Functional/ComplexMediaTest.php rename to tests/Functional/AdvancedMediaTest.php index fe11a2b..cb6d904 100644 --- a/tests/Functional/ComplexMediaTest.php +++ b/tests/Functional/AdvancedMediaTest.php @@ -3,17 +3,17 @@ namespace Tests\FFMpeg\Functional; use FFMpeg\Coordinate\Dimension; -use FFMpeg\Filters\ComplexMedia\TestSrcFilter; -use FFMpeg\Filters\ComplexMedia\XStackFilter; +use FFMpeg\Filters\AdvancedMedia\TestSrcFilter; +use FFMpeg\Filters\AdvancedMedia\XStackFilter; use FFMpeg\Format\Audio\Mp3; use FFMpeg\Format\Video\X264; -class ComplexMediaTest extends FunctionalTestCase +class AdvancedMediaTest extends FunctionalTestCase { /** * Path prefix to avoid conflicts with another tests. */ - const OUTPUT_PATH_PREFIX = 'output/complex_media_'; + const OUTPUT_PATH_PREFIX = 'output/advanced_media_'; public function testRunWithoutComplexFilterTestExtractAudio() { @@ -23,8 +23,8 @@ class ComplexMediaTest extends FunctionalTestCase $output = __DIR__ . '/' . self::OUTPUT_PATH_PREFIX . 'extracted_with_map.mp3'; // You can run it without -filter_complex, just using -map. - $complexMedia = $ffmpeg->openComplex($inputs); - $complexMedia + $advancedMedia = $ffmpeg->openAdvanced($inputs); + $advancedMedia ->map(array('0:a'), $format, $output) ->save(); @@ -42,8 +42,8 @@ class ComplexMediaTest extends FunctionalTestCase $format->setAudioKiloBitrate(30); $output = __DIR__ . '/' . self::OUTPUT_PATH_PREFIX . 'audio_test.mp3'; - $complexMedia = $ffmpeg->openComplex($inputs); - $complexMedia + $advancedMedia = $ffmpeg->openAdvanced($inputs); + $advancedMedia ->map(array('0:a'), $format, $output) ->save(); @@ -63,10 +63,10 @@ class ComplexMediaTest extends FunctionalTestCase $format = new X264('aac', 'libx264'); $output = __DIR__ . '/' . self::OUTPUT_PATH_PREFIX . 'multiple_inputs_test.mp4'; - $complexMedia = $ffmpeg->openComplex($inputs); - $complexMedia->filters() + $advancedMedia = $ffmpeg->openAdvanced($inputs); + $advancedMedia->filters() ->custom('[0:v][1:v]', 'hstack', '[v]'); - $complexMedia + $advancedMedia ->map(array('0:a', '[v]'), $format, $output) ->save(); @@ -77,7 +77,7 @@ class ComplexMediaTest extends FunctionalTestCase } /** - * @covers \FFMpeg\Media\ComplexMedia::map + * @covers \FFMpeg\Media\AdvancedMedia::map */ public function testMultipleOutputsTestAbsenceOfInputs() { @@ -92,14 +92,14 @@ class ComplexMediaTest extends FunctionalTestCase $outputVideo1 = __DIR__ . '/' . self::OUTPUT_PATH_PREFIX . 'test_multiple_outputs_v1.mp4'; $outputVideo2 = __DIR__ . '/' . self::OUTPUT_PATH_PREFIX . 'test_multiple_outputs_v2.mp4'; - $complexMedia = $ffmpeg->openComplex($inputs); - $complexMedia->filters() + $advancedMedia = $ffmpeg->openAdvanced($inputs); + $advancedMedia->filters() ->sine('[a]', 5) ->testSrc('[v1]', TestSrcFilter::TESTSRC, '160x120', 5) ->testSrc('[v2]', TestSrcFilter::TESTSRC, '160x120', 5) ->custom('[v1]', 'negate', '[v1negate]') ->custom('[v2]', 'edgedetect', '[v2edgedetect]'); - $complexMedia + $advancedMedia ->map(array('[a]'), $formatMp3, $outputMp3) ->map(array('[v1negate]'), $formatX264, $outputVideo1) ->map(array('[v2edgedetect]'), $formatX264, $outputVideo2) @@ -123,8 +123,8 @@ class ComplexMediaTest extends FunctionalTestCase } /** - * @covers \FFMpeg\Filters\ComplexMedia\TestSrcFilter - * @covers \FFMpeg\Filters\ComplexMedia\SineFilter + * @covers \FFMpeg\Filters\AdvancedMedia\TestSrcFilter + * @covers \FFMpeg\Filters\AdvancedMedia\SineFilter */ public function testTestSrcFilterTestSineFilter() { @@ -133,11 +133,11 @@ class ComplexMediaTest extends FunctionalTestCase $format = new X264('aac', 'libx264'); $output = __DIR__ . '/' . self::OUTPUT_PATH_PREFIX . 'testsrc.mp4'; - $complexMedia = $ffmpeg->openComplex($inputs); - $complexMedia->filters() + $advancedMedia = $ffmpeg->openAdvanced($inputs); + $advancedMedia->filters() ->sine('[a]', 10) ->testSrc('[v]', TestSrcFilter::TESTSRC, '160x120', 10); - $complexMedia + $advancedMedia ->map(array('[a]', '[v]'), $format, $output) ->save(); @@ -150,8 +150,8 @@ class ComplexMediaTest extends FunctionalTestCase /** * XStack filter is supported starting from 4.1 ffmpeg version. * - * @covers \FFMpeg\Filters\ComplexMedia\XStackFilter - * @covers \FFMpeg\Filters\ComplexMedia\SineFilter + * @covers \FFMpeg\Filters\AdvancedMedia\XStackFilter + * @covers \FFMpeg\Filters\AdvancedMedia\SineFilter */ public function testXStackFilter() { @@ -169,8 +169,8 @@ class ComplexMediaTest extends FunctionalTestCase $format = new X264('aac', 'libx264'); $output = __DIR__ . '/' . self::OUTPUT_PATH_PREFIX . 'xstack_test.mp4'; - $complexMedia = $ffmpeg->openComplex($inputs); - $complexMedia->filters() + $advancedMedia = $ffmpeg->openAdvanced($inputs); + $advancedMedia->filters() ->sine('[a]', 5) ->testSrc('[v1]', TestSrcFilter::TESTSRC, '160x120', 5) ->testSrc('[v2]', TestSrcFilter::TESTSRC, '160x120', 5) @@ -178,7 +178,7 @@ class ComplexMediaTest extends FunctionalTestCase ->testSrc('[v4]', TestSrcFilter::TESTSRC, '160x120', 5) ->xStack('[v1][v2][v3][v4]', XStackFilter::LAYOUT_2X2, 4, '[v]'); - $complexMedia + $advancedMedia ->map(array('[a]', '[v]'), $format, $output) ->save(); @@ -196,8 +196,8 @@ class ComplexMediaTest extends FunctionalTestCase $format = new X264('aac', 'libx264'); $output = __DIR__ . '/' . self::OUTPUT_PATH_PREFIX . 'test_of_compatibility_with_existed_filters.mp4'; - $complexMedia = $ffmpeg->openComplex($inputs); - $complexMedia->filters() + $advancedMedia = $ffmpeg->openAdvanced($inputs); + $advancedMedia->filters() // For unknown reasons WatermarkFilter produce an error on Windows, // because the path to the watermark becomes corrupted. // This behaviour related with Alchemy\BinaryDriver\AbstractBinary::command(). @@ -206,7 +206,7 @@ class ComplexMediaTest extends FunctionalTestCase // But on Linux systems filter works as expected. //->watermark('[0:v]', $watermark, '[v]') ->pad('[0:v]', new Dimension(300, 100), '[v]'); - $complexMedia + $advancedMedia ->map(array('0:a', '[v]'), $format, $output) ->save(); @@ -221,15 +221,15 @@ class ComplexMediaTest extends FunctionalTestCase $ffmpeg = $this->getFFMpeg(); $format = new X264(); - $complexMedia1 = $ffmpeg->openComplex(array(__FILE__)); - $complexMedia1 + $advancedMedia1 = $ffmpeg->openAdvanced(array(__FILE__)); + $advancedMedia1 ->map(array('test'), $format, 'outputFile.mp4', false); - $this->assertStringContainsString('acodec', $complexMedia1->getFinalCommand()); + $this->assertStringContainsString('acodec', $advancedMedia1->getFinalCommand()); - $complexMedia2 = $ffmpeg->openComplex(array(__FILE__)); - $complexMedia2 + $advancedMedia2 = $ffmpeg->openAdvanced(array(__FILE__)); + $advancedMedia2 ->map(array('test'), $format, 'outputFile.mp4', true); - $this->assertStringNotContainsString('acodec', $complexMedia2->getFinalCommand()); + $this->assertStringNotContainsString('acodec', $advancedMedia2->getFinalCommand()); } public function testForceDisableVideo() @@ -237,15 +237,15 @@ class ComplexMediaTest extends FunctionalTestCase $ffmpeg = $this->getFFMpeg(); $format = new X264(); - $complexMedia1 = $ffmpeg->openComplex(array(__FILE__)); - $complexMedia1->map(array('test'), $format, + $advancedMedia1 = $ffmpeg->openAdvanced(array(__FILE__)); + $advancedMedia1->map(array('test'), $format, 'outputFile.mp4', false, false); - $this->assertStringContainsString('vcodec', $complexMedia1->getFinalCommand()); + $this->assertStringContainsString('vcodec', $advancedMedia1->getFinalCommand()); - $complexMedia2 = $ffmpeg->openComplex(array(__FILE__)); - $complexMedia2->map(array('test'), $format, + $advancedMedia2 = $ffmpeg->openAdvanced(array(__FILE__)); + $advancedMedia2->map(array('test'), $format, 'outputFile.mp4', false, true); - $this->assertStringNotContainsString('vcodec', $complexMedia2->getFinalCommand()); + $this->assertStringNotContainsString('vcodec', $advancedMedia2->getFinalCommand()); } public function testGlobalOptions() @@ -257,8 +257,8 @@ class ComplexMediaTest extends FunctionalTestCase ); $ffmpeg = $this->getFFMpeg($configuration); - $complexMedia = $ffmpeg->openComplex(array(__FILE__)); - $command = $complexMedia->getFinalCommand(); + $advancedMedia = $ffmpeg->openAdvanced(array(__FILE__)); + $command = $advancedMedia->getFinalCommand(); foreach ($configuration as $optionName => $optionValue) { $optionName = str_replace('ffmpeg.', '', $optionName); diff --git a/tests/Unit/Media/AdvancedMediaTest.php b/tests/Unit/Media/AdvancedMediaTest.php new file mode 100644 index 0000000..3310e12 --- /dev/null +++ b/tests/Unit/Media/AdvancedMediaTest.php @@ -0,0 +1,35 @@ +getFFMpegDriverMock(); + $ffprobe = $this->getFFProbeMock(); + + $advancedMedia = new AdvancedMedia(array(__FILE__, __FILE__), $driver, $ffprobe); + $this->assertSame(array(__FILE__, __FILE__), $advancedMedia->getInputs()); + } + + public function testGetInputsCount() + { + $driver = $this->getFFMpegDriverMock(); + $ffprobe = $this->getFFProbeMock(); + + $advancedMedia = new AdvancedMedia(array(__FILE__, __FILE__), $driver, $ffprobe); + $this->assertEquals(2, $advancedMedia->getInputsCount()); + } + + public function testFiltersReturnFilters() + { + $driver = $this->getFFMpegDriverMock(); + $ffprobe = $this->getFFProbeMock(); + + $advancedMedia = new AdvancedMedia(array(__FILE__, __FILE__), $driver, $ffprobe); + $this->assertInstanceOf('FFMpeg\Filters\AdvancedMedia\ComplexFilters', $advancedMedia->filters()); + } +} diff --git a/tests/Unit/Media/ComplexMediaTest.php b/tests/Unit/Media/ComplexMediaTest.php deleted file mode 100644 index b359a50..0000000 --- a/tests/Unit/Media/ComplexMediaTest.php +++ /dev/null @@ -1,35 +0,0 @@ -getFFMpegDriverMock(); - $ffprobe = $this->getFFProbeMock(); - - $complexMedia = new ComplexMedia(array(__FILE__, __FILE__), $driver, $ffprobe); - $this->assertSame(array(__FILE__, __FILE__), $complexMedia->getInputs()); - } - - public function testGetInputsCount() - { - $driver = $this->getFFMpegDriverMock(); - $ffprobe = $this->getFFProbeMock(); - - $complexMedia = new ComplexMedia(array(__FILE__, __FILE__), $driver, $ffprobe); - $this->assertEquals(2, $complexMedia->getInputsCount()); - } - - public function testFiltersReturnFilters() - { - $driver = $this->getFFMpegDriverMock(); - $ffprobe = $this->getFFProbeMock(); - - $complexMedia = new ComplexMedia(array(__FILE__, __FILE__), $driver, $ffprobe); - $this->assertInstanceOf('FFMpeg\Filters\ComplexMedia\ComplexFilters', $complexMedia->filters()); - } -}