From e1c88622483f02784cfac10a7702d1a385ddef85 Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Mon, 3 Sep 2012 15:20:49 +0200 Subject: [PATCH] Add option to service provider for ffmpeg threads number --- src/FFMpeg/FFMpegServiceProvider.php | 6 ++++-- tests/src/FFMpeg/FFMpegServiceProviderTest.php | 11 +++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/FFMpeg/FFMpegServiceProvider.php b/src/FFMpeg/FFMpegServiceProvider.php index 1eee5df..5aa00d6 100644 --- a/src/FFMpeg/FFMpegServiceProvider.php +++ b/src/FFMpeg/FFMpegServiceProvider.php @@ -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) { diff --git a/tests/src/FFMpeg/FFMpegServiceProviderTest.php b/tests/src/FFMpeg/FFMpegServiceProviderTest.php index ed426bf..34ae282 100644 --- a/tests/src/FFMpeg/FFMpegServiceProviderTest.php +++ b/tests/src/FFMpeg/FFMpegServiceProviderTest.php @@ -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()); + } }