Rename VideoResampleFilter to FrameRateFilter
This commit is contained in:
parent
964da8a210
commit
ee1eb83a0b
5 changed files with 35 additions and 21 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
@ -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());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue