Merge branch 'master' into patch-1

This commit is contained in:
Jens Hausdorf 2017-09-20 06:23:23 +02:00 committed by GitHub
commit 85f67937dc
5 changed files with 50 additions and 6 deletions

View file

@ -178,8 +178,8 @@ $video = $ffmpeg->open( 'video.mp4' );
// Set an audio format // Set an audio format
$audio_format = new FFMpeg\Format\Audio\Mp3(); $audio_format = new FFMpeg\Format\Audio\Mp3();
// Extract the audio into a new file // Extract the audio into a new file as mp3
$video->save('audio.mp3'); $video->save($audio_format, 'audio.mp3');
// Set the audio file // Set the audio file
$audio = $ffmpeg->open( 'audio.mp3' ); $audio = $ffmpeg->open( 'audio.mp3' );

View file

@ -16,11 +16,16 @@ class Point
private $x; private $x;
private $y; private $y;
public function __construct($x, $y) public function __construct($x, $y, $dynamic = false)
{ {
if ($dynamic) {
$this->x = $x;
$this->y = $y;
} else {
$this->x = (int)$x; $this->x = (int)$x;
$this->y = (int)$y; $this->y = (int)$y;
} }
}
/** /**
* @return integer * @return integer

View file

@ -170,6 +170,25 @@ class FFProbe
return $this->probe($pathfile, '-show_format', static::TYPE_FORMAT); return $this->probe($pathfile, '-show_format', static::TYPE_FORMAT);
} }
/**
* @api
*
* Checks wether the given `$pathfile` is considered a valid media file.
*
* @param string $pathfile
* @return bool
* @since 0.10.0
*/
public function isValid($pathfile)
{
try {
return $this->format($pathfile)->get('duration') > 0;
} catch(\Exception $e) {
// complete invalid data
return false;
}
}
/** /**
* @api * @api
* *

View file

@ -12,10 +12,23 @@ class FFProbeTest extends FunctionalTestCase
$this->assertGreaterThan(0, count($ffprobe->streams(__DIR__ . '/../files/Audio.mp3'))); $this->assertGreaterThan(0, count($ffprobe->streams(__DIR__ . '/../files/Audio.mp3')));
} }
public function testValidateExistingFile()
{
$ffprobe = FFProbe::create();
$this->assertTrue($ffprobe->isValid(__DIR__ . '/../files/sample.3gp'));
}
public function testValidateNonExistingFile()
{
$ffprobe = FFProbe::create();
$this->assertFalse($ffprobe->isValid(__DIR__ . '/../files/WrongFile.mp4'));
}
/** /**
* @expectedException FFMpeg\Exception\RuntimeException * @expectedException FFMpeg\Exception\RuntimeException
*/ */
public function testProbeOnUnexistantFile() public function testProbeOnNonExistantFile()
{ {
$ffprobe = FFProbe::create(); $ffprobe = FFProbe::create();
$ffprobe->streams('/path/to/no/file'); $ffprobe->streams('/path/to/no/file');

View file

@ -13,4 +13,11 @@ class PointTest extends TestCase
$this->assertEquals(4, $point->getX()); $this->assertEquals(4, $point->getX());
$this->assertEquals(25, $point->getY()); $this->assertEquals(25, $point->getY());
} }
public function testDynamicPointGetters()
{
$point = new Point("t*100", "t", true);
$this->assertEquals("t*100", $point->getX());
$this->assertEquals("t", $point->getY());
}
} }