Apply frame filters on Frame::save
This commit is contained in:
		
					parent
					
						
							
								5814eb3085
							
						
					
				
			
			
				commit
				
					
						bcf3e5f65a
					
				
			
		
					 3 changed files with 10 additions and 5 deletions
				
			
		|  | @ -13,9 +13,8 @@ namespace FFMpeg\Filters\Frame; | ||||||
| 
 | 
 | ||||||
| use FFMpeg\Filters\FilterInterface; | use FFMpeg\Filters\FilterInterface; | ||||||
| use FFMpeg\Media\Frame; | use FFMpeg\Media\Frame; | ||||||
| use FFMpeg\Format\FrameInterface; |  | ||||||
| 
 | 
 | ||||||
| interface FrameFilterInterface extends FilterInterface | interface FrameFilterInterface extends FilterInterface | ||||||
| { | { | ||||||
|     public function apply(Frame $frame, FrameInterface $format); |     public function apply(Frame $frame); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -97,16 +97,22 @@ class Frame extends AbstractMediaType | ||||||
|                 '-y', '-ss', (string) $this->timecode, |                 '-y', '-ss', (string) $this->timecode, | ||||||
|                 '-i', $this->pathfile, |                 '-i', $this->pathfile, | ||||||
|                 '-vframes', '1', |                 '-vframes', '1', | ||||||
|                 '-f', 'image2', $pathfile |                 '-f', 'image2' | ||||||
|             ); |             ); | ||||||
|         } else { |         } else { | ||||||
|             $commands = array( |             $commands = array( | ||||||
|                 '-y', '-i', $this->pathfile, |                 '-y', '-i', $this->pathfile, | ||||||
|                 '-vframes', '1', '-ss', (string) $this->timecode, |                 '-vframes', '1', '-ss', (string) $this->timecode, | ||||||
|                 '-f', 'image2', $pathfile |                 '-f', 'image2' | ||||||
|             ); |             ); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         foreach ($this->filters as $filter) { | ||||||
|  |             $commands = array_merge($commands, $filter->apply($this)); | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         $commands = array_merge($commands, array($pathfile)); | ||||||
|  | 
 | ||||||
|         try { |         try { | ||||||
|             $this->driver->command($commands); |             $this->driver->command($commands); | ||||||
|         } catch (ExecutionFailureException $e) { |         } catch (ExecutionFailureException $e) { | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ class FrameTest extends AbstractMediaTestCase | ||||||
|      */ |      */ | ||||||
|     public function testWithInvalidFile() |     public function testWithInvalidFile() | ||||||
|     { |     { | ||||||
|         new Frame('/No/file', $this->getFFMpegDriverMock(), $this->getFFProbeMock(), $this->getTimeCodeMock()); |         new Frame($this->getVideoMock('/No/file'), $this->getFFMpegDriverMock(), $this->getFFProbeMock(), $this->getTimeCodeMock()); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public function testGetTimeCode() |     public function testGetTimeCode() | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue