Add option to service provider for ffmpeg threads number

This commit is contained in:
Romain Neutron 2012-09-03 15:20:49 +02:00
commit e1c8862248
2 changed files with 15 additions and 2 deletions

View file

@ -25,10 +25,12 @@ class FFMpegServiceProvider implements ServiceProviderInterface
$app['ffmpeg.ffmpeg'] = $app->share(function(Application $app) {
if (isset($app['ffmpeg.ffmpeg.binary'])) {
return new FFMpeg($app['ffmpeg.ffmpeg.binary'], $app['ffmpeg.logger']);
$ffmpeg = new FFMpeg($app['ffmpeg.ffmpeg.binary'], $app['ffmpeg.logger']);
} else {
return FFMpeg::load($app['ffmpeg.logger']);
$ffmpeg = FFMpeg::load($app['ffmpeg.logger']);
}
return $ffmpeg->setThreads(isset($app['ffmpeg.threads']) ? $app['ffmpeg.threads'] : 1);
});
$app['ffmpeg.ffprobe'] = $app->share(function(Application $app) {

View file

@ -68,5 +68,16 @@ class FFMpegServiceProviderTest extends \PHPUnit_Framework_TestCase
$this->assertInstanceOf('\\FFMpeg\\FFProbe', $app['ffmpeg.ffprobe']);
$this->assertInstanceOf('\\FFMpeg\\FFMpeg', $app['ffmpeg.ffmpeg']);
}
/**
* @covers FFMpeg\FFMpegServiceProvider::register
*/
public function testCustomThreadsFFMpeg()
{
$app = $this->getApplication();
$app->register(new FFMpegServiceProvider(), array('ffmpeg.threads'=>18));
$this->assertEquals(18, $app['ffmpeg.ffmpeg']->getThreads());
}
}