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()); + } }