From ee1eb83a0b124d43782393b7252c80fdff2a3872 Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Wed, 3 Jul 2013 20:16:09 +0200 Subject: [PATCH] Rename VideoResampleFilter to FrameRateFilter --- src/FFMpeg/Filters/Audio/AudioFilters.php | 8 ++--- ...ResampleFilter.php => FrameRateFilter.php} | 2 +- src/FFMpeg/Filters/Video/VideoFilters.php | 34 +++++++++++++------ ...FilterTest.php => FrameRateFilterTest.php} | 8 ++--- .../Tests/Filters/Video/VideoFiltersTest.php | 4 +-- 5 files changed, 35 insertions(+), 21 deletions(-) rename src/FFMpeg/Filters/Video/{VideoResampleFilter.php => FrameRateFilter.php} (96%) rename tests/FFMpeg/Tests/Filters/Video/{VideoResampleFilterTest.php => FrameRateFilterTest.php} (83%) diff --git a/src/FFMpeg/Filters/Audio/AudioFilters.php b/src/FFMpeg/Filters/Audio/AudioFilters.php index 39453bb..ddce8f1 100644 --- a/src/FFMpeg/Filters/Audio/AudioFilters.php +++ b/src/FFMpeg/Filters/Audio/AudioFilters.php @@ -7,11 +7,11 @@ use FFMpeg\Filters\Audio\AudioResamplableFilter; class AudioFilters { - private $audio; + protected $media; - public function __construct(Audio $audio) + public function __construct(Audio $media) { - $this->audio = $audio; + $this->media = $media; } /** @@ -23,7 +23,7 @@ class AudioFilters */ public function resample($rate) { - $this->audio->addFilter(new AudioResamplableFilter($rate)); + $this->media->addFilter(new AudioResamplableFilter($rate)); return $this; } diff --git a/src/FFMpeg/Filters/Video/VideoResampleFilter.php b/src/FFMpeg/Filters/Video/FrameRateFilter.php similarity index 96% rename from src/FFMpeg/Filters/Video/VideoResampleFilter.php rename to src/FFMpeg/Filters/Video/FrameRateFilter.php index a2213e4..3c3859c 100644 --- a/src/FFMpeg/Filters/Video/VideoResampleFilter.php +++ b/src/FFMpeg/Filters/Video/FrameRateFilter.php @@ -15,7 +15,7 @@ use FFMpeg\Coordinate\FrameRate; use FFMpeg\Media\Video; use FFMpeg\Format\VideoInterface; -class VideoResampleFilter implements VideoFilterInterface +class FrameRateFilter implements VideoFilterInterface { private $rate; private $gop; diff --git a/src/FFMpeg/Filters/Video/VideoFilters.php b/src/FFMpeg/Filters/Video/VideoFilters.php index 1f31f93..d0ffc8d 100644 --- a/src/FFMpeg/Filters/Video/VideoFilters.php +++ b/src/FFMpeg/Filters/Video/VideoFilters.php @@ -14,14 +14,14 @@ namespace FFMpeg\Filters\Video; use FFMpeg\Media\Video; use FFMpeg\Coordinate\Dimension; use FFMpeg\Coordinate\FrameRate; +use FFMpeg\Filters\Audio\AudioResamplableFilter; +use FFMpeg\Filters\Audio\AudioFilters; -class VideoFilters +class VideoFilters extends AudioFilters { - private $video; - - public function __construct(Video $video) + public function __construct(Video $media) { - $this->video = $video; + parent::__construct($media); } /** @@ -35,22 +35,22 @@ class VideoFilters */ public function resize(Dimension $dimension, $mode = ResizeFilter::RESIZEMODE_FIT, $forceStandards = true) { - $this->video->addFilter(new ResizeFilter($dimension, $mode, $forceStandards)); + $this->media->addFilter(new ResizeFilter($dimension, $mode, $forceStandards)); return $this; } /** - * Resamples the video to the given framerate. + * Changes the video framerate. * * @param FrameRate $framerate * @param type $gop * * @return VideoFilters */ - public function resample(FrameRate $framerate, $gop) + public function framerate(FrameRate $framerate, $gop) { - $this->video->addFilter(new VideoResampleFilter($framerate, $gop)); + $this->media->addFilter(new FrameRateFilter($framerate, $gop)); return $this; } @@ -62,7 +62,21 @@ class VideoFilters */ public function synchronize() { - $this->video->addFilter(new SynchronizeFilter()); + $this->media->addFilter(new SynchronizeFilter()); + + return $this; + } + + /** + * Resamples the audio file. + * + * @param Integer $rate + * + * @return AudioFilters + */ + public function audioResample($rate) + { + $this->media->addFilter(new AudioResamplableFilter($rate)); return $this; } diff --git a/tests/FFMpeg/Tests/Filters/Video/VideoResampleFilterTest.php b/tests/FFMpeg/Tests/Filters/Video/FrameRateFilterTest.php similarity index 83% rename from tests/FFMpeg/Tests/Filters/Video/VideoResampleFilterTest.php rename to tests/FFMpeg/Tests/Filters/Video/FrameRateFilterTest.php index dc6634c..5ca4ffa 100644 --- a/tests/FFMpeg/Tests/Filters/Video/VideoResampleFilterTest.php +++ b/tests/FFMpeg/Tests/Filters/Video/FrameRateFilterTest.php @@ -2,11 +2,11 @@ namespace FFMpeg\Tests\Filters\Video; -use FFMpeg\Filters\Video\VideoResampleFilter; +use FFMpeg\Filters\Video\FrameRateFilter; use FFMpeg\Tests\TestCase; use FFMpeg\Coordinate\FrameRate; -class VideoResampleFilterTest extends TestCase +class FrameRateFilterTest extends TestCase { public function testApplyWithAFormatThatSupportsBFrames() { @@ -21,7 +21,7 @@ class VideoResampleFilterTest extends TestCase $expected = array('-r', 54, '-b_strategy', '1', '-bf', '3', '-g', 42); - $filter = new VideoResampleFilter($framerate, $gop); + $filter = new FrameRateFilter($framerate, $gop); $this->assertEquals($expected, $filter->apply($video, $format)); } @@ -38,7 +38,7 @@ class VideoResampleFilterTest extends TestCase $expected = array('-r', 54); - $filter = new VideoResampleFilter($framerate, $gop); + $filter = new FrameRateFilter($framerate, $gop); $this->assertEquals($expected, $filter->apply($video, $format)); } } diff --git a/tests/FFMpeg/Tests/Filters/Video/VideoFiltersTest.php b/tests/FFMpeg/Tests/Filters/Video/VideoFiltersTest.php index 3524d6f..f2bed98 100644 --- a/tests/FFMpeg/Tests/Filters/Video/VideoFiltersTest.php +++ b/tests/FFMpeg/Tests/Filters/Video/VideoFiltersTest.php @@ -54,12 +54,12 @@ class VideoFiltersTest extends TestCase $video->expects($this->once()) ->method('addFilter') - ->with($this->isInstanceOf('FFMpeg\Filters\Video\VideoResampleFilter')) + ->with($this->isInstanceOf('FFMpeg\Filters\Video\FrameRateFilter')) ->will($this->returnCallback(function ($filter) use (&$capturedFilter) { $capturedFilter = $filter; })); - $filters->resample($framerate, $gop); + $filters->framerate($framerate, $gop); $this->assertSame($framerate, $capturedFilter->getFramerate()); $this->assertSame($gop, $capturedFilter->getGOP());