Merge branch 'master' into patch-1

This commit is contained in:
Jens Hausdorf 2017-08-05 23:35:59 +02:00 committed by GitHub
commit fa4bd3d12b
8 changed files with 88 additions and 199 deletions

View file

@ -46,31 +46,6 @@ abstract class DefaultAudio extends EventEmitter implements AudioInterface, Prog
return $this->audioCodec;
}
/**
* {@inheritdoc}
*/
public function getAdditionalParameters()
{
return $this->additionalParameters;
}
/**
* Sets additional parameters.
*
* @param array $additionalParameters
* @throws InvalidArgumentException
*/
public function setAdditionalParameters($additionalParameters)
{
if (!is_array($additionalParameters)) {
throw new InvalidArgumentException('Wrong additionalParamaters value');
}
$this->additionalParameters = $additionalParameters;
return $this;
}
/**
* Sets the audio codec, Should be in the available ones, otherwise an
* exception is thrown.

View file

@ -25,13 +25,6 @@ interface AudioInterface extends FormatInterface
* @return integer
*/
public function getAudioChannels();
/**
* Returns the list of available video codecs for this format.
*
* @return array
*/
public function getAdditionalParameters();
/**
* Returns the audio codec.

View file

@ -1,22 +0,0 @@
<?php
/*
* This file is part of PHP-FFmpeg.
*
* (c) Alchemy <info@alchemy.fr>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace FFMpeg\Format;
interface Profile {
const HIGH = 'high';
const MAIN = 'main';
const BASELINE = 'baseline';
}

View file

@ -16,7 +16,6 @@ use FFMpeg\Exception\InvalidArgumentException;
use FFMpeg\Format\Audio\DefaultAudio;
use FFMpeg\Format\VideoInterface;
use FFMpeg\Media\MediaTypeInterface;
use FFMpeg\Format\Profile;
use FFMpeg\Format\ProgressListener\VideoProgressListener;
/**
@ -33,56 +32,8 @@ abstract class DefaultVideo extends DefaultAudio implements VideoInterface
/** @var Integer */
protected $modulus = 16;
/** @var string */
private $profile = Profile::MAIN;
/** @var float */
private $level = 3.1;
/** @var string[] */
protected $additionalParameters;
/**
* Sets the profile of this video
* @var string $profile must be one of `baseline`, `main` or `high`
* @throws \InvalidArgumentException
*/
public function setProfile(string $profile) {
switch($profile) {
case Profile::BASELINE:
case Profile::MAIN:
case Profile::HIGH:
// these are fine
break;
default:
throw new \InvalidArgumentException('Invalid profile given! Must be one of `baseline`, `main` or `high`!');
}
$this->profile = $profile;
return $this;
}
/**
* @inheritDoc
*/
public function getProfile() {
return $this->profile;
}
/**
* Sets the given level
* @param float $level The level(for example: 3.0, 3.1, 4.0, 4.1)
*/
public function setLevel(float $level) {
$this->level = $level;
return $this;
}
/**
* @inheritDoc
*/
public function getLevel() {
return $this->level;
}
/** @var Array */
protected $additionalParamaters;
/**
* {@inheritdoc}
@ -146,6 +97,31 @@ abstract class DefaultVideo extends DefaultAudio implements VideoInterface
return $this->modulus;
}
/**
* {@inheritdoc}
*/
public function getAdditionalParameters()
{
return $this->additionalParamaters;
}
/**
* Sets additional parameters.
*
* @param array $additionalParamaters
* @throws InvalidArgumentException
*/
public function setAdditionalParameters($additionalParamaters)
{
if (!is_array($additionalParamaters)) {
throw new InvalidArgumentException('Wrong additionalParamaters value');
}
$this->additionalParamaters = $additionalParamaters;
return $this;
}
/**
* {@inheritdoc}
*/

View file

@ -56,14 +56,9 @@ interface VideoInterface extends AudioInterface
public function getAvailableVideoCodecs();
/**
* Returns the current profile
* @return string
* Returns the list of available video codecs for this format.
*
* @return array
*/
public function getProfile();
/**
* Returns the level
* @return float
*/
public function getLevel();
public function getAdditionalParameters();
}

View file

@ -91,13 +91,6 @@ class Audio extends AbstractStreamableMedia
$commands[] = '-ac';
$commands[] = $format->getAudioChannels();
}
// If the user passed some additional parameters
if (null !== $format->getAdditionalParameters()) {
foreach ($format->getAdditionalParameters() as $additionalParameter) {
$commands[] = $additionalParameter;
}
}
$commands[] = $outputPathfile;
try {

View file

@ -72,8 +72,6 @@ class Video extends Audio
if ($format instanceof VideoInterface) {
if (null !== $format->getVideoCodec()) {
$filters->add(new SimpleFilter(array('-vcodec', $format->getVideoCodec())));
$filters->add(new SimpleFilter(array('-vprofile', $format->getProfile())));
$filters->add(new SimpleFilter(array('-level', $format->getLevel())));
}
}
if ($format instanceof AudioInterface) {
@ -123,9 +121,11 @@ class Video extends Audio
}
// If the user passed some additional parameters
if (null !== $format->getAdditionalParameters()) {
foreach ($format->getAdditionalParameters() as $additionalParameter) {
$commands[] = $additionalParameter;
if ($format instanceof VideoInterface) {
if (null !== $format->getAdditionalParameters()) {
foreach ($format->getAdditionalParameters() as $additionalParameter) {
$commands[] = $additionalParameter;
}
}
}