diff --git a/docs/API/FFMpeg.html b/docs/API/FFMpeg.html new file mode 100644 index 0000000..f13cefd --- /dev/null +++ b/docs/API/FFMpeg.html @@ -0,0 +1,53 @@ + + + + + + FFMpeg | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Namespace
+

FFMpeg

+
+
+ + + + + + + + + + + + + +
BinaryBinary abstract class
FFMpegFFMpeg driver
FFProbeFFProbe driver
+ +

Interfaces

+ + + + + +
AdapterInterfaceFFMpeg Adapter interface
+ +
+ + + diff --git a/docs/API/FFMpeg/AdapterInterface.html b/docs/API/FFMpeg/AdapterInterface.html new file mode 100644 index 0000000..69e926c --- /dev/null +++ b/docs/API/FFMpeg/AdapterInterface.html @@ -0,0 +1,83 @@ + + + + + + FFMpeg\AdapterInterface | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Interface
+

FFMpeg\AdapterInterface

+
+
+

interface AdapterInterface

+ +
+

FFMpeg Adapter interface

+

+
+ + + +

Methods

+ + + + + + + +
+ static  + + load(Logger $logger) +

Loads the adapter

+
+ + +

Details

+ +

+
at line 27
+ static public + load(Logger $logger) +

+
+

Loads the adapter

+

+
+

Parameters

+ + + + + + + +
Logger$logger
+ + + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Binary.html b/docs/API/FFMpeg/Binary.html new file mode 100644 index 0000000..f94421d --- /dev/null +++ b/docs/API/FFMpeg/Binary.html @@ -0,0 +1,158 @@ + + + + + + FFMpeg\Binary | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Binary

+
+
+

abstract class Binary implements + AdapterInterface

+ +
+

Binary abstract class

+

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + +
+ + + __construct(type $binary, Logger $logger) +

Binary constructor

+
+ + + __destruct() +

Destructor

+
+ static Binary + + load(Logger $logger) +

Loads the adapter

+
+ + +

Details

+ +

+
at line 39
+ public + __construct(type $binary, Logger $logger) +

+
+

Binary constructor

+

+
+

Parameters

+ + + + + + + + + + + + +
type$binaryThe path file to the binary
Logger$loggerA logger
+ + + + +
+
+ +

+
at line 48
+ public + __destruct() +

+
+

Destructor

+

+
+ + + +
+
+ +

+
at line 61
+ static public Binary + load(Logger $logger) +

+
+

Loads the adapter

+

+
+

Parameters

+ + + + + + + +
Logger$loggerA logger
+ + +

Return Value

+ + + + + + +
BinaryThe binary
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Exception.html b/docs/API/FFMpeg/Exception.html new file mode 100644 index 0000000..9674818 --- /dev/null +++ b/docs/API/FFMpeg/Exception.html @@ -0,0 +1,60 @@ + + + + + + FFMpeg\Exception | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Namespace
+

FFMpeg\Exception

+
+
+ + + + + + + + + + + + + +
InvalidArgumentException
LogicException
RuntimeException
+ +

Interfaces

+ + + + + +
Exception
+ +

Exceptions

+ + + + + +
BinaryNotFoundException
+
+ + + diff --git a/docs/API/FFMpeg/Exception/BinaryNotFoundException.html b/docs/API/FFMpeg/Exception/BinaryNotFoundException.html new file mode 100644 index 0000000..875d8ad --- /dev/null +++ b/docs/API/FFMpeg/Exception/BinaryNotFoundException.html @@ -0,0 +1,36 @@ + + + + + + FFMpeg\Exception\BinaryNotFoundException | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Exception\BinaryNotFoundException

+
+
+

class BinaryNotFoundException extends Exception implements + Exception

+ + + + +
+ + + diff --git a/docs/API/FFMpeg/Exception/Exception.html b/docs/API/FFMpeg/Exception/Exception.html new file mode 100644 index 0000000..5239878 --- /dev/null +++ b/docs/API/FFMpeg/Exception/Exception.html @@ -0,0 +1,35 @@ + + + + + + FFMpeg\Exception\Exception | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Interface
+

FFMpeg\Exception\Exception

+
+
+

interface Exception

+ + + + +
+ + + diff --git a/docs/API/FFMpeg/Exception/InvalidArgumentException.html b/docs/API/FFMpeg/Exception/InvalidArgumentException.html new file mode 100644 index 0000000..c5f63f9 --- /dev/null +++ b/docs/API/FFMpeg/Exception/InvalidArgumentException.html @@ -0,0 +1,36 @@ + + + + + + FFMpeg\Exception\InvalidArgumentException | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Exception\InvalidArgumentException

+
+
+

class InvalidArgumentException extends InvalidArgumentException implements + Exception

+ + + + +
+ + + diff --git a/docs/API/FFMpeg/Exception/LogicException.html b/docs/API/FFMpeg/Exception/LogicException.html new file mode 100644 index 0000000..fe1bac0 --- /dev/null +++ b/docs/API/FFMpeg/Exception/LogicException.html @@ -0,0 +1,36 @@ + + + + + + FFMpeg\Exception\LogicException | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Exception\LogicException

+
+
+

class LogicException extends LogicException implements + Exception

+ + + + +
+ + + diff --git a/docs/API/FFMpeg/Exception/RuntimeException.html b/docs/API/FFMpeg/Exception/RuntimeException.html new file mode 100644 index 0000000..965929a --- /dev/null +++ b/docs/API/FFMpeg/Exception/RuntimeException.html @@ -0,0 +1,36 @@ + + + + + + FFMpeg\Exception\RuntimeException | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Exception\RuntimeException

+
+
+

class RuntimeException extends RuntimeException implements + Exception

+ + + + +
+ + + diff --git a/docs/API/FFMpeg/Exception/namespace-frame.html b/docs/API/FFMpeg/Exception/namespace-frame.html new file mode 100644 index 0000000..ccd881d --- /dev/null +++ b/docs/API/FFMpeg/Exception/namespace-frame.html @@ -0,0 +1,9 @@ + + + + + + FFMpeg\Exception | PHP FFMpeg API + + + diff --git a/docs/API/FFMpeg/FFMpeg.html b/docs/API/FFMpeg/FFMpeg.html new file mode 100644 index 0000000..2fd23c1 --- /dev/null +++ b/docs/API/FFMpeg/FFMpeg.html @@ -0,0 +1,417 @@ + + + + + + FFMpeg\FFMpeg | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\FFMpeg

+
+
+

class FFMpeg extends Binary

+ +
+

FFMpeg driver

+

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + __construct(type $binary, Logger $logger) +

Binary constructor

+
from Binary
+ + + __destruct() +

Destructor

+
+ static Binary + + load(Logger $logger) +

Loads the adapter

+
from Binary
+ FFMpeg + + open(string $pathfile) +

Opens a file in order to be processed

+
+ FFMpeg + + setProber(FFProbe $prober) +

Set a prober

+
+ FFMpeg + + close() +

Close a file

+
+ FFMpeg + + extractImage(integer $time, string $output) +

+
+ FFMpeg + + encode(Audio $format, string $outputPathfile, integer $threads = 1) +

Encode the file to the specified format

+
+ + +

Details

+ +

+
in Binary at line 39
+ public + __construct(type $binary, Logger $logger) +

+
+

Binary constructor

+

+
+

Parameters

+ + + + + + + + + + + + +
type$binaryThe path file to the binary
Logger$loggerA logger
+ + + + +
+
+ +

+
at line 36
+ public + __destruct() +

+
+

Destructor

+

+
+ + + +
+
+ +

+
in Binary at line 61
+ static public Binary + load(Logger $logger) +

+
+

Loads the adapter

+

+
+

Parameters

+ + + + + + + +
Logger$loggerA logger
+ + +

Return Value

+ + + + + + +
BinaryThe binary
+ + + +
+
+ +

+
at line 49
+ public FFMpeg + open(string $pathfile) +

+
+

Opens a file in order to be processed

+

+
+

Parameters

+ + + + + + + +
string$pathfileA pathfile
+ + +

Return Value

+ + + + + + +
FFMpeg
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 69
+ public FFMpeg + setProber(FFProbe $prober) +

+
+

Set a prober

+

+
+

Parameters

+ + + + + + + +
FFProbe$prober
+ + +

Return Value

+ + + + + + +
FFMpeg
+ + + +
+
+ +

+
at line 81
+ public FFMpeg + close() +

+
+

Close a file

+

+
+ +

Return Value

+ + + + + + +
FFMpeg
+ + + +
+
+ +

+
at line 98
+ public FFMpeg + extractImage(integer $time, string $output) +

+
+

+

+
+

Parameters

+ + + + + + + + + + + + +
integer$timeThe time in second where to take the snapshot
string$outputThe pathfile where to write
+ + +

Return Value

+ + + + + + +
FFMpeg
+ + +

Exceptions

+ + + + + + + + + + +
RuntimeException
LogicException
+ + +
+
+ +

+
at line 142
+ public FFMpeg + encode(Audio $format, string $outputPathfile, integer $threads = 1) +

+
+

Encode the file to the specified format

+

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
Audio$formatThe output format
string$outputPathfileThe pathfile where to write
integer$threadsThe number of threads to use
+ + +

Return Value

+ + + + + + +
FFMpeg
+ + +

Exceptions

+ + + + + + + + + + +
RuntimeException
LogicException
+ + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/FFProbe.html b/docs/API/FFMpeg/FFProbe.html new file mode 100644 index 0000000..5f95356 --- /dev/null +++ b/docs/API/FFMpeg/FFProbe.html @@ -0,0 +1,271 @@ + + + + + + FFMpeg\FFProbe | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\FFProbe

+
+
+

class FFProbe extends Binary

+ +
+

FFProbe driver

+

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + __construct(type $binary, Logger $logger) +

Binary constructor

+
from Binary
+ + + __destruct() +

Destructor

+
from Binary
+ static Binary + + load(Logger $logger) +

Loads the adapter

+
from Binary
+ string + + probeFormat(string $pathfile) +

Probe the format of a given file

+
+ string + + probeStreams(string $pathfile) +

Probe the streams contained in a given file

+
+ + +

Details

+ +

+
in Binary at line 39
+ public + __construct(type $binary, Logger $logger) +

+
+

Binary constructor

+

+
+

Parameters

+ + + + + + + + + + + + +
type$binaryThe path file to the binary
Logger$loggerA logger
+ + + + +
+
+ +

+
in Binary at line 48
+ public + __destruct() +

+
+

Destructor

+

+
+ + + +
+
+ +

+
in Binary at line 61
+ static public Binary + load(Logger $logger) +

+
+

Loads the adapter

+

+
+

Parameters

+ + + + + + + +
Logger$loggerA logger
+ + +

Return Value

+ + + + + + +
BinaryThe binary
+ + + +
+
+ +

+
at line 34
+ public string + probeFormat(string $pathfile) +

+
+

Probe the format of a given file

+

+
+

Parameters

+ + + + + + + +
string$pathfile
+ + +

Return Value

+ + + + + + +
string
+ + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
RuntimeException
+ + +
+
+ +

+
at line 53
+ public string + probeStreams(string $pathfile) +

+
+

Probe the streams contained in a given file

+

+
+

Parameters

+ + + + + + + +
string$pathfile
+ + +

Return Value

+ + + + + + +
string
+ + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
RuntimeException
+ + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format.html b/docs/API/FFMpeg/Format.html new file mode 100644 index 0000000..9682d29 --- /dev/null +++ b/docs/API/FFMpeg/Format.html @@ -0,0 +1,43 @@ + + + + + + FFMpeg\Format | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Namespace
+

FFMpeg\Format

+
+
+ +

Interfaces

+ + + + + + + + + +
AudioThe base audio interface
VideoThe base video interface
+ +
+ + + diff --git a/docs/API/FFMpeg/Format/Audio.html b/docs/API/FFMpeg/Format/Audio.html new file mode 100644 index 0000000..46ac45a --- /dev/null +++ b/docs/API/FFMpeg/Format/Audio.html @@ -0,0 +1,116 @@ + + + + + + FFMpeg\Format\Audio | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Interface
+

FFMpeg\Format\Audio

+
+
+

interface Audio

+ +
+

The base audio interface

+

+
+ + + +

Methods

+ + + + + + + + + + + + +
+ string + + getAudioCodec() +

Returns the audio codec

+
+ integer + + getKiloBitrate() +

Get the kiloBitrate value

+
+ + +

Details

+ +

+
at line 27
+ public string + getAudioCodec() +

+
+

Returns the audio codec

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
at line 34
+ public integer + getKiloBitrate() +

+
+

Get the kiloBitrate value

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Audio/DefaultAudio.html b/docs/API/FFMpeg/Format/Audio/DefaultAudio.html new file mode 100644 index 0000000..05048e8 --- /dev/null +++ b/docs/API/FFMpeg/Format/Audio/DefaultAudio.html @@ -0,0 +1,299 @@ + + + + + + FFMpeg\Format\Audio\DefaultAudio | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Format\Audio\DefaultAudio

+
+
+

abstract class DefaultAudio implements + ResamplableAudio, InteractiveAudio

+ +
+

The abstract default Audio format

+

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ string + + getExtraParams() +

Returns extra parameters for the encoding

+
+ + + getAudioCodec() +

{@inheritdoc}

+
+ + + setAudioCodec(string $audioCodec) +

Set the audio codec, Should be in the available ones, otherwise an exception is thrown

+
+ integer + + getAudioSampleRate() +

Get the audio sample rate

+
+ + + setAudioSampleRate(integer $audioSampleRate) +

Set the audio sample rate

+
+ + + getKiloBitrate() +

{@inheritdoc}

+
+ + + setKiloBitrate(int $kiloBitrate) +

Set the kiloBitrate value

+
+ + +

Details

+ +

+
at line 32
+ public string + getExtraParams() +

+
+

Returns extra parameters for the encoding

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
at line 40
+ public + getAudioCodec() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
at line 52
+ public + setAudioCodec(string $audioCodec) +

+
+

Set the audio codec, Should be in the available ones, otherwise an exception is thrown

+

+
+

Parameters

+ + + + + + + +
string$audioCodec
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 69
+ public integer + getAudioSampleRate() +

+
+

Get the audio sample rate

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
at line 80
+ public + setAudioSampleRate(integer $audioSampleRate) +

+
+

Set the audio sample rate

+

+
+

Parameters

+ + + + + + + +
integer$audioSampleRate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 94
+ public + getKiloBitrate() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
at line 105
+ public + setKiloBitrate(int $kiloBitrate) +

+
+

Set the kiloBitrate value

+

+
+

Parameters

+ + + + + + + +
int$kiloBitrateinteger $kiloBitrate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Audio/Flac.html b/docs/API/FFMpeg/Format/Audio/Flac.html new file mode 100644 index 0000000..c31a633 --- /dev/null +++ b/docs/API/FFMpeg/Format/Audio/Flac.html @@ -0,0 +1,323 @@ + + + + + + FFMpeg\Format\Audio\Flac | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Format\Audio\Flac

+
+
+

class Flac extends DefaultAudio

+ +
+

The Flac audio format

+

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ string + + getExtraParams() +

Returns extra parameters for the encoding

+
from DefaultAudio
+ + + getAudioCodec() +

{@inheritdoc}

+
from DefaultAudio
+ + + setAudioCodec(string $audioCodec) +

Set the audio codec, Should be in the available ones, otherwise an exception is thrown

+
from DefaultAudio
+ integer + + getAudioSampleRate() +

Get the audio sample rate

+
from DefaultAudio
+ + + setAudioSampleRate(integer $audioSampleRate) +

Set the audio sample rate

+
from DefaultAudio
+ + + getKiloBitrate() +

{@inheritdoc}

+
from DefaultAudio
+ + + setKiloBitrate(int $kiloBitrate) +

Set the kiloBitrate value

+
from DefaultAudio
+ + + getAvailableAudioCodecs() +

{@inheritDoc}

+
+ + +

Details

+ +

+
in DefaultAudio at line 32
+ public string + getExtraParams() +

+
+

Returns extra parameters for the encoding

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
in DefaultAudio at line 40
+ public + getAudioCodec() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultAudio at line 52
+ public + setAudioCodec(string $audioCodec) +

+
+

Set the audio codec, Should be in the available ones, otherwise an exception is thrown

+

+
+

Parameters

+ + + + + + + +
string$audioCodec
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultAudio at line 69
+ public integer + getAudioSampleRate() +

+
+

Get the audio sample rate

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultAudio at line 80
+ public + setAudioSampleRate(integer $audioSampleRate) +

+
+

Set the audio sample rate

+

+
+

Parameters

+ + + + + + + +
integer$audioSampleRate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultAudio at line 94
+ public + getKiloBitrate() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultAudio at line 105
+ public + setKiloBitrate(int $kiloBitrate) +

+
+

Set the kiloBitrate value

+

+
+

Parameters

+ + + + + + + +
int$kiloBitrateinteger $kiloBitrate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 26
+ public + getAvailableAudioCodecs() +

+
+

{@inheritDoc}

+

+
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Audio/InteractiveAudio.html b/docs/API/FFMpeg/Format/Audio/InteractiveAudio.html new file mode 100644 index 0000000..aa6633d --- /dev/null +++ b/docs/API/FFMpeg/Format/Audio/InteractiveAudio.html @@ -0,0 +1,153 @@ + + + + + + FFMpeg\Format\Audio\InteractiveAudio | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Interface
+

FFMpeg\Format\Audio\InteractiveAudio

+
+
+

interface InteractiveAudio implements + Audio

+ +
+

The interactive audio interface.

+

This provide a method to list available
+ codecs. This is usefull to build interactive development and switch between
+ different codecs

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + +
+ string + + getAudioCodec() +

Returns the audio codec

+
from Audio
+ integer + + getKiloBitrate() +

Get the kiloBitrate value

+
from Audio
+ array + + getAvailableAudioCodecs() +

Returns the list of available audio codecs for this format

+
+ + +

Details

+ +

+
in Audio at line 27
+ public string + getAudioCodec() +

+
+

Returns the audio codec

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
in Audio at line 34
+ public integer + getKiloBitrate() +

+
+

Get the kiloBitrate value

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
at line 31
+ public array + getAvailableAudioCodecs() +

+
+

Returns the list of available audio codecs for this format

+

+
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Audio/Mp3.html b/docs/API/FFMpeg/Format/Audio/Mp3.html new file mode 100644 index 0000000..e9607c9 --- /dev/null +++ b/docs/API/FFMpeg/Format/Audio/Mp3.html @@ -0,0 +1,323 @@ + + + + + + FFMpeg\Format\Audio\Mp3 | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Format\Audio\Mp3

+
+
+

class Mp3 extends DefaultAudio

+ +
+

The MP3 audio format

+

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ string + + getExtraParams() +

Returns extra parameters for the encoding

+
from DefaultAudio
+ + + getAudioCodec() +

{@inheritdoc}

+
from DefaultAudio
+ + + setAudioCodec(string $audioCodec) +

Set the audio codec, Should be in the available ones, otherwise an exception is thrown

+
from DefaultAudio
+ integer + + getAudioSampleRate() +

Get the audio sample rate

+
from DefaultAudio
+ + + setAudioSampleRate(integer $audioSampleRate) +

Set the audio sample rate

+
from DefaultAudio
+ + + getKiloBitrate() +

{@inheritdoc}

+
from DefaultAudio
+ + + setKiloBitrate(int $kiloBitrate) +

Set the kiloBitrate value

+
from DefaultAudio
+ + + getAvailableAudioCodecs() +

{@inheritDoc}

+
+ + +

Details

+ +

+
in DefaultAudio at line 32
+ public string + getExtraParams() +

+
+

Returns extra parameters for the encoding

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
in DefaultAudio at line 40
+ public + getAudioCodec() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultAudio at line 52
+ public + setAudioCodec(string $audioCodec) +

+
+

Set the audio codec, Should be in the available ones, otherwise an exception is thrown

+

+
+

Parameters

+ + + + + + + +
string$audioCodec
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultAudio at line 69
+ public integer + getAudioSampleRate() +

+
+

Get the audio sample rate

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultAudio at line 80
+ public + setAudioSampleRate(integer $audioSampleRate) +

+
+

Set the audio sample rate

+

+
+

Parameters

+ + + + + + + +
integer$audioSampleRate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultAudio at line 94
+ public + getKiloBitrate() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultAudio at line 105
+ public + setKiloBitrate(int $kiloBitrate) +

+
+

Set the kiloBitrate value

+

+
+

Parameters

+ + + + + + + +
int$kiloBitrateinteger $kiloBitrate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 26
+ public + getAvailableAudioCodecs() +

+
+

{@inheritDoc}

+

+
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Audio/ResamplableAudio.html b/docs/API/FFMpeg/Format/Audio/ResamplableAudio.html new file mode 100644 index 0000000..97d97e7 --- /dev/null +++ b/docs/API/FFMpeg/Format/Audio/ResamplableAudio.html @@ -0,0 +1,151 @@ + + + + + + FFMpeg\Format\Audio\ResamplableAudio | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Interface
+

FFMpeg\Format\Audio\ResamplableAudio

+
+
+

interface ResamplableAudio implements + Audio

+ +
+

The resamplable audio interface

+

This provide a method to define the AudiosampleRate

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + +
+ string + + getAudioCodec() +

Returns the audio codec

+
from Audio
+ integer + + getKiloBitrate() +

Get the kiloBitrate value

+
from Audio
+ integer + + getAudioSampleRate() +

Get the audio sample rate

+
+ + +

Details

+ +

+
in Audio at line 27
+ public string + getAudioCodec() +

+
+

Returns the audio codec

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
in Audio at line 34
+ public integer + getKiloBitrate() +

+
+

Get the kiloBitrate value

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
at line 31
+ public integer + getAudioSampleRate() +

+
+

Get the audio sample rate

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Audio/namespace-frame.html b/docs/API/FFMpeg/Format/Audio/namespace-frame.html new file mode 100644 index 0000000..5a69324 --- /dev/null +++ b/docs/API/FFMpeg/Format/Audio/namespace-frame.html @@ -0,0 +1,9 @@ + + + + + + FFMpeg\Format\Audio | PHP FFMpeg API + + + diff --git a/docs/API/FFMpeg/Format/Video.html b/docs/API/FFMpeg/Format/Video.html new file mode 100644 index 0000000..0103b13 --- /dev/null +++ b/docs/API/FFMpeg/Format/Video.html @@ -0,0 +1,151 @@ + + + + + + FFMpeg\Format\Video | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Interface
+

FFMpeg\Format\Video

+
+
+

interface Video implements + Audio

+ +
+

The base video interface

+

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + +
+ string + + getAudioCodec() +

Returns the audio codec

+
from Audio
+ integer + + getKiloBitrate() +

Get the kiloBitrate value

+
from Audio
+ string + + getVideoCodec() +

Returns the video codec

+
+ + +

Details

+ +

+
in Audio at line 27
+ public string + getAudioCodec() +

+
+

Returns the audio codec

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
in Audio at line 34
+ public integer + getKiloBitrate() +

+
+

Get the kiloBitrate value

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
at line 27
+ public string + getVideoCodec() +

+
+

Returns the video codec

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Video/DefaultVideo.html b/docs/API/FFMpeg/Format/Video/DefaultVideo.html new file mode 100644 index 0000000..8c1af6e --- /dev/null +++ b/docs/API/FFMpeg/Format/Video/DefaultVideo.html @@ -0,0 +1,778 @@ + + + + + + FFMpeg\Format\Video\DefaultVideo | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Format\Video\DefaultVideo

+
+
+

abstract class DefaultVideo extends DefaultAudio implements + InteractiveVideo, ResamplableVideo, ResizableVideo

+ +
+

The abstract default Video format

+

+
+ +

Constants

+ + + + + + + + + + +
RESIZEMODE_FIT +

+

+
RESIZEMODE_INSET +

+

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ string + + getExtraParams() +

Returns extra parameters for the encoding

+
from DefaultAudio
+ + + getAudioCodec() +

{@inheritdoc}

+
from DefaultAudio
+ + + setAudioCodec(string $audioCodec) +

Set the audio codec, Should be in the available ones, otherwise an exception is thrown

+
from DefaultAudio
+ integer + + getAudioSampleRate() +

Get the audio sample rate

+
from DefaultAudio
+ + + setAudioSampleRate(integer $audioSampleRate) +

Set the audio sample rate

+
from DefaultAudio
+ + + getKiloBitrate() +

{@inheritdoc}

+
from DefaultAudio
+ + + setKiloBitrate(int $kiloBitrate) +

Set the kiloBitrate value

+
from DefaultAudio
+ integer + + getWidth() +

Returns the width setting.

+
+ integer + + getHeight() +

Returns the height setting The return of this method should not depend on a media file size

+
+ + + setDimensions(integer $width, integer $height) +

Set the dimensions

+
+ array + + getComputedDimensions(integer $originalWidth, integer $originalHeight) +

{@inheritdoc)

+
+ + + setResizeMode(string $mode) +

Set the resize mode

+
+ string + + getResizeMode() +

Get the current resize mode name

+
+ integer + + getFrameRate() +

Returns the frame rate

+
+ + + setFrameRate(integer $frameRate) +

Set the framerate

+
+ + + getVideoCodec() +

{@inheritdoc}

+
+ + + setVideoCodec(string $videoCodec) +

Set the video codec, Should be in the available ones, otherwise an exception is thrown

+
+ + + getGOPsize() +

{@inheritdoc}

+
+ + + setGOPsize(integer $GOPsize) +

Set the GOP size

+
+ + +

Details

+ +

+
in DefaultAudio at line 32
+ public string + getExtraParams() +

+
+

Returns extra parameters for the encoding

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
in DefaultAudio at line 40
+ public + getAudioCodec() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultAudio at line 52
+ public + setAudioCodec(string $audioCodec) +

+
+

Set the audio codec, Should be in the available ones, otherwise an exception is thrown

+

+
+

Parameters

+ + + + + + + +
string$audioCodec
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultAudio at line 69
+ public integer + getAudioSampleRate() +

+
+

Get the audio sample rate

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultAudio at line 80
+ public + setAudioSampleRate(integer $audioSampleRate) +

+
+

Set the audio sample rate

+

+
+

Parameters

+ + + + + + + +
integer$audioSampleRate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultAudio at line 94
+ public + getKiloBitrate() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultAudio at line 105
+ public + setKiloBitrate(int $kiloBitrate) +

+
+

Set the kiloBitrate value

+

+
+

Parameters

+ + + + + + + +
int$kiloBitrateinteger $kiloBitrate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 38
+ public integer + getWidth() +

+
+

Returns the width setting.

+

The return of this method should not depend on a media file size

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
at line 46
+ public integer + getHeight() +

+
+

Returns the height setting The return of this method should not depend on a media file size

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
at line 58
+ public + setDimensions(integer $width, integer $height) +

+
+

Set the dimensions

+

+
+

Parameters

+ + + + + + + + + + + + +
integer$widthThe heigth
integer$heightThe width
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 76
+ public array + getComputedDimensions(integer $originalWidth, integer $originalHeight) +

+
+

{@inheritdoc)

+

+
+

Parameters

+ + + + + + + + + + + + +
integer$originalWidth
integer$originalHeight
+ + +

Return Value

+ + + + + + +
arrayAn indexed array containing the width and the height
+ + + +
+
+ +

+
at line 108
+ public + setResizeMode(string $mode) +

+
+

Set the resize mode

+

+
+

Parameters

+ + + + + + + +
string$modeThe mode, one of the self::RESIZEMODE_* constants
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 126
+ public string + getResizeMode() +

+
+

Get the current resize mode name

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
at line 134
+ public integer + getFrameRate() +

+
+

Returns the frame rate

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
at line 146
+ public + setFrameRate(integer $frameRate) +

+
+

Set the framerate

+

+
+

Parameters

+ + + + + + + +
integer$frameRate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 160
+ public + getVideoCodec() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
at line 172
+ public + setVideoCodec(string $videoCodec) +

+
+

Set the video codec, Should be in the available ones, otherwise an exception is thrown

+

+
+

Parameters

+ + + + + + + +
string$videoCodec
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 189
+ public + getGOPsize() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
at line 201
+ public + setGOPsize(integer $GOPsize) +

+
+

Set the GOP size

+

+
+

Parameters

+ + + + + + + +
integer$GOPsize
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Video/InteractiveVideo.html b/docs/API/FFMpeg/Format/Video/InteractiveVideo.html new file mode 100644 index 0000000..5def581 --- /dev/null +++ b/docs/API/FFMpeg/Format/Video/InteractiveVideo.html @@ -0,0 +1,119 @@ + + + + + + FFMpeg\Format\Video\InteractiveVideo | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Interface
+

FFMpeg\Format\Video\InteractiveVideo

+
+
+

interface InteractiveVideo implements + Video

+ +
+

The interactive video interface.

+

This provide a method to list available
+ codecs. This is usefull to build interactive development and switch between
+ different codecs

+
+ + + +

Methods

+ + + + + + + + + + + + +
+ string + + getVideoCodec() +

Returns the video codec

+
from Video
+ array + + getAvailableVideoCodecs() +

Returns the list of available video codecs for this format

+
+ + +

Details

+ +

+
in Video at line 27
+ public string + getVideoCodec() +

+
+

Returns the video codec

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
at line 31
+ public array + getAvailableVideoCodecs() +

+
+

Returns the list of available video codecs for this format

+

+
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Video/Ogg.html b/docs/API/FFMpeg/Format/Video/Ogg.html new file mode 100644 index 0000000..9a05ad5 --- /dev/null +++ b/docs/API/FFMpeg/Format/Video/Ogg.html @@ -0,0 +1,577 @@ + + + + + + FFMpeg\Format\Video\Ogg | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Format\Video\Ogg

+
+
+

class Ogg extends DefaultVideo

+ +
+

The Ogg video format

+

+
+ +

Constants

+ + + + + + + + + + +
RESIZEMODE_FIT +

+

+
RESIZEMODE_INSET +

+

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ integer + + getWidth() +

Returns the width setting.

+
from DefaultVideo
+ integer + + getHeight() +

Returns the height setting The return of this method should not depend on a media file size

+
from DefaultVideo
+ + + setDimensions(integer $width, integer $height) +

Set the dimensions

+
from DefaultVideo
+ array + + getComputedDimensions(integer $originalWidth, integer $originalHeight) +

{@inheritdoc)

+
from DefaultVideo
+ + + setResizeMode(string $mode) +

Set the resize mode

+
from DefaultVideo
+ string + + getResizeMode() +

Get the current resize mode name

+
from DefaultVideo
+ integer + + getFrameRate() +

Returns the frame rate

+
from DefaultVideo
+ + + setFrameRate(integer $frameRate) +

Set the framerate

+
from DefaultVideo
+ + + getVideoCodec() +

{@inheritdoc}

+
from DefaultVideo
+ + + setVideoCodec(string $videoCodec) +

Set the video codec, Should be in the available ones, otherwise an exception is thrown

+
from DefaultVideo
+ + + getGOPsize() +

{@inheritdoc}

+
from DefaultVideo
+ + + setGOPsize(integer $GOPsize) +

Set the GOP size

+
from DefaultVideo
+ + + getAvailableAudioCodecs() +

{@inheritDoc}

+
+ + + getAvailableVideoCodecs() +

{@inheritDoc}

+
+ + +

Details

+ +

+
in DefaultVideo at line 38
+ public integer + getWidth() +

+
+

Returns the width setting.

+

The return of this method should not depend on a media file size

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultVideo at line 46
+ public integer + getHeight() +

+
+

Returns the height setting The return of this method should not depend on a media file size

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultVideo at line 58
+ public + setDimensions(integer $width, integer $height) +

+
+

Set the dimensions

+

+
+

Parameters

+ + + + + + + + + + + + +
integer$widthThe heigth
integer$heightThe width
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 76
+ public array + getComputedDimensions(integer $originalWidth, integer $originalHeight) +

+
+

{@inheritdoc)

+

+
+

Parameters

+ + + + + + + + + + + + +
integer$originalWidth
integer$originalHeight
+ + +

Return Value

+ + + + + + +
arrayAn indexed array containing the width and the height
+ + + +
+
+ +

+
in DefaultVideo at line 108
+ public + setResizeMode(string $mode) +

+
+

Set the resize mode

+

+
+

Parameters

+ + + + + + + +
string$modeThe mode, one of the self::RESIZEMODE_* constants
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 126
+ public string + getResizeMode() +

+
+

Get the current resize mode name

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
in DefaultVideo at line 134
+ public integer + getFrameRate() +

+
+

Returns the frame rate

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultVideo at line 146
+ public + setFrameRate(integer $frameRate) +

+
+

Set the framerate

+

+
+

Parameters

+ + + + + + + +
integer$frameRate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 160
+ public + getVideoCodec() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultVideo at line 172
+ public + setVideoCodec(string $videoCodec) +

+
+

Set the video codec, Should be in the available ones, otherwise an exception is thrown

+

+
+

Parameters

+ + + + + + + +
string$videoCodec
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 189
+ public + getGOPsize() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultVideo at line 201
+ public + setGOPsize(integer $GOPsize) +

+
+

Set the GOP size

+

+
+

Parameters

+ + + + + + + +
integer$GOPsize
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 27
+ public + getAvailableAudioCodecs() +

+
+

{@inheritDoc}

+

+
+ + + +
+
+ +

+
at line 35
+ public + getAvailableVideoCodecs() +

+
+

{@inheritDoc}

+

+
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Video/ResamplableVideo.html b/docs/API/FFMpeg/Format/Video/ResamplableVideo.html new file mode 100644 index 0000000..c0f1743 --- /dev/null +++ b/docs/API/FFMpeg/Format/Video/ResamplableVideo.html @@ -0,0 +1,151 @@ + + + + + + FFMpeg\Format\Video\ResamplableVideo | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Interface
+

FFMpeg\Format\Video\ResamplableVideo

+
+
+

interface ResamplableVideo implements + Video

+ +
+

The resamplable video interface

+

This interface provides frame rate and GOP size settings for video encoding

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + +
+ string + + getVideoCodec() +

Returns the video codec

+
from Video
+ integer + + getFrameRate() +

Returns the frame rate

+
+ integer + + getGOPSize() +

Returns the GOP size

+
+ + +

Details

+ +

+
in Video at line 27
+ public string + getVideoCodec() +

+
+

Returns the video codec

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
at line 31
+ public integer + getFrameRate() +

+
+

Returns the frame rate

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
at line 38
+ public integer + getGOPSize() +

+
+

Returns the GOP size

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Video/ResizableVideo.html b/docs/API/FFMpeg/Format/Video/ResizableVideo.html new file mode 100644 index 0000000..cc7ce3e --- /dev/null +++ b/docs/API/FFMpeg/Format/Video/ResizableVideo.html @@ -0,0 +1,234 @@ + + + + + + FFMpeg\Format\Video\ResizableVideo | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Interface
+

FFMpeg\Format\Video\ResizableVideo

+
+
+

interface ResizableVideo implements + Video

+ +
+

The resizable video interface

+

This interface provides methods for video resizing.

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ string + + getVideoCodec() +

Returns the video codec

+
from Video
+ integer + + getWidth() +

Returns the width setting.

+
+ integer + + getHeight() +

Returns the height setting The return of this method should not depend on a media file size

+
+ array + + getComputedDimensions(integer $originalWidth, integer $originalHeight) +

Returns the computed dimensions for the resize, after operation.

+
+ string + + getResizeMode() +

Get the current resize mode name

+
+ + +

Details

+ +

+
in Video at line 27
+ public string + getVideoCodec() +

+
+

Returns the video codec

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
at line 32
+ public integer + getWidth() +

+
+

Returns the width setting.

+

The return of this method should not depend on a media file size

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
at line 40
+ public integer + getHeight() +

+
+

Returns the height setting The return of this method should not depend on a media file size

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
at line 50
+ public array + getComputedDimensions(integer $originalWidth, integer $originalHeight) +

+
+

Returns the computed dimensions for the resize, after operation.

+

This method return the actual dimensions that FFmpeg will use.

+
+

Parameters

+ + + + + + + + + + + + +
integer$originalWidth
integer$originalHeight
+ + +

Return Value

+ + + + + + +
arrayAn indexed array containing the width and the height
+ + + +
+
+ +

+
at line 57
+ public string + getResizeMode() +

+
+

Get the current resize mode name

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Video/WebM.html b/docs/API/FFMpeg/Format/Video/WebM.html new file mode 100644 index 0000000..9210cd4 --- /dev/null +++ b/docs/API/FFMpeg/Format/Video/WebM.html @@ -0,0 +1,602 @@ + + + + + + FFMpeg\Format\Video\WebM | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Format\Video\WebM

+
+
+

class WebM extends DefaultVideo

+ +
+

The WebM video format

+

+
+ +

Constants

+ + + + + + + + + + +
RESIZEMODE_FIT +

+

+
RESIZEMODE_INSET +

+

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ integer + + getWidth() +

Returns the width setting.

+
from DefaultVideo
+ integer + + getHeight() +

Returns the height setting The return of this method should not depend on a media file size

+
from DefaultVideo
+ + + setDimensions(integer $width, integer $height) +

Set the dimensions

+
from DefaultVideo
+ array + + getComputedDimensions(integer $originalWidth, integer $originalHeight) +

{@inheritdoc)

+
from DefaultVideo
+ + + setResizeMode(string $mode) +

Set the resize mode

+
from DefaultVideo
+ string + + getResizeMode() +

Get the current resize mode name

+
from DefaultVideo
+ integer + + getFrameRate() +

Returns the frame rate

+
from DefaultVideo
+ + + setFrameRate(integer $frameRate) +

Set the framerate

+
from DefaultVideo
+ + + getVideoCodec() +

{@inheritdoc}

+
from DefaultVideo
+ + + setVideoCodec(string $videoCodec) +

Set the video codec, Should be in the available ones, otherwise an exception is thrown

+
from DefaultVideo
+ + + getGOPsize() +

{@inheritdoc}

+
from DefaultVideo
+ + + setGOPsize(integer $GOPsize) +

Set the GOP size

+
from DefaultVideo
+ + + getExtraParams() +

{@inheritDoc}

+
+ + + getAvailableAudioCodecs() +

{@inheritDoc}

+
+ + + getAvailableVideoCodecs() +

{@inheritDoc}

+
+ + +

Details

+ +

+
in DefaultVideo at line 38
+ public integer + getWidth() +

+
+

Returns the width setting.

+

The return of this method should not depend on a media file size

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultVideo at line 46
+ public integer + getHeight() +

+
+

Returns the height setting The return of this method should not depend on a media file size

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultVideo at line 58
+ public + setDimensions(integer $width, integer $height) +

+
+

Set the dimensions

+

+
+

Parameters

+ + + + + + + + + + + + +
integer$widthThe heigth
integer$heightThe width
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 76
+ public array + getComputedDimensions(integer $originalWidth, integer $originalHeight) +

+
+

{@inheritdoc)

+

+
+

Parameters

+ + + + + + + + + + + + +
integer$originalWidth
integer$originalHeight
+ + +

Return Value

+ + + + + + +
arrayAn indexed array containing the width and the height
+ + + +
+
+ +

+
in DefaultVideo at line 108
+ public + setResizeMode(string $mode) +

+
+

Set the resize mode

+

+
+

Parameters

+ + + + + + + +
string$modeThe mode, one of the self::RESIZEMODE_* constants
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 126
+ public string + getResizeMode() +

+
+

Get the current resize mode name

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
in DefaultVideo at line 134
+ public integer + getFrameRate() +

+
+

Returns the frame rate

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultVideo at line 146
+ public + setFrameRate(integer $frameRate) +

+
+

Set the framerate

+

+
+

Parameters

+ + + + + + + +
integer$frameRate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 160
+ public + getVideoCodec() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultVideo at line 172
+ public + setVideoCodec(string $videoCodec) +

+
+

Set the video codec, Should be in the available ones, otherwise an exception is thrown

+

+
+

Parameters

+ + + + + + + +
string$videoCodec
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 189
+ public + getGOPsize() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultVideo at line 201
+ public + setGOPsize(integer $GOPsize) +

+
+

Set the GOP size

+

+
+

Parameters

+ + + + + + + +
integer$GOPsize
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 27
+ public + getExtraParams() +

+
+

{@inheritDoc}

+

+
+ + + +
+
+ +

+
at line 35
+ public + getAvailableAudioCodecs() +

+
+

{@inheritDoc}

+

+
+ + + +
+
+ +

+
at line 43
+ public + getAvailableVideoCodecs() +

+
+

{@inheritDoc}

+

+
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Video/X264.html b/docs/API/FFMpeg/Format/Video/X264.html new file mode 100644 index 0000000..d1f70c6 --- /dev/null +++ b/docs/API/FFMpeg/Format/Video/X264.html @@ -0,0 +1,577 @@ + + + + + + FFMpeg\Format\Video\X264 | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Class
+

FFMpeg\Format\Video\X264

+
+
+

class X264 extends DefaultVideo

+ +
+

The X264 video format

+

+
+ +

Constants

+ + + + + + + + + + +
RESIZEMODE_FIT +

+

+
RESIZEMODE_INSET +

+

+
+ + + +

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ integer + + getWidth() +

Returns the width setting.

+
from DefaultVideo
+ integer + + getHeight() +

Returns the height setting The return of this method should not depend on a media file size

+
from DefaultVideo
+ + + setDimensions(integer $width, integer $height) +

Set the dimensions

+
from DefaultVideo
+ array + + getComputedDimensions(integer $originalWidth, integer $originalHeight) +

{@inheritdoc)

+
from DefaultVideo
+ + + setResizeMode(string $mode) +

Set the resize mode

+
from DefaultVideo
+ string + + getResizeMode() +

Get the current resize mode name

+
from DefaultVideo
+ integer + + getFrameRate() +

Returns the frame rate

+
from DefaultVideo
+ + + setFrameRate(integer $frameRate) +

Set the framerate

+
from DefaultVideo
+ + + getVideoCodec() +

{@inheritdoc}

+
from DefaultVideo
+ + + setVideoCodec(string $videoCodec) +

Set the video codec, Should be in the available ones, otherwise an exception is thrown

+
from DefaultVideo
+ + + getGOPsize() +

{@inheritdoc}

+
from DefaultVideo
+ + + setGOPsize(integer $GOPsize) +

Set the GOP size

+
from DefaultVideo
+ + + getAvailableAudioCodecs() +

{@inheritDoc}

+
+ + + getAvailableVideoCodecs() +

{@inheritDoc}

+
+ + +

Details

+ +

+
in DefaultVideo at line 38
+ public integer + getWidth() +

+
+

Returns the width setting.

+

The return of this method should not depend on a media file size

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultVideo at line 46
+ public integer + getHeight() +

+
+

Returns the height setting The return of this method should not depend on a media file size

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultVideo at line 58
+ public + setDimensions(integer $width, integer $height) +

+
+

Set the dimensions

+

+
+

Parameters

+ + + + + + + + + + + + +
integer$widthThe heigth
integer$heightThe width
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 76
+ public array + getComputedDimensions(integer $originalWidth, integer $originalHeight) +

+
+

{@inheritdoc)

+

+
+

Parameters

+ + + + + + + + + + + + +
integer$originalWidth
integer$originalHeight
+ + +

Return Value

+ + + + + + +
arrayAn indexed array containing the width and the height
+ + + +
+
+ +

+
in DefaultVideo at line 108
+ public + setResizeMode(string $mode) +

+
+

Set the resize mode

+

+
+

Parameters

+ + + + + + + +
string$modeThe mode, one of the self::RESIZEMODE_* constants
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 126
+ public string + getResizeMode() +

+
+

Get the current resize mode name

+

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +

+
in DefaultVideo at line 134
+ public integer + getFrameRate() +

+
+

Returns the frame rate

+

+
+ +

Return Value

+ + + + + + +
integer
+ + + +
+
+ +

+
in DefaultVideo at line 146
+ public + setFrameRate(integer $frameRate) +

+
+

Set the framerate

+

+
+

Parameters

+ + + + + + + +
integer$frameRate
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 160
+ public + getVideoCodec() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultVideo at line 172
+ public + setVideoCodec(string $videoCodec) +

+
+

Set the video codec, Should be in the available ones, otherwise an exception is thrown

+

+
+

Parameters

+ + + + + + + +
string$videoCodec
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
in DefaultVideo at line 189
+ public + getGOPsize() +

+
+

{@inheritdoc}

+

+
+ + + +
+
+ +

+
in DefaultVideo at line 201
+ public + setGOPsize(integer $GOPsize) +

+
+

Set the GOP size

+

+
+

Parameters

+ + + + + + + +
integer$GOPsize
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +

+
at line 27
+ public + getAvailableAudioCodecs() +

+
+

{@inheritDoc}

+

+
+ + + +
+
+ +

+
at line 35
+ public + getAvailableVideoCodecs() +

+
+

{@inheritDoc}

+

+
+ + + +
+
+ + +
+ + + diff --git a/docs/API/FFMpeg/Format/Video/namespace-frame.html b/docs/API/FFMpeg/Format/Video/namespace-frame.html new file mode 100644 index 0000000..2abb072 --- /dev/null +++ b/docs/API/FFMpeg/Format/Video/namespace-frame.html @@ -0,0 +1,9 @@ + + + + + + FFMpeg\Format\Video | PHP FFMpeg API + + + diff --git a/docs/API/FFMpeg/Format/namespace-frame.html b/docs/API/FFMpeg/Format/namespace-frame.html new file mode 100644 index 0000000..0e6cd6c --- /dev/null +++ b/docs/API/FFMpeg/Format/namespace-frame.html @@ -0,0 +1,9 @@ + + + + + + FFMpeg\Format | PHP FFMpeg API + + + diff --git a/docs/API/FFMpeg/namespace-frame.html b/docs/API/FFMpeg/namespace-frame.html new file mode 100644 index 0000000..4cc7ac5 --- /dev/null +++ b/docs/API/FFMpeg/namespace-frame.html @@ -0,0 +1,9 @@ + + + + + + FFMpeg | PHP FFMpeg API + + + diff --git a/docs/API/PROJECT_VERSION b/docs/API/PROJECT_VERSION new file mode 100644 index 0000000..8b25206 --- /dev/null +++ b/docs/API/PROJECT_VERSION @@ -0,0 +1 @@ +master \ No newline at end of file diff --git a/docs/API/SAMI_VERSION b/docs/API/SAMI_VERSION new file mode 100644 index 0000000..7608fb3 --- /dev/null +++ b/docs/API/SAMI_VERSION @@ -0,0 +1 @@ +0.8.1-DEV \ No newline at end of file diff --git a/docs/API/cache/PROJECT_VERSION b/docs/API/cache/PROJECT_VERSION new file mode 100644 index 0000000..8b25206 --- /dev/null +++ b/docs/API/cache/PROJECT_VERSION @@ -0,0 +1 @@ +master \ No newline at end of file diff --git a/docs/API/cache/SAMI_VERSION b/docs/API/cache/SAMI_VERSION new file mode 100644 index 0000000..7608fb3 --- /dev/null +++ b/docs/API/cache/SAMI_VERSION @@ -0,0 +1 @@ +0.8.1-DEV \ No newline at end of file diff --git a/docs/API/cache/twig/4a/18/ed7812db88f182565e01bc39b38f.php b/docs/API/cache/twig/4a/18/ed7812db88f182565e01bc39b38f.php new file mode 100644 index 0000000..d197789 --- /dev/null +++ b/docs/API/cache/twig/4a/18/ed7812db88f182565e01bc39b38f.php @@ -0,0 +1,699 @@ +blocks = array( + 'title' => array($this, 'block_title'), + 'body_class' => array($this, 'block_body_class'), + 'content_header' => array($this, 'block_content_header'), + 'content' => array($this, 'block_content'), + 'class_signature' => array($this, 'block_class_signature'), + 'method_signature' => array($this, 'block_method_signature'), + 'method_parameters_signature' => array($this, 'block_method_parameters_signature'), + 'parameters' => array($this, 'block_parameters'), + 'return' => array($this, 'block_return'), + 'exceptions' => array($this, 'block_exceptions'), + 'see' => array($this, 'block_see'), + 'constants' => array($this, 'block_constants'), + 'properties' => array($this, 'block_properties'), + 'methods' => array($this, 'block_methods'), + 'methods_details' => array($this, 'block_methods_details'), + 'method' => array($this, 'block_method'), + ); + } + + protected function doGetParent(array $context) + { + return $this->env->resolveTemplate($this->getContext($context, "page_layout")); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"] = $this->env->loadTemplate("macros.twig"); + $this->getParent($context)->display($context, array_merge($this->blocks, $blocks)); + } + + // line 5 + public function block_title($context, array $blocks = array()) + { + echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "class"), "name"), "html", null, true); + echo " | "; + $this->displayParentBlock("title", $context, $blocks); + } + + // line 7 + public function block_body_class($context, array $blocks = array()) + { + echo "class"; + } + + // line 9 + public function block_content_header($context, array $blocks = array()) + { + // line 10 + echo "
"; + if ($this->getAttribute($this->getContext($context, "class"), "interface")) { + echo "Interface"; + } else { + echo "Class"; + } + echo "
+

"; + // line 11 + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getnamespace_link($this->getAttribute($this->getContext($context, "class"), "namespace")); + if ($this->getAttribute($this->getContext($context, "class"), "namespace")) { + echo "\\"; + } + echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "class"), "shortname"), "html", null, true); + echo "

+"; + } + + // line 14 + public function block_content($context, array $blocks = array()) + { + // line 15 + echo "

"; + $this->displayBlock("class_signature", $context, $blocks); + echo "

+ + "; + // line 17 + if (($this->getAttribute($this->getContext($context, "class"), "shortdesc") || $this->getAttribute($this->getContext($context, "class"), "longdesc"))) { + // line 18 + echo "
+

"; + // line 19 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "class"), "shortdesc"), $this->getContext($context, "class")), "html", null, true)); + echo "

+

"; + // line 20 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "class"), "longdesc"), $this->getContext($context, "class")), "html", null, true)); + echo "

+
+ "; + } + // line 23 + echo " + "; + // line 24 + if ($this->getContext($context, "constants")) { + // line 25 + echo "

Constants

+ + "; + // line 27 + $this->displayBlock("constants", $context, $blocks); + echo " + "; + } + // line 29 + echo " + "; + // line 30 + if ($this->getContext($context, "properties")) { + // line 31 + echo "

Properties

+ + "; + // line 33 + $this->displayBlock("properties", $context, $blocks); + echo " + "; + } + // line 35 + echo " + "; + // line 36 + if ($this->getContext($context, "methods")) { + // line 37 + echo "

Methods

+ + "; + // line 39 + $this->displayBlock("methods", $context, $blocks); + echo " + +

Details

+ + "; + // line 43 + $this->displayBlock("methods_details", $context, $blocks); + echo " + "; + } + } + + // line 47 + public function block_class_signature($context, array $blocks = array()) + { + // line 48 + if (((!$this->getAttribute($this->getContext($context, "class"), "interface")) && $this->getAttribute($this->getContext($context, "class"), "abstract"))) { + echo "abstract "; + } + // line 49 + if ($this->getAttribute($this->getContext($context, "class"), "interface")) { + echo "interface"; + } else { + echo "class"; + } + // line 50 + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "class"), "shortname"), "html", null, true); + echo ""; + // line 51 + if ($this->getAttribute($this->getContext($context, "class"), "parent")) { + // line 52 + echo " extends "; + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getclass_link($this->getAttribute($this->getContext($context, "class"), "parent")); + } + // line 54 + if ((twig_length_filter($this->env, $this->getAttribute($this->getContext($context, "class"), "interfaces")) > 0)) { + // line 55 + echo " implements + "; + // line 56 + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "class"), "interfaces")); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["interface"]) { + // line 57 + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getclass_link($this->getContext($context, "interface")); + // line 58 + if ((!$this->getAttribute($this->getContext($context, "loop"), "last"))) { + echo ", "; + } + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['interface'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + } + } + + // line 63 + public function block_method_signature($context, array $blocks = array()) + { + // line 64 + if ($this->getAttribute($this->getContext($context, "method"), "final")) { + echo "final"; + } + // line 65 + echo " "; + if ($this->getAttribute($this->getContext($context, "method"), "abstract")) { + echo "abstract"; + } + // line 66 + echo " "; + if ($this->getAttribute($this->getContext($context, "method"), "static")) { + echo "static"; + } + // line 67 + echo " "; + if ($this->getAttribute($this->getContext($context, "method"), "public")) { + echo "public"; + } + // line 68 + echo " "; + if ($this->getAttribute($this->getContext($context, "method"), "protected")) { + echo "protected"; + } + // line 69 + echo " "; + if ($this->getAttribute($this->getContext($context, "method"), "private")) { + echo "private"; + } + // line 70 + echo " "; + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->gethint_link($this->getAttribute($this->getContext($context, "method"), "hint")); + echo " + "; + // line 71 + echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "method"), "name"), "html", null, true); + echo ""; + $this->displayBlock("method_parameters_signature", $context, $blocks); + } + + // line 74 + public function block_method_parameters_signature($context, array $blocks = array()) + { + // line 75 + $context["__internal_4a18ed7812db88f182565e01bc39b38f_2"] = $this->env->loadTemplate("macros.twig"); + // line 76 + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_2"]->getmethod_parameters_signature($this->getContext($context, "method")); + } + + // line 79 + public function block_parameters($context, array $blocks = array()) + { + // line 80 + echo " + "; + // line 81 + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "method"), "parameters")); + foreach ($context['_seq'] as $context["_key"] => $context["parameter"]) { + // line 82 + echo " + + + + + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['parameter'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + // line 88 + echo "
"; + // line 83 + if ($this->getAttribute($this->getContext($context, "parameter"), "hint")) { + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->gethint_link($this->getAttribute($this->getContext($context, "parameter"), "hint")); + } + echo "\$"; + // line 84 + echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "parameter"), "name"), "html", null, true); + echo ""; + // line 85 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "parameter"), "shortdesc"), $this->getContext($context, "class")), "html", null, true)); + echo "
+"; + } + + // line 91 + public function block_return($context, array $blocks = array()) + { + // line 92 + echo " + + + + +
"; + // line 94 + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->gethint_link($this->getAttribute($this->getContext($context, "method"), "hint")); + echo ""; + // line 95 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "method"), "hintDesc"), $this->getContext($context, "class")), "html", null, true)); + echo "
+"; + } + + // line 100 + public function block_exceptions($context, array $blocks = array()) + { + // line 101 + echo " + "; + // line 102 + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "method"), "exceptions")); + foreach ($context['_seq'] as $context["_key"] => $context["exception"]) { + // line 103 + echo " + + + + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['exception'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + // line 108 + echo "
"; + // line 104 + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getclass_link($this->getAttribute($this->getContext($context, "exception"), 0, array(), "array")); + echo ""; + // line 105 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "exception"), 1, array(), "array"), $this->getContext($context, "class")), "html", null, true)); + echo "
+"; + } + + // line 111 + public function block_see($context, array $blocks = array()) + { + // line 112 + echo " + "; + // line 113 + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "method"), "tags", array(0 => "see"), "method")); + foreach ($context['_seq'] as $context["_key"] => $context["tag"]) { + // line 114 + echo " + + + + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['tag'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + // line 119 + echo "
"; + // line 115 + echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "tag"), 0, array(), "array"), "html", null, true); + echo ""; + // line 116 + echo twig_escape_filter($this->env, twig_join_filter(twig_slice($this->env, $this->getContext($context, "tag"), 1, null), " "), "html", null, true); + echo "
+"; + } + + // line 122 + public function block_constants($context, array $blocks = array()) + { + // line 123 + echo " + "; + // line 124 + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getContext($context, "constants")); + foreach ($context['_seq'] as $context["_key"] => $context["constant"]) { + // line 125 + echo " + + + + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['constant'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + // line 133 + echo "
"; + // line 126 + echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "constant"), "name"), "html", null, true); + echo " +

"; + // line 128 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "constant"), "shortdesc"), $this->getContext($context, "class")), "html", null, true)); + echo "

+

"; + // line 129 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "constant"), "longdesc"), $this->getContext($context, "class")), "html", null, true)); + echo "

+
+"; + } + + // line 136 + public function block_properties($context, array $blocks = array()) + { + // line 137 + echo " + "; + // line 138 + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getContext($context, "properties")); + foreach ($context['_seq'] as $context["_key"] => $context["property"]) { + // line 139 + echo " + + + + + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['property'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + // line 149 + echo "
env, $this->getAttribute($this->getContext($context, "property"), "name"), "html", null, true); + echo "\"> + "; + // line 141 + if ($this->getAttribute($this->getContext($context, "property"), "static")) { + echo "static"; + } + // line 142 + echo " "; + if ($this->getAttribute($this->getContext($context, "property"), "protected")) { + echo "protected"; + } + // line 143 + echo " "; + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->gethint_link($this->getAttribute($this->getContext($context, "property"), "hint")); + echo " + \$"; + // line 145 + echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "property"), "name"), "html", null, true); + echo ""; + // line 146 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "property"), "shortdesc"), $this->getContext($context, "class")), "html", null, true)); + echo "
+"; + } + + // line 152 + public function block_methods($context, array $blocks = array()) + { + // line 153 + echo " + "; + // line 154 + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getContext($context, "methods")); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["method"]) { + // line 155 + echo " + + + + + "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['method'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + // line 170 + echo "
+ "; + // line 157 + if ($this->getAttribute($this->getContext($context, "method"), "static")) { + echo "static "; + } + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->gethint_link($this->getAttribute($this->getContext($context, "method"), "hint")); + echo " + + env, $this->getAttribute($this->getContext($context, "method"), "name"), "html", null, true); + echo "\">"; + echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "method"), "name"), "html", null, true); + echo ""; + $this->displayBlock("method_parameters_signature", $context, $blocks); + echo " +

"; + // line 161 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "method"), "shortdesc"), $this->getContext($context, "class")), "html", null, true)); + echo "

+
"; + // line 164 + if (($this->getAttribute($this->getContext($context, "method"), "class") != $this->getContext($context, "class"))) { + // line 165 + echo "from "; + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getmethod_link($this->getContext($context, "method"), array(), false, true); + echo ""; + } + // line 167 + echo "
+"; + } + + // line 173 + public function block_methods_details($context, array $blocks = array()) + { + // line 174 + echo " "; + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getContext($context, "methods")); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["method"]) { + // line 175 + echo " "; + $this->displayBlock("method", $context, $blocks); + echo " + "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['method'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + } + + // line 179 + public function block_method($context, array $blocks = array()) + { + // line 180 + echo "

env, $this->getAttribute($this->getContext($context, "method"), "name"), "html", null, true); + echo "\"> +
"; + // line 181 + if (($this->getAttribute($this->getContext($context, "method"), "class") != $this->getContext($context, "class"))) { + echo "in "; + echo $context["__internal_4a18ed7812db88f182565e01bc39b38f_1"]->getmethod_link($this->getContext($context, "method"), array(), false, true); + echo " "; + } + echo "at line "; + echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "method"), "line"), "html", null, true); + echo "
+ "; + // line 182 + $this->displayBlock("method_signature", $context, $blocks); + echo " +

+
+

"; + // line 185 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "method"), "shortdesc"), $this->getContext($context, "class")), "html", null, true)); + echo "

+

"; + // line 186 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "method"), "longdesc"), $this->getContext($context, "class")), "html", null, true)); + echo "

+
+ "; + // line 188 + if ($this->getAttribute($this->getContext($context, "method"), "parameters")) { + // line 189 + echo "

Parameters

+ + "; + // line 191 + $this->displayBlock("parameters", $context, $blocks); + echo " + "; + } + // line 193 + echo " + "; + // line 194 + if (($this->getAttribute($this->getContext($context, "method"), "hintDesc") || $this->getAttribute($this->getContext($context, "method"), "hint"))) { + // line 195 + echo "

Return Value

+ + "; + // line 197 + $this->displayBlock("return", $context, $blocks); + echo " + "; + } + // line 199 + echo " + "; + // line 200 + if ($this->getAttribute($this->getContext($context, "method"), "exceptions")) { + // line 201 + echo "

Exceptions

+ + "; + // line 203 + $this->displayBlock("exceptions", $context, $blocks); + echo " + "; + } + // line 205 + echo " + "; + // line 206 + if ($this->getAttribute($this->getContext($context, "method"), "tags", array(0 => "see"), "method")) { + // line 207 + echo "

See also

+ + "; + // line 209 + $this->displayBlock("see", $context, $blocks); + echo " + "; + } + // line 211 + echo "
+
+"; + } + + public function getTemplateName() + { + return "pages/class.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 678 => 211, 673 => 209, 669 => 207, 667 => 206, 664 => 205, 659 => 203, 655 => 201, 653 => 200, 650 => 199, 645 => 197, 641 => 195, 639 => 194, 636 => 193, 631 => 191, 627 => 189, 625 => 188, 620 => 186, 616 => 185, 610 => 182, 600 => 181, 595 => 180, 592 => 179, 573 => 175, 555 => 174, 552 => 173, 547 => 170, 531 => 167, 526 => 165, 524 => 164, 519 => 161, 511 => 160, 502 => 157, 498 => 155, 481 => 154, 478 => 153, 475 => 152, 470 => 149, 461 => 146, 457 => 145, 451 => 143, 446 => 142, 442 => 141, 438 => 140, 435 => 139, 431 => 138, 428 => 137, 425 => 136, 420 => 133, 410 => 129, 406 => 128, 401 => 126, 398 => 125, 394 => 124, 391 => 123, 388 => 122, 383 => 119, 374 => 116, 370 => 115, 367 => 114, 363 => 113, 360 => 112, 357 => 111, 352 => 108, 343 => 105, 339 => 104, 336 => 103, 332 => 102, 326 => 100, 318 => 95, 314 => 94, 310 => 92, 307 => 91, 302 => 88, 293 => 85, 283 => 83, 280 => 82, 276 => 81, 273 => 80, 270 => 79, 266 => 76, 264 => 75, 261 => 74, 255 => 71, 250 => 70, 245 => 69, 240 => 68, 235 => 67, 230 => 66, 225 => 65, 221 => 64, 218 => 63, 199 => 58, 180 => 56, 177 => 55, 175 => 54, 171 => 52, 169 => 51, 165 => 50, 159 => 49, 155 => 48, 152 => 47, 145 => 43, 138 => 39, 132 => 36, 110 => 27, 106 => 25, 150 => 47, 141 => 44, 137 => 43, 130 => 41, 121 => 37, 148 => 46, 139 => 44, 135 => 43, 129 => 35, 126 => 39, 122 => 37, 113 => 35, 109 => 34, 105 => 32, 100 => 30, 83 => 25, 80 => 15, 71 => 19, 25 => 3, 118 => 30, 104 => 24, 96 => 28, 90 => 27, 87 => 26, 84 => 23, 75 => 20, 57 => 14, 46 => 10, 125 => 64, 120 => 31, 107 => 59, 22 => 4, 91 => 19, 72 => 21, 67 => 11, 61 => 16, 55 => 9, 95 => 20, 59 => 26, 43 => 9, 142 => 39, 134 => 37, 127 => 35, 123 => 33, 116 => 32, 112 => 30, 103 => 31, 99 => 30, 93 => 27, 86 => 17, 70 => 18, 64 => 17, 53 => 14, 24 => 3, 41 => 5, 39 => 7, 19 => 4, 377 => 58, 361 => 56, 356 => 55, 353 => 54, 348 => 53, 331 => 52, 329 => 101, 327 => 50, 316 => 49, 301 => 46, 289 => 84, 263 => 40, 259 => 39, 256 => 37, 253 => 35, 251 => 34, 234 => 33, 232 => 32, 220 => 31, 209 => 28, 203 => 27, 197 => 57, 183 => 25, 172 => 22, 166 => 21, 160 => 20, 146 => 19, 133 => 16, 131 => 41, 124 => 33, 117 => 35, 115 => 29, 102 => 32, 51 => 11, 40 => 6, 35 => 8, 32 => 4, 23 => 6, 17 => 1, 108 => 32, 101 => 23, 97 => 29, 88 => 18, 85 => 15, 81 => 23, 77 => 14, 62 => 16, 60 => 9, 56 => 15, 50 => 13, 47 => 11, 44 => 9, 38 => 6, 78 => 23, 74 => 20, 69 => 20, 58 => 10, 54 => 13, 48 => 10, 29 => 5, 92 => 26, 89 => 25, 82 => 8, 79 => 22, 73 => 20, 68 => 18, 66 => 18, 63 => 10, 45 => 9, 42 => 9, 36 => 3, 31 => 5, 20 => 8, 49 => 7, 37 => 7, 33 => 4, 30 => 6, 27 => 8, 26 => 3,); + } +} diff --git a/docs/API/cache/twig/a3/da/c4b98c2dde091af177026132a67a.php b/docs/API/cache/twig/a3/da/c4b98c2dde091af177026132a67a.php new file mode 100644 index 0000000..c3a8427 --- /dev/null +++ b/docs/API/cache/twig/a3/da/c4b98c2dde091af177026132a67a.php @@ -0,0 +1,169 @@ +parent = $this->env->loadTemplate("layout/base.twig"); + + $this->blocks = array( + 'title' => array($this, 'block_title'), + 'body_class' => array($this, 'block_body_class'), + 'header' => array($this, 'block_header'), + 'content' => array($this, 'block_content'), + ); + } + + protected function doGetParent(array $context) + { + return "layout/base.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["__internal_a3dac4b98c2dde091af177026132a67a_1"] = $this->env->loadTemplate("macros.twig"); + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 5 + public function block_title($context, array $blocks = array()) + { + echo twig_escape_filter($this->env, $this->getContext($context, "namespace"), "html", null, true); + echo " | "; + $this->displayParentBlock("title", $context, $blocks); + } + + // line 7 + public function block_body_class($context, array $blocks = array()) + { + echo "frame"; + } + + // line 9 + public function block_header($context, array $blocks = array()) + { + // line 10 + echo "
+

"; + // line 11 + echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "project"), "config", array(0 => "title"), "method"), "html", null, true); + echo "

+ + +
+"; + } + + // line 20 + public function block_content($context, array $blocks = array()) + { + // line 21 + echo "

"; + echo $context["__internal_a3dac4b98c2dde091af177026132a67a_1"]->getnamespace_link($this->getContext($context, "namespace"), array("target" => "main")); + echo "

+ + "; + // line 23 + if ($this->getContext($context, "classes")) { + // line 24 + echo " + "; + } + // line 30 + echo " + "; + // line 31 + if ($this->getContext($context, "interfaces")) { + // line 32 + echo "

Interfaces

+ + "; + } + // line 39 + echo " + "; + // line 40 + if ($this->getContext($context, "exceptions")) { + // line 41 + echo "

Exceptions

+ + "; + } + } + + public function getTemplateName() + { + return "namespace.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 148 => 46, 139 => 44, 135 => 43, 129 => 40, 126 => 39, 122 => 37, 113 => 35, 109 => 34, 105 => 32, 100 => 30, 83 => 25, 80 => 24, 71 => 13, 25 => 3, 118 => 35, 104 => 33, 96 => 28, 90 => 27, 87 => 26, 84 => 25, 75 => 21, 57 => 14, 46 => 10, 125 => 64, 120 => 61, 107 => 59, 22 => 4, 91 => 27, 72 => 21, 67 => 11, 61 => 15, 55 => 7, 95 => 27, 59 => 26, 43 => 7, 142 => 39, 134 => 36, 127 => 35, 123 => 33, 116 => 32, 112 => 30, 103 => 31, 99 => 30, 93 => 28, 86 => 50, 70 => 18, 64 => 18, 53 => 14, 24 => 3, 41 => 8, 39 => 7, 19 => 4, 377 => 58, 361 => 56, 356 => 55, 353 => 54, 348 => 53, 331 => 52, 329 => 51, 327 => 50, 316 => 49, 301 => 46, 289 => 45, 263 => 40, 259 => 39, 256 => 37, 253 => 35, 251 => 34, 234 => 33, 232 => 32, 220 => 31, 209 => 28, 203 => 27, 197 => 26, 183 => 25, 172 => 22, 166 => 21, 160 => 20, 146 => 19, 133 => 16, 131 => 41, 124 => 13, 117 => 11, 115 => 10, 102 => 32, 51 => 11, 40 => 6, 35 => 8, 32 => 4, 23 => 6, 17 => 1, 108 => 32, 101 => 28, 97 => 55, 88 => 27, 85 => 15, 81 => 23, 77 => 21, 62 => 16, 60 => 9, 56 => 15, 50 => 13, 47 => 11, 44 => 9, 38 => 6, 78 => 23, 74 => 20, 69 => 20, 58 => 13, 54 => 13, 48 => 10, 29 => 5, 92 => 26, 89 => 25, 82 => 8, 79 => 22, 73 => 20, 68 => 19, 66 => 18, 63 => 10, 45 => 9, 42 => 9, 36 => 5, 31 => 5, 20 => 8, 49 => 12, 37 => 6, 33 => 4, 30 => 6, 27 => 8, 26 => 3,); + } +} diff --git a/docs/API/cache/twig/c1/af/a775bb7083f4c61199158c9a0760.php b/docs/API/cache/twig/c1/af/a775bb7083f4c61199158c9a0760.php new file mode 100644 index 0000000..837c2df --- /dev/null +++ b/docs/API/cache/twig/c1/af/a775bb7083f4c61199158c9a0760.php @@ -0,0 +1,111 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "var tree = "; + echo twig_escape_filter($this->env, $this->getAttribute($this, "element", array(0 => $this->getContext($context, "tree")), "method"), "html", null, true); + echo " + +"; + } + + // line 3 + public function getelement($tree = null) + { + $context = $this->env->mergeGlobals(array( + "tree" => $tree, + )); + + $blocks = array(); + + ob_start(); + try { + // line 5 + echo "["; + // line 6 + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getContext($context, "tree")); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["element"]) { + // line 7 + echo "["; + // line 8 + echo twig_jsonencode_filter($this->getAttribute($this->getContext($context, "element"), 0, array(), "array")); + echo ","; + // line 9 + echo (($this->getAttribute($this->getContext($context, "element"), 1, array(), "array")) ? (twig_jsonencode_filter((((!$this->getAttribute($this->getContext($context, "element"), 2, array(), "array"))) ? ($this->env->getExtension('sami')->pathForClass($context, $this->getAttribute($this->getContext($context, "element"), 1, array(), "array"))) : ($this->env->getExtension('sami')->pathForNamespace($context, $this->getAttribute($this->getContext($context, "element"), 1, array(), "array")))))) : ("")); + echo ","; + // line 10 + echo twig_jsonencode_filter(((((!$this->getAttribute($this->getContext($context, "element"), 2, array(), "array")) && $this->getAttribute($this->getAttribute($this->getContext($context, "element"), 1, array(), "array"), "parent"))) ? ((" < " . $this->getAttribute($this->getAttribute($this->getAttribute($this->getContext($context, "element"), 1, array(), "array"), "parent"), "shortname"))) : (""))); + echo ", + "; + // line 11 + echo $this->getAttribute($this, "element", array(0 => $this->getAttribute($this->getContext($context, "element"), 2, array(), "array")), "method"); + // line 12 + echo "]"; + // line 13 + echo (($this->getAttribute($this->getContext($context, "loop"), "last")) ? ("") : (",")); + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['element'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + // line 15 + echo " ]"; + } catch(Exception $e) { + ob_end_clean(); + + throw $e; + } + + return ob_get_clean(); + } + + public function getTemplateName() + { + return "tree.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 71 => 13, 25 => 3, 118 => 35, 104 => 33, 96 => 29, 90 => 27, 87 => 26, 84 => 25, 75 => 21, 57 => 8, 46 => 10, 125 => 64, 120 => 61, 107 => 59, 22 => 4, 91 => 27, 72 => 20, 67 => 11, 61 => 5, 55 => 7, 95 => 27, 59 => 26, 43 => 7, 142 => 39, 134 => 36, 127 => 35, 123 => 33, 116 => 32, 112 => 30, 103 => 58, 99 => 30, 93 => 28, 86 => 50, 70 => 18, 64 => 18, 53 => 14, 24 => 3, 41 => 8, 39 => 9, 19 => 4, 377 => 58, 361 => 56, 356 => 55, 353 => 54, 348 => 53, 331 => 52, 329 => 51, 327 => 50, 316 => 49, 301 => 46, 289 => 45, 263 => 40, 259 => 39, 256 => 37, 253 => 35, 251 => 34, 234 => 33, 232 => 32, 220 => 31, 209 => 28, 203 => 27, 197 => 26, 183 => 25, 172 => 22, 166 => 21, 160 => 20, 146 => 19, 133 => 16, 131 => 15, 124 => 13, 117 => 11, 115 => 10, 102 => 32, 51 => 12, 40 => 6, 35 => 8, 32 => 4, 23 => 6, 17 => 1, 108 => 32, 101 => 28, 97 => 55, 88 => 27, 85 => 15, 81 => 23, 77 => 21, 62 => 16, 60 => 9, 56 => 15, 50 => 13, 47 => 11, 44 => 9, 38 => 6, 78 => 22, 74 => 20, 69 => 12, 58 => 13, 54 => 13, 48 => 11, 29 => 5, 92 => 26, 89 => 25, 82 => 8, 79 => 22, 73 => 20, 68 => 19, 66 => 18, 63 => 10, 45 => 10, 42 => 9, 36 => 5, 31 => 5, 20 => 8, 49 => 12, 37 => 6, 33 => 4, 30 => 6, 27 => 8, 26 => 5,); + } +} diff --git a/docs/API/cache/twig/f8/4d/6231490fc53718fc429c4e715f9c.php b/docs/API/cache/twig/f8/4d/6231490fc53718fc429c4e715f9c.php new file mode 100644 index 0000000..319d253 --- /dev/null +++ b/docs/API/cache/twig/f8/4d/6231490fc53718fc429c4e715f9c.php @@ -0,0 +1,171 @@ +blocks = array( + 'title' => array($this, 'block_title'), + 'body_class' => array($this, 'block_body_class'), + 'content_header' => array($this, 'block_content_header'), + 'content' => array($this, 'block_content'), + ); + } + + protected function doGetParent(array $context) + { + return $this->env->resolveTemplate($this->getContext($context, "page_layout")); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["__internal_f84d6231490fc53718fc429c4e715f9c_1"] = $this->env->loadTemplate("macros.twig"); + $this->getParent($context)->display($context, array_merge($this->blocks, $blocks)); + } + + // line 5 + public function block_title($context, array $blocks = array()) + { + echo twig_escape_filter($this->env, $this->getContext($context, "namespace"), "html", null, true); + echo " | "; + $this->displayParentBlock("title", $context, $blocks); + } + + // line 7 + public function block_body_class($context, array $blocks = array()) + { + echo "overview"; + } + + // line 9 + public function block_content_header($context, array $blocks = array()) + { + // line 10 + echo "
Namespace
+

"; + // line 11 + echo twig_escape_filter($this->env, $this->getContext($context, "namespace"), "html", null, true); + echo "

+"; + } + + // line 14 + public function block_content($context, array $blocks = array()) + { + // line 15 + echo " "; + if ($this->getContext($context, "classes")) { + // line 16 + echo " + "; + // line 17 + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getContext($context, "classes")); + foreach ($context['_seq'] as $context["_key"] => $context["class"]) { + // line 18 + echo " + + + + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['class'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + // line 23 + echo "
"; + // line 19 + echo $context["__internal_f84d6231490fc53718fc429c4e715f9c_1"]->getclass_link($this->getContext($context, "class")); + echo ""; + // line 20 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "class"), "shortdesc"), $this->getContext($context, "class")), "html", null, true)); + echo "
+ "; + } + // line 25 + echo " + "; + // line 26 + if ($this->getContext($context, "interfaces")) { + // line 27 + echo "

Interfaces

+ + "; + // line 29 + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getContext($context, "interfaces")); + foreach ($context['_seq'] as $context["_key"] => $context["interface"]) { + // line 30 + echo " + + + + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['interface'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + // line 35 + echo "
"; + // line 31 + echo $context["__internal_f84d6231490fc53718fc429c4e715f9c_1"]->getclass_link($this->getContext($context, "interface")); + echo ""; + // line 32 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "interface"), "shortdesc"), $this->getContext($context, "interface")), "html", null, true)); + echo "
+ "; + } + // line 37 + echo " + "; + // line 38 + if ($this->getContext($context, "exceptions")) { + // line 39 + echo "

Exceptions

+ + "; + // line 41 + $context['_parent'] = (array) $context; + $context['_seq'] = twig_ensure_traversable($this->getContext($context, "exceptions")); + foreach ($context['_seq'] as $context["_key"] => $context["exception"]) { + // line 42 + echo " + + + + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['exception'], $context['_parent'], $context['loop']); + $context = array_merge($_parent, array_intersect_key($context, $_parent)); + // line 47 + echo "
"; + // line 43 + echo $context["__internal_f84d6231490fc53718fc429c4e715f9c_1"]->getclass_link($this->getContext($context, "exception")); + echo ""; + // line 44 + echo nl2br(twig_escape_filter($this->env, $this->env->getExtension('sami')->parseDesc($context, $this->getAttribute($this->getContext($context, "exception"), "shortdesc"), $this->getContext($context, "exception")), "html", null, true)); + echo "
+ "; + } + } + + public function getTemplateName() + { + return "pages/namespace.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 150 => 47, 141 => 44, 137 => 43, 130 => 41, 121 => 37, 148 => 46, 139 => 44, 135 => 43, 129 => 40, 126 => 39, 122 => 37, 113 => 35, 109 => 34, 105 => 32, 100 => 30, 83 => 25, 80 => 24, 71 => 19, 25 => 3, 118 => 35, 104 => 31, 96 => 28, 90 => 27, 87 => 26, 84 => 23, 75 => 20, 57 => 14, 46 => 10, 125 => 64, 120 => 61, 107 => 59, 22 => 4, 91 => 26, 72 => 21, 67 => 11, 61 => 16, 55 => 14, 95 => 27, 59 => 26, 43 => 9, 142 => 39, 134 => 42, 127 => 35, 123 => 33, 116 => 32, 112 => 30, 103 => 31, 99 => 30, 93 => 27, 86 => 50, 70 => 18, 64 => 17, 53 => 14, 24 => 3, 41 => 8, 39 => 7, 19 => 4, 377 => 58, 361 => 56, 356 => 55, 353 => 54, 348 => 53, 331 => 52, 329 => 51, 327 => 50, 316 => 49, 301 => 46, 289 => 45, 263 => 40, 259 => 39, 256 => 37, 253 => 35, 251 => 34, 234 => 33, 232 => 32, 220 => 31, 209 => 28, 203 => 27, 197 => 26, 183 => 25, 172 => 22, 166 => 21, 160 => 20, 146 => 19, 133 => 16, 131 => 41, 124 => 38, 117 => 35, 115 => 10, 102 => 32, 51 => 11, 40 => 6, 35 => 8, 32 => 4, 23 => 6, 17 => 1, 108 => 32, 101 => 30, 97 => 29, 88 => 25, 85 => 15, 81 => 23, 77 => 21, 62 => 16, 60 => 9, 56 => 15, 50 => 13, 47 => 11, 44 => 9, 38 => 6, 78 => 23, 74 => 20, 69 => 20, 58 => 15, 54 => 13, 48 => 10, 29 => 5, 92 => 26, 89 => 25, 82 => 8, 79 => 22, 73 => 20, 68 => 18, 66 => 18, 63 => 10, 45 => 9, 42 => 9, 36 => 5, 31 => 5, 20 => 8, 49 => 11, 37 => 7, 33 => 4, 30 => 6, 27 => 8, 26 => 3,); + } +} diff --git a/docs/API/classes-frame.html b/docs/API/classes-frame.html new file mode 100644 index 0000000..5beb83a --- /dev/null +++ b/docs/API/classes-frame.html @@ -0,0 +1,9 @@ + + + + + + All Classes | PHP FFMpeg API + + + diff --git a/docs/API/classes.html b/docs/API/classes.html new file mode 100644 index 0000000..0b4ff5c --- /dev/null +++ b/docs/API/classes.html @@ -0,0 +1,215 @@ + + + + + + Classes | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +

Classes

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ FFMpeg\AdapterInterface + + FFMpeg Adapter interface +
+ FFMpeg\Binary + + Binary abstract class +
+ FFMpeg\Exception\BinaryNotFoundException + + +
+ FFMpeg\Exception\Exception + + +
+ FFMpeg\Exception\InvalidArgumentException + + +
+ FFMpeg\Exception\LogicException + + +
+ FFMpeg\Exception\RuntimeException + + +
+ FFMpeg\FFMpeg + + FFMpeg driver +
+ FFMpeg\FFProbe + + FFProbe driver +
+ FFMpeg\Format\Audio + + The base audio interface +
+ FFMpeg\Format\Audio\DefaultAudio + + The abstract default Audio format +
+ FFMpeg\Format\Audio\Flac + + The Flac audio format +
+ FFMpeg\Format\Audio\InteractiveAudio + + The interactive audio interface. +
+ FFMpeg\Format\Audio\Mp3 + + The MP3 audio format +
+ FFMpeg\Format\Audio\ResamplableAudio + + The resamplable audio interface +
+ FFMpeg\Format\Video + + The base video interface +
+ FFMpeg\Format\Video\DefaultVideo + + The abstract default Video format +
+ FFMpeg\Format\Video\InteractiveVideo + + The interactive video interface. +
+ FFMpeg\Format\Video\Ogg + + The Ogg video format +
+ FFMpeg\Format\Video\ResamplableVideo + + The resamplable video interface +
+ FFMpeg\Format\Video\ResizableVideo + + The resizable video interface +
+ FFMpeg\Format\Video\WebM + + The WebM video format +
+ FFMpeg\Format\Video\X264 + + The X264 video format +
+
+ + + diff --git a/docs/API/css/main.css b/docs/API/css/main.css new file mode 100644 index 0000000..17608f6 --- /dev/null +++ b/docs/API/css/main.css @@ -0,0 +1,214 @@ +/* +Copyright (c) 2009 Vladimir Kolesnikov + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +a { + color: #00F; + text-decoration: none; +} + +a:hover { + color: #77F; + text-decoration: underline; +} + +body, td, p { + font-family: "Bitstream Vera Sans", Verdana, Arial, Helvetica, sans-serif; + background: #FFF; + color: #000; + margin: 0px; + font-size: small; +} + +p { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +#content { + margin: 2em; + margin-left: 3.5em; + margin-right: 3.5em; +} + +#description p { + margin-bottom: 0.5em; +} + +.sectiontitle { + margin-top: 1em; + margin-bottom: 1em; + padding: 0.5em; + padding-left: 2em; + background: #005; + color: #FFF; + font-weight: bold; +} + +.attr-rw { + padding-left: 1em; + padding-right: 1em; + text-align: center; + color: #055; +} + +.attr-name { + font-weight: bold; +} + +.attr-desc { +} + +.attr-desc p { + margin-top: 0; +} + +.attr-value { + font-family: monospace; +} + +.file-title-prefix { + font-size: large; +} + +.file-title { + font-size: large; + font-weight: bold; + background: #005; + color: #FFF; +} + +.banner { + background: #005; + color: #FFF; + border: 1px solid black; + padding: 1em; +} + +.banner td { + background: transparent; + color: #FFF; +} + +h1 a, h2 a, .sectiontitle a, .banner a { + color: #FF0; +} + +h1 a:hover, h2 a:hover, .sectiontitle a:hover, .banner a:hover { + color: #FF7; +} + +.dyn-source { + display: none; + background: #fffde8; + color: #000; + border: #ffe0bb dotted 1px; + margin: 0.5em 2em 0.5em 2em; + padding: 0.5em; +} + +.dyn-source .cmt { + color: #00F; + font-style: italic; +} + +.dyn-source .kw { + color: #070; + font-weight: bold; +} + +.method { + margin-left: 1em; + margin-right: 1em; + margin-bottom: 1em; +} + +.description pre { + padding: 0.5em; + border: #ffe0bb dotted 1px; + background: #fffde8; +} + +.method .title { + font-family: monospace; + font-size: large; + border-bottom: 1px dashed black; + margin-bottom: 0.3em; + padding-bottom: 0.1em; +} + +.method .description, .method .sourcecode { + margin-left: 1em; +} + +.description p, .sourcecode p { + margin-bottom: 0.5em; +} + +.method .sourcecode p.source-link { + text-indent: 0em; + margin-top: 0.5em; +} + +.method .aka { + margin-top: 0.3em; + margin-left: 1em; + font-style: italic; + text-indent: 2em; +} + +h1 { + padding: 1em; + margin-left: -1.5em; + font-size: x-large; + font-weight: bold; + color: #FFF; + background: #007; +} + +h2 { + padding: 0.5em 1em 0.5em 1em; + margin-left: -1.5em; + font-size: large; + font-weight: bold; + color: #FFF; + background: #009; +} + +h3, h4, h5, h6 { + color: #220088; + border-bottom: #5522bb solid 1px; +} + +.sourcecode > pre { + padding: 0.5em; + border: 1px dotted black; + background: #FFE; +} + +dt { + font-weight: bold +} + +dd { + margin-bottom: 0.7em; +} \ No newline at end of file diff --git a/docs/API/css/panel.css b/docs/API/css/panel.css new file mode 100644 index 0000000..b7565b2 --- /dev/null +++ b/docs/API/css/panel.css @@ -0,0 +1,427 @@ +/* +Copyright (c) 2009 Vladimir Kolesnikov + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* Panel (begin) */ + .panel + { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background: #FFF; + z-index: 2; + font-family: "Helvetica Neue", "Arial", sans-serif; + //zoom: 1; + } + + .panel_tree .results, + .panel_results .tree + { + display: none; + } + + /* Header with search box (begin) */ + .panel .header + { + width: 100%; + height: 59px; + border-bottom: 1px solid #666; + position: relative; + left: 0; top: 0; + background: #e8e8e8; + } + + .panel .header div.nav + { + padding-top: 7px; + margin: 0 7px; + } + + .panel .header table + { + height: 29px; + width: 100%; + } + + .panel .header table td + { + vertical-align: middle; + text-align: middle; + } + + .panel .header form + { + float: right; + text-align: bottom; + } + + .panel .header h1 + { + float: left; + font-size: 14px; + font-weight: normal; + color: #777; + text-align: bottom; + } + + .panel .header input + { + width: 100%; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + display: inline-block; + -webkit-appearance: searchfield; + height: 22px; + //height: auto; + } + + /* Header with search box (end) */ + + + /* Results (begin) */ + .panel .result + { + position: absolute; + top: 60px; + bottom: 0; + left: 0; + width: 100%; + //height: expression((this.parentNode.offsetHeight - 31)); + overflow-y: scroll; + overflow-x: hidden; + -overflow-y: hidden; + background: #EDF3FE url(../i/results_bg.png); + z-index: 2; + //zoom:1; + } + + .panel .result ul + { + font-size: 0.8em; + width: 100%; + background: #EDF3FE url(../i/results_bg.png); + //zoom:1; + } + + .panel .result ul li + { + height: 46px; + -height: 50px; + //display: inline; + //width: 100%; + //zoom: 1; + overflow: hidden; + padding: 4px 10px 0 10px; + cursor: pointer; + } + + .panel .result ul li h1 + { + font-size: 13px; + font-weight: normal; + color: #333; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .result ul li p + { + font-size: 11px; + color: #333; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .result ul li h1 i, + .panel .result ul li p.snippet + { + color: #999; + } + + .panel .result ul li b + { + color: #000; + } + + .panel .result ul li.current + { + background: #3875D7; + } + + .panel .result ul li.current h1, + .panel .result ul li.current p + { + color: #DDD; + } + + .panel .result ul li.current h1 i, + .panel .result ul li.current p.snippet + { + color: #AAA; + } + + .panel .result ul li.current b + { + color: #FFF; + } + + + .panel .result ul li:hover, + .panel .result ul li.selected + { + background: #d0d0d0; + } + + .panel .result ul li.current:hover + { + background: #2965C0; + } + + .panel .result ul li .badge + { + margin-right: 0.4em; + margin-left: -0.2em; + padding: 0 0.2em; + color: #000; + } + + .panel .result ul li .badge_1 + { + background: #ACDBF4; + } + + .panel .result ul li.current .badge_1 + { + background: #97BFD7; + } + + .panel .result ul li .badge_2 + { + background: #ACF3C3; + } + + .panel .result ul li.current .badge_2 + { + background: #98D7AC; + } + + .panel .result ul li .badge_3 + { + background: #E0F3AC; + } + + .panel .result ul li.current .badge_3 + { + background: #C4D798; + } + + .panel .result ul li .badge_4 + { + background: #D7CA98; + } + + .panel .result ul li.current .badge_4 + { + background: #A6B0AC; + } + + .panel .result ul li .badge_5 + { + background: #F3C8AC; + } + + .panel .result ul li.current .badge_5 + { + background: #D7B198; + } + + .panel .result ul li .badge_6 + { + background: #F3ACC3; + } + + .panel .result ul li.current .badge_6 + { + background: #D798AB; + } + + /* Results (end) */ + + /* Tree (begin) */ /**/ + .panel .tree + { + position: absolute; + top: 60px; + bottom: 0; + left: 0; + width: 100%; + //zoom: 1; + //height: expression((this.parentNode.offsetHeight - 31)); + overflow-y: scroll; + overflow-x: hidden; + -overflow-y: hidden; + background: #EDF3FE url(../i/tree_bg.png); + z-index: 30; + } + + .panel .tree ul + { + background: #EDF3FE url(../i/tree_bg.png); + } + + .panel .tree li + { + cursor: pointer; + overflow: hidden; + //height: 23px; + //display: inline; + //zoom: 1; + //width: 100%; + } + + + .panel .tree li .content + { + padding-left: 18px; + padding-top: 5px; + height: 18px; + overflow: hidden; + position: relative; + } + + .panel .tree li .icon + { + width: 10px; + height: 9px; + background: url(../i/arrows.png); + background-position: 0 -9px; + position: absolute; + left: 1px; + top: 8px; + cursor: default; + } + + .panel .tree li.closed .icon + { + background-position: 0 0; + } + + .panel .tree ul li h1 + { + font-size: 13px; + font-weight: normal; + color: #000; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .tree ul li p + { + font-size: 11px; + color: #666; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .tree ul li h1 i + { + color: #999; + font-style: normal; + } + + .panel .tree ul li.empty + { + cursor: text; + } + + .panel .tree ul li.empty h1, + .panel .tree ul li.empty p + { + color: #666; + font-style: italic; + } + + .panel .tree ul li.current + { + background: #3875D7; + } + + .panel .tree ul li.current .icon + { + background-position: -10px -9px; + } + + .panel .tree ul li.current.closed .icon + { + background-position: -10px 0; + } + + .panel .tree ul li.current h1 + { + color: #FFF; + } + + .panel .tree ul li.current p + { + color: #CCC; + } + + .panel .tree ul li.current.empty h1, + .panel .tree ul li.current.empty p + { + color: #999; + } + + .panel .tree ul li:hover + { + background: #d0d0d0; + } + + .panel .tree ul li.current:hover + { + background: #2965C0; + } + + .panel .tree .stopper + { + display: none; + } + /* Tree (end) */ /**/ + +/* Panel (end) */ + + +.panel .loader +{ + text-align: center; + margin-top: 2px; + width: 100%; + height: 59px; +} + +.panel .loader img +{ + vertical-align: middle; +} diff --git a/docs/API/css/reset.css b/docs/API/css/reset.css new file mode 100644 index 0000000..13f8e0a --- /dev/null +++ b/docs/API/css/reset.css @@ -0,0 +1,53 @@ +/* http://meyerweb.com/eric/tools/css/reset/ */ +/* v1.0 | 20080212 */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +/* remember to define focus styles! */ +:focus { + outline: 0; +} + +/* remember to highlight inserts somehow! */ +ins { + text-decoration: none; +} +del { + text-decoration: line-through; +} + +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/docs/API/doc-index.html b/docs/API/doc-index.html new file mode 100644 index 0000000..326fa31 --- /dev/null +++ b/docs/API/doc-index.html @@ -0,0 +1,149 @@ + + + + + + Index | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +
Index
+ + A + B + C + D + E + F + G + H + I + J + K + L + M + N + O + P + Q + R + S + T + U + V + W + X + Y + Z +
+
+

A

+
AdapterInterfaceClass in namespace FFMpeg
+
FFMpeg Adapter interface
AudioClass in namespace FFMpeg\Format
+
The base audio interface

B

+
BinaryClass in namespace FFMpeg
+
Binary abstract class
BinaryNotFoundExceptionClass in namespace FFMpeg\Exception
+

C

+
FFMpeg::close() — Method in class FFMpeg
+
Close a file

D

+
DefaultAudioClass in namespace FFMpeg\Format\Audio
+
The abstract default Audio format
DefaultVideoClass in namespace FFMpeg\Format\Video
+
The abstract default Video format

E

+
ExceptionClass in namespace FFMpeg\Exception
+
FFMpeg::extractImage() — Method in class FFMpeg
+
FFMpeg::encode() — Method in class FFMpeg
+
Encode the file to the specified format

F

+
FFMpegClass in namespace FFMpeg
+
FFMpeg driver
FFProbeClass in namespace FFMpeg
+
FFProbe driver
FlacClass in namespace FFMpeg\Format\Audio
+
The Flac audio format

G

+
Audio::getAudioCodec() — Method in class Audio
+
Returns the audio codec
Audio::getKiloBitrate() — Method in class Audio
+
Get the kiloBitrate value
DefaultAudio::getExtraParams() — Method in class DefaultAudio
+
Returns extra parameters for the encoding
DefaultAudio::getAudioCodec() — Method in class DefaultAudio
+
{@inheritdoc}
DefaultAudio::getAudioSampleRate() — Method in class DefaultAudio
+
Get the audio sample rate
DefaultAudio::getKiloBitrate() — Method in class DefaultAudio
+
{@inheritdoc}
Flac::getAvailableAudioCodecs() — Method in class Flac
+
{@inheritDoc}
InteractiveAudio::getAvailableAudioCodecs() — Method in class InteractiveAudio
+
Returns the list of available audio codecs for this format
Mp3::getAvailableAudioCodecs() — Method in class Mp3
+
{@inheritDoc}
ResamplableAudio::getAudioSampleRate() — Method in class ResamplableAudio
+
Get the audio sample rate
Video::getVideoCodec() — Method in class Video
+
Returns the video codec
DefaultVideo::getWidth() — Method in class DefaultVideo
+
Returns the width setting.
DefaultVideo::getHeight() — Method in class DefaultVideo
+
Returns the height setting The return of this method should not depend on a media file size
DefaultVideo::getComputedDimensions() — Method in class DefaultVideo
+
{@inheritdoc)
DefaultVideo::getResizeMode() — Method in class DefaultVideo
+
Get the current resize mode name
DefaultVideo::getFrameRate() — Method in class DefaultVideo
+
Returns the frame rate
DefaultVideo::getVideoCodec() — Method in class DefaultVideo
+
{@inheritdoc}
DefaultVideo::getGOPsize() — Method in class DefaultVideo
+
{@inheritdoc}
InteractiveVideo::getAvailableVideoCodecs() — Method in class InteractiveVideo
+
Returns the list of available video codecs for this format
Ogg::getAvailableAudioCodecs() — Method in class Ogg
+
{@inheritDoc}
Ogg::getAvailableVideoCodecs() — Method in class Ogg
+
{@inheritDoc}
ResamplableVideo::getFrameRate() — Method in class ResamplableVideo
+
Returns the frame rate
ResamplableVideo::getGOPSize() — Method in class ResamplableVideo
+
Returns the GOP size
ResizableVideo::getWidth() — Method in class ResizableVideo
+
Returns the width setting.
ResizableVideo::getHeight() — Method in class ResizableVideo
+
Returns the height setting The return of this method should not depend on a media file size
ResizableVideo::getComputedDimensions() — Method in class ResizableVideo
+
Returns the computed dimensions for the resize, after operation.
ResizableVideo::getResizeMode() — Method in class ResizableVideo
+
Get the current resize mode name
WebM::getExtraParams() — Method in class WebM
+
{@inheritDoc}
WebM::getAvailableAudioCodecs() — Method in class WebM
+
{@inheritDoc}
WebM::getAvailableVideoCodecs() — Method in class WebM
+
{@inheritDoc}
X264::getAvailableAudioCodecs() — Method in class X264
+
{@inheritDoc}
X264::getAvailableVideoCodecs() — Method in class X264
+
{@inheritDoc}

I

+
InvalidArgumentExceptionClass in namespace FFMpeg\Exception
+
InteractiveAudioClass in namespace FFMpeg\Format\Audio
+
The interactive audio interface.
InteractiveVideoClass in namespace FFMpeg\Format\Video
+
The interactive video interface.

L

+
AdapterInterface::load() — Method in class AdapterInterface
+
Loads the adapter
Binary::load() — Method in class Binary
+
Loads the adapter
LogicExceptionClass in namespace FFMpeg\Exception
+

M

+
Mp3Class in namespace FFMpeg\Format\Audio
+
The MP3 audio format

O

+
FFMpeg::open() — Method in class FFMpeg
+
Opens a file in order to be processed
OggClass in namespace FFMpeg\Format\Video
+
The Ogg video format

P

+
FFProbe::probeFormat() — Method in class FFProbe
+
Probe the format of a given file
FFProbe::probeStreams() — Method in class FFProbe
+
Probe the streams contained in a given file

R

+
RuntimeExceptionClass in namespace FFMpeg\Exception
+
ResamplableAudioClass in namespace FFMpeg\Format\Audio
+
The resamplable audio interface
ResamplableVideoClass in namespace FFMpeg\Format\Video
+
The resamplable video interface
ResizableVideoClass in namespace FFMpeg\Format\Video
+
The resizable video interface

S

+
FFMpeg::setProber() — Method in class FFMpeg
+
Set a prober
DefaultAudio::setAudioCodec() — Method in class DefaultAudio
+
Set the audio codec, Should be in the available ones, otherwise an exception is thrown
DefaultAudio::setAudioSampleRate() — Method in class DefaultAudio
+
Set the audio sample rate
DefaultAudio::setKiloBitrate() — Method in class DefaultAudio
+
Set the kiloBitrate value
DefaultVideo::setDimensions() — Method in class DefaultVideo
+
Set the dimensions
DefaultVideo::setResizeMode() — Method in class DefaultVideo
+
Set the resize mode
DefaultVideo::setFrameRate() — Method in class DefaultVideo
+
Set the framerate
DefaultVideo::setVideoCodec() — Method in class DefaultVideo
+
Set the video codec, Should be in the available ones, otherwise an exception is thrown
DefaultVideo::setGOPsize() — Method in class DefaultVideo
+
Set the GOP size

V

+
VideoClass in namespace FFMpeg\Format
+
The base video interface

W

+
WebMClass in namespace FFMpeg\Format\Video
+
The WebM video format

X

+
X264Class in namespace FFMpeg\Format\Video
+
The X264 video format

_

+
Binary::__construct() — Method in class Binary
+
Binary constructor
Binary::__destruct() — Method in class Binary
+
Destructor
FFMpeg::__destruct() — Method in class FFMpeg
+
Destructor
+ + + diff --git a/docs/API/i/arrows.png b/docs/API/i/arrows.png new file mode 100644 index 0000000..e54060f Binary files /dev/null and b/docs/API/i/arrows.png differ diff --git a/docs/API/i/loader.gif b/docs/API/i/loader.gif new file mode 100644 index 0000000..e2a116c Binary files /dev/null and b/docs/API/i/loader.gif differ diff --git a/docs/API/i/results_bg.png b/docs/API/i/results_bg.png new file mode 100644 index 0000000..199ba69 Binary files /dev/null and b/docs/API/i/results_bg.png differ diff --git a/docs/API/i/tree_bg.png b/docs/API/i/tree_bg.png new file mode 100644 index 0000000..7d23663 Binary files /dev/null and b/docs/API/i/tree_bg.png differ diff --git a/docs/API/index.html b/docs/API/index.html new file mode 100644 index 0000000..d607048 --- /dev/null +++ b/docs/API/index.html @@ -0,0 +1,18 @@ + + + + + + PHP FFMpeg API + + + + + + + <body> + Your browser does not support frames. Go to the <a href="namespaces.html">non-frame version</a>. + </body> + + + diff --git a/docs/API/interfaces.html b/docs/API/interfaces.html new file mode 100644 index 0000000..35731ae --- /dev/null +++ b/docs/API/interfaces.html @@ -0,0 +1,85 @@ + + + + + + Interfaces | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +

Interfaces

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FFMpeg\AdapterInterface + FFMpeg Adapter interface +
FFMpeg\Exception\Exception + +
FFMpeg\Format\Audio + The base audio interface +
FFMpeg\Format\Audio\InteractiveAudio + The interactive audio interface. +
FFMpeg\Format\Audio\ResamplableAudio + The resamplable audio interface +
FFMpeg\Format\Video + The base video interface +
FFMpeg\Format\Video\InteractiveVideo + The interactive video interface. +
FFMpeg\Format\Video\ResamplableVideo + The resamplable video interface +
FFMpeg\Format\Video\ResizableVideo + The resizable video interface +
+
+ + + diff --git a/docs/API/js/jquery-1.3.2.min.js b/docs/API/js/jquery-1.3.2.min.js new file mode 100644 index 0000000..b1ae21d --- /dev/null +++ b/docs/API/js/jquery-1.3.2.min.js @@ -0,0 +1,19 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file diff --git a/docs/API/js/searchdoc.js b/docs/API/js/searchdoc.js new file mode 100644 index 0000000..08537ec --- /dev/null +++ b/docs/API/js/searchdoc.js @@ -0,0 +1,651 @@ +/* +Copyright (c) 2009 Vladimir Kolesnikov + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +Searchdoc = {}; + +// navigation.js ------------------------------------------ + +Searchdoc.Navigation = new function() { + this.initNavigation = function() { + var _this = this; + + $(document).keydown(function(e) { + _this.onkeydown(e); + }).keyup(function(e) { + _this.onkeyup(e); + }); + + this.navigationActive = true; + } + + this.setNavigationActive = function(state) { + this.navigationActive = state; + this.clearMoveTimeout(); + } + + + this.onkeyup = function(e) { + if (!this.navigationActive) return; + switch(e.keyCode) { + case 37: //Event.KEY_LEFT: + case 38: //Event.KEY_UP: + case 39: //Event.KEY_RIGHT: + case 40: //Event.KEY_DOWN: + case 73: // i - qwerty + case 74: // j + case 75: // k + case 76: // l + case 67: // c - dvorak + case 72: // h + case 84: // t + case 78: // n + this.clearMoveTimeout(); + break; + } + } + + this.onkeydown = function(e) { + if (!this.navigationActive) return; + switch(e.keyCode) { + case 37: //Event.KEY_LEFT: + case 74: // j (qwerty) + case 72: // h (dvorak) + if (this.moveLeft()) e.preventDefault(); + break; + case 38: //Event.KEY_UP: + case 73: // i (qwerty) + case 67: // c (dvorak) + if (e.keyCode == 38 || e.ctrlKey) { + if (this.moveUp()) e.preventDefault(); + this.startMoveTimeout(false); + } + break; + case 39: //Event.KEY_RIGHT: + case 76: // l (qwerty) + case 78: // n (dvorak) + if (this.moveRight()) e.preventDefault(); + break; + case 40: //Event.KEY_DOWN: + case 75: // k (qwerty) + case 84: // t (dvorak) + if (e.keyCode == 40 || e.ctrlKey) { + if (this.moveDown()) e.preventDefault(); + this.startMoveTimeout(true); + } + break; + case 9: //Event.KEY_TAB: + case 13: //Event.KEY_RETURN: + if (this.$current) this.select(this.$current); + break; + } + if (e.ctrlKey && e.shiftKey) this.select(this.$current); + } + + this.clearMoveTimeout = function() { + clearTimeout(this.moveTimeout); + this.moveTimeout = null; + } + + this.startMoveTimeout = function(isDown) { + if (!$.browser.mozilla && !$.browser.opera) return; + if (this.moveTimeout) this.clearMoveTimeout(); + var _this = this; + + var go = function() { + if (!_this.moveTimeout) return; + _this[isDown ? 'moveDown' : 'moveUp'](); + _this.moveTimout = setTimeout(go, 100); + } + this.moveTimeout = setTimeout(go, 200); + } + + this.moveRight = function() { + } + + this.moveLeft = function() { + } + + this.move = function(isDown) { + } + + this.moveUp = function() { + return this.move(false); + } + + this.moveDown = function() { + return this.move(true); + } +} + + +// scrollIntoView.js -------------------------------------- + +function scrollIntoView(element, view) { + var offset, viewHeight, viewScroll, height; + offset = element.offsetTop; + height = element.offsetHeight; + viewHeight = view.offsetHeight; + viewScroll = view.scrollTop; + if (offset - viewScroll + height > viewHeight) { + view.scrollTop = offset - viewHeight + height; + } + if (offset < viewScroll) { + view.scrollTop = offset; + } +} + + +// searcher.js -------------------------------------------- + +Searchdoc.Searcher = function(data) { + this.data = data; + this.handlers = []; +} + +Searchdoc.Searcher.prototype = new function() { + var CHUNK_SIZE = 1000, // search is performed in chunks of 1000 for non-bloking user input + MAX_RESULTS = 100, // do not try to find more than 100 results + huid = 1, suid = 1, + runs = 0; + + + this.find = function(query) { + var queries = splitQuery(query), + regexps = buildRegexps(queries), + highlighters = buildHilighters(queries), + state = { from: 0, pass: 0, limit: MAX_RESULTS, n: suid++}, + _this = this; + this.currentSuid = state.n; + + if (!query) return; + + var run = function() { + // stop current search thread if new search started + if (state.n != _this.currentSuid) return; + + var results = performSearch(_this.data, regexps, queries, highlighters, state), + hasMore = (state.limit > 0 && state.pass < 3); + + triggerResults.call(_this, results, !hasMore); + if (hasMore) { + setTimeout(run, 2); + } + runs++; + }; + runs = 0; + + // start search thread + run(); + } + + /* ----- Events ------ */ + this.ready = function(fn) { + fn.huid = huid; + this.handlers.push(fn); + } + + /* ----- Utilities ------ */ + function splitQuery(query) { + return jQuery.grep(query.split(/(\s+|\(\)?)/), function(string) { return string.match(/\S/) }); + } + + function buildRegexps(queries) { + return jQuery.map(queries, function(query) { return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i') }); + } + + function buildHilighters(queries) { + return jQuery.map(queries, function(query) { + return jQuery.map( query.split(''), function(l, i){ return '\u0001$' + (i*2+1) + '\u0002$' + (i*2+2) } ).join('') + }); + } + + // function longMatchRegexp(index, longIndex, regexps) { + // for (var i = regexps.length - 1; i >= 0; i--){ + // if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + // }; + // return true; + // } + + + /* ----- Mathchers ------ */ + function matchPass1(index, longIndex, queries, regexps) { + if (index.indexOf(queries[0]) != 0) return false; + for (var i=1, l = regexps.length; i < l; i++) { + if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + }; + return true; + } + + function matchPass2(index, longIndex, queries, regexps) { + if (index.indexOf(queries[0]) == -1) return false; + for (var i=1, l = regexps.length; i < l; i++) { + if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + }; + return true; + } + + function matchPassRegexp(index, longIndex, queries, regexps) { + if (!index.match(regexps[0])) return false; + for (var i=1, l = regexps.length; i < l; i++) { + if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + }; + return true; + } + + + /* ----- Highlighters ------ */ + function highlightRegexp(info, queries, regexps, highlighters) { + var result = createResult(info); + for (var i=0, l = regexps.length; i < l; i++) { + result.title = result.title.replace(regexps[i], highlighters[i]); + if (i > 0) + result.namespace = result.namespace.replace(regexps[i], highlighters[i]); + }; + return result; + } + + function hltSubstring(string, pos, length) { + return string.substring(0, pos) + '\u0001' + string.substring(pos, pos + length) + '\u0002' + string.substring(pos + length); + } + + function highlightQuery(info, queries, regexps, highlighters) { + var result = createResult(info), pos = 0, lcTitle = result.title.toLowerCase(); + pos = lcTitle.indexOf(queries[0]); + if (pos != -1) { + result.title = hltSubstring(result.title, pos, queries[0].length); + } + for (var i=1, l = regexps.length; i < l; i++) { + result.title = result.title.replace(regexps[i], highlighters[i]); + result.namespace = result.namespace.replace(regexps[i], highlighters[i]); + }; + return result; + } + + function createResult(info) { + var result = {}; + result.title = info[0]; + result.namespace = info[1]; + result.path = info[2]; + result.params = info[3]; + result.snippet = info[4]; + result.badge = info[6]; + return result; + } + + /* ----- Searching ------ */ + function performSearch(data, regexps, queries, highlighters, state) { + var searchIndex = data.searchIndex, // search by title first and then by source + longSearchIndex = data.longSearchIndex, + info = data.info, + result = [], + i = state.from, + l = searchIndex.length, + togo = CHUNK_SIZE, + matchFunc, hltFunc; + + while (state.pass < 3 && state.limit > 0 && togo > 0) { + if (state.pass == 0) { + matchFunc = matchPass1; + hltFunc = highlightQuery; + } else if (state.pass == 1) { + matchFunc = matchPass2; + hltFunc = highlightQuery; + } else if (state.pass == 2) { + matchFunc = matchPassRegexp; + hltFunc = highlightRegexp; + } + + for (; togo > 0 && i < l && state.limit > 0; i++, togo--) { + if (info[i].n == state.n) continue; + if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) { + info[i].n = state.n; + result.push(hltFunc(info[i], queries, regexps, highlighters)); + state.limit--; + } + }; + if (searchIndex.length <= i) { + state.pass++; + i = state.from = 0; + } else { + state.from = i; + } + } + return result; + } + + function triggerResults(results, isLast) { + jQuery.each(this.handlers, function(i, fn) { fn.call(this, results, isLast) }) + } +} + + + + +// panel.js ----------------------------------------------- + +Searchdoc.Panel = function(element, data, tree, frame) { + this.$element = $(element); + this.$input = $('input', element).eq(0); + this.$result = $('.result ul', element).eq(0); + this.frame = frame; + this.$current = null; + this.$view = this.$result.parent(); + this.data = data; + this.searcher = new Searchdoc.Searcher(data.index); + this.tree = new Searchdoc.Tree($('.tree', element), tree, this); + this.init(); +} + +Searchdoc.Panel.prototype = $.extend({}, Searchdoc.Navigation, new function() { + var suid = 1; + + this.init = function() { + var _this = this; + var observer = function() { + _this.search(_this.$input[0].value); + }; + this.$input.keyup(observer); + this.$input.click(observer); // mac's clear field + + this.searcher.ready(function(results, isLast) { + _this.addResults(results, isLast); + }) + + this.$result.click(function(e) { + _this.$current.removeClass('current'); + _this.$current = $(e.target).closest('li').addClass('current'); + _this.select(); + _this.$input.focus(); + }); + + this.initNavigation(); + this.setNavigationActive(false); + } + + this.search = function(value, selectFirstMatch) { + value = jQuery.trim(value).toLowerCase(); + this.selectFirstMatch = selectFirstMatch; + if (value) { + this.$element.removeClass('panel_tree').addClass('panel_results'); + this.tree.setNavigationActive(false); + this.setNavigationActive(true); + } else { + this.$element.addClass('panel_tree').removeClass('panel_results'); + this.tree.setNavigationActive(true); + this.setNavigationActive(false); + } + if (value != this.lastQuery) { + this.lastQuery = value; + this.firstRun = true; + this.searcher.find(value); + } + } + + this.addResults = function(results, isLast) { + var target = this.$result.get(0); + if (this.firstRun && (results.length > 0 || isLast)) { + this.$current = null; + this.$result.empty(); + } + for (var i=0, l = results.length; i < l; i++) { + target.appendChild(renderItem.call(this, results[i])); + }; + if (this.firstRun && results.length > 0) { + this.firstRun = false; + this.$current = $(target.firstChild); + this.$current.addClass('current'); + if (this.selectFirstMatch) this.select(); + scrollIntoView(this.$current[0], this.$view[0]) + } + if (jQuery.browser.msie) this.$element[0].className += ''; + } + + this.open = function(src) { + this.frame.location.href = src; + if (this.frame.highlight) this.frame.highlight(src); + } + + this.select = function() { + this.open(this.$current.data('path')); + } + + this.move = function(isDown) { + if (!this.$current) return; + var $next = this.$current[isDown ? 'next' : 'prev'](); + if ($next.length) { + this.$current.removeClass('current'); + $next.addClass('current'); + scrollIntoView($next[0], this.$view[0]); + this.$current = $next; + } + return true; + } + + function renderItem(result) { + var li = document.createElement('li'), + html = '', badge = result.badge; + html += '

' + hlt(result.title); + if (result.params) html += '' + result.params + ''; + html += '

'; + html += '

'; + if (typeof badge != 'undefined') { + html += '' + escapeHTML(this.data.badges[badge] || 'unknown') + ''; + } + html += hlt(result.namespace) + '

'; + if (result.snippet) html += '

' + escapeHTML(result.snippet) + '

'; + li.innerHTML = html; + jQuery.data(li, 'path', result.path); + return li; + } + + function hlt(html) { + return escapeHTML(html).replace(/\u0001/g, '').replace(/\u0002/g, '') + } + + function escapeHTML(html) { + return html.replace(/[&<>]/g, function(c) { + return '&#' + c.charCodeAt(0) + ';'; + }); + } + +}); + +// tree.js ------------------------------------------------ + +Searchdoc.Tree = function(element, tree, panel) { + this.$element = $(element); + this.$list = $('ul', element); + this.tree = tree; + this.panel = panel; + this.init(); +} + +Searchdoc.Tree.prototype = $.extend({}, Searchdoc.Navigation, new function() { + this.init = function() { + var stopper = document.createElement('li'); + stopper.className = 'stopper'; + this.$list[0].appendChild(stopper); + for (var i=0, l = this.tree.length; i < l; i++) { + buildAndAppendItem.call(this, this.tree[i], 0, stopper); + }; + var _this = this; + this.$list.click(function(e) { + var $target = $(e.target), + $li = $target.closest('li'); + if ($target.hasClass('icon')) { + _this.toggle($li); + } else { + _this.select($li); + } + }) + + this.initNavigation(); + if (jQuery.browser.msie) document.body.className += ''; + } + + this.select = function($li) { + this.highlight($li); + var path = $li[0].searchdoc_tree_data.path; + if (path) this.panel.open(path); + } + + this.highlight = function($li) { + if (this.$current) this.$current.removeClass('current'); + this.$current = $li.addClass('current'); + } + + this.toggle = function($li) { + var closed = !$li.hasClass('closed'), + children = $li[0].searchdoc_tree_data.children; + $li.toggleClass('closed'); + for (var i=0, l = children.length; i < l; i++) { + toggleVis.call(this, $(children[i].li), !closed); + }; + } + + this.moveRight = function() { + if (!this.$current) { + this.highlight(this.$list.find('li:first')); + return; + } + if (this.$current.hasClass('closed')) { + this.toggle(this.$current); + } + } + + this.moveLeft = function() { + if (!this.$current) { + this.highlight(this.$list.find('li:first')); + return; + } + if (!this.$current.hasClass('closed')) { + this.toggle(this.$current); + } else { + var level = this.$current[0].searchdoc_tree_data.level; + if (level == 0) return; + var $next = this.$current.prevAll('li.level_' + (level - 1) + ':visible:first'); + this.$current.removeClass('current'); + $next.addClass('current'); + scrollIntoView($next[0], this.$element[0]); + this.$current = $next; + } + } + + this.move = function(isDown) { + if (!this.$current) { + this.highlight(this.$list.find('li:first')); + return true; + } + var next = this.$current[0]; + if (isDown) { + do { + next = next.nextSibling; + if (next && next.style && next.style.display != 'none') break; + } while(next); + } else { + do { + next = next.previousSibling; + if (next && next.style && next.style.display != 'none') break; + } while(next); + } + if (next && next.className.indexOf('stopper') == -1) { + this.$current.removeClass('current'); + $(next).addClass('current'); + scrollIntoView(next, this.$element[0]); + this.$current = $(next); + } + return true; + } + + function toggleVis($li, show) { + var closed = $li.hasClass('closed'), + children = $li[0].searchdoc_tree_data.children; + $li.css('display', show ? '' : 'none') + if (!show && this.$current && $li[0] == this.$current[0]) { + this.$current.removeClass('current'); + this.$current = null; + } + for (var i=0, l = children.length; i < l; i++) { + toggleVis.call(this, $(children[i].li), show && !closed); + }; + } + + function buildAndAppendItem(item, level, before) { + var li = renderItem(item, level), + list = this.$list[0]; + item.li = li; + list.insertBefore(li, before); + for (var i=0, l = item[3].length; i < l; i++) { + buildAndAppendItem.call(this, item[3][i], level + 1, before); + }; + return li; + } + + function renderItem(item, level) { + var li = document.createElement('li'), + cnt = document.createElement('div'), + h1 = document.createElement('h1'), + p = document.createElement('p'), + icon, i; + + li.appendChild(cnt); + li.style.paddingLeft = getOffset(level); + cnt.className = 'content'; + if (!item[1]) li.className = 'empty '; + cnt.appendChild(h1); + // cnt.appendChild(p); + h1.appendChild(document.createTextNode(item[0])); + // p.appendChild(document.createTextNode(item[4])); + if (item[2]) { + i = document.createElement('i'); + i.appendChild(document.createTextNode(item[2])); + h1.appendChild(i); + } + if (item[3].length > 0) { + icon = document.createElement('div'); + icon.className = 'icon'; + cnt.appendChild(icon); + } + + // user direct assignement instead of $() + // it's 8x faster + // $(li).data('path', item[1]) + // .data('children', item[3]) + // .data('level', level) + // .css('display', level == 0 ? '' : 'none') + // .addClass('level_' + level) + // .addClass('closed'); + li.searchdoc_tree_data = { + path: item[1], + children: item[3], + level: level + } + li.style.display = level == 0 ? '' : 'none'; + li.className += 'level_' + level + ' closed'; + return li; + } + + function getOffset(level) { + return 5 + 18*level + 'px'; + } +}); diff --git a/docs/API/namespaces-frame.html b/docs/API/namespaces-frame.html new file mode 100644 index 0000000..673a3fe --- /dev/null +++ b/docs/API/namespaces-frame.html @@ -0,0 +1,9 @@ + + + + + + Namespaces | PHP FFMpeg API + + + diff --git a/docs/API/namespaces.html b/docs/API/namespaces.html new file mode 100644 index 0000000..c92928f --- /dev/null +++ b/docs/API/namespaces.html @@ -0,0 +1,46 @@ + + + + + + Namespaces | PHP FFMpeg API + + + +
+ + +
PHP FFMpeg API
+ +

Namespaces

+
+ + + + diff --git a/docs/API/opensearch.xml b/docs/API/opensearch.xml new file mode 100644 index 0000000..e69de29 diff --git a/docs/API/panel.html b/docs/API/panel.html new file mode 100644 index 0000000..88169b2 --- /dev/null +++ b/docs/API/panel.html @@ -0,0 +1,71 @@ + + + + PHP FFMpeg API + + + + + + + + +
+
+ loading... +
+
+ +
+
+
    +
+
+
+
    +
+
+
+ + diff --git a/docs/API/renderer.index b/docs/API/renderer.index new file mode 100644 index 0000000..5f3bece --- /dev/null +++ b/docs/API/renderer.index @@ -0,0 +1 @@ +C:19:"Sami\Renderer\Index":2106:{a:3:{i:0;a:23:{s:23:"FFMpeg\AdapterInterface";s:40:"692055cd227655999c71a444af1aca35a74b4bef";s:13:"FFMpeg\Binary";s:40:"f8d36cb52f6907aca66bfb0d6c5a28f1c7c808ff";s:40:"FFMpeg\Exception\BinaryNotFoundException";s:40:"87f8f8a978534ffac0938c80140f53937be42b20";s:26:"FFMpeg\Exception\Exception";s:40:"f34b568cf514a3e72dd2f6b85ccb72985173fd04";s:41:"FFMpeg\Exception\InvalidArgumentException";s:40:"7c8fce1704e07a412e53455727b4fb3b76add274";s:31:"FFMpeg\Exception\LogicException";s:40:"312d742fa4413eb0bbc96cc9a5878c3a882a7d9e";s:33:"FFMpeg\Exception\RuntimeException";s:40:"4eb84ded48af1748aac5d58f5386c489fccd7b41";s:13:"FFMpeg\FFMpeg";s:40:"4846abaff29bf11cd2dad3c05f6fa00863b7af7f";s:14:"FFMpeg\FFProbe";s:40:"73278f31e45ca686323a034165c046e31af17843";s:19:"FFMpeg\Format\Audio";s:40:"86dcdc64fb890f5fbc1c83b0bc98e94e7ce59466";s:32:"FFMpeg\Format\Audio\DefaultAudio";s:40:"86cf923d9ced65b5f6370b2abdca76fe936cbe95";s:24:"FFMpeg\Format\Audio\Flac";s:40:"dd42337e79f87bf1e65107553d718ddd9620fdaf";s:36:"FFMpeg\Format\Audio\InteractiveAudio";s:40:"32a8c1578d28d9305b258e2c4c921413efc93eb7";s:23:"FFMpeg\Format\Audio\Mp3";s:40:"0636d17bef3adb55c8ed0ab0ef2c855bf62321db";s:36:"FFMpeg\Format\Audio\ResamplableAudio";s:40:"7bab3ab49df05b7243fd723672367e4f77bc61a6";s:19:"FFMpeg\Format\Video";s:40:"cdbe7d0eece03a5c33dafec4bc1bdb785f9e1672";s:32:"FFMpeg\Format\Video\DefaultVideo";s:40:"e485246952edf4be66bb83e541bc4e82d1be0eb9";s:36:"FFMpeg\Format\Video\InteractiveVideo";s:40:"882a8fae7768c7683906dee5f14e1d69d33fda5f";s:23:"FFMpeg\Format\Video\Ogg";s:40:"ce478b19a35f29852ddb4fc2bc32e1f6c63e4764";s:36:"FFMpeg\Format\Video\ResamplableVideo";s:40:"4801136f810e36af06af6d79dd3c0b91551e5ab8";s:34:"FFMpeg\Format\Video\ResizableVideo";s:40:"e3dd0d961a351076976fef41ea116756b8d1fe13";s:24:"FFMpeg\Format\Video\WebM";s:40:"b1c9fe2408d2a10b3c4fa86fa7201cc7fa1cbd6c";s:24:"FFMpeg\Format\Video\X264";s:40:"00f10c808abe7abf914b4c40bdfaa493db24cc05";}i:1;a:1:{i:0;s:6:"master";}i:2;a:5:{i:0;s:6:"FFMpeg";i:1;s:16:"FFMpeg\Exception";i:2;s:13:"FFMpeg\Format";i:3;s:19:"FFMpeg\Format\Audio";i:4;s:19:"FFMpeg\Format\Video";}}} \ No newline at end of file diff --git a/docs/API/search_index.js b/docs/API/search_index.js new file mode 100644 index 0000000..f7ac35d --- /dev/null +++ b/docs/API/search_index.js @@ -0,0 +1,7 @@ +var search_data = { + 'index': { + 'searchIndex': ["ffmpeg","ffmpeg\\exception","ffmpeg\\format","ffmpeg\\format\\audio","ffmpeg\\format\\video","ffmpeg\\adapterinterface","ffmpeg\\binary","ffmpeg\\exception\\binarynotfoundexception","ffmpeg\\exception\\exception","ffmpeg\\exception\\invalidargumentexception","ffmpeg\\exception\\logicexception","ffmpeg\\exception\\runtimeexception","ffmpeg\\ffmpeg","ffmpeg\\ffprobe","ffmpeg\\format\\audio","ffmpeg\\format\\audio\\defaultaudio","ffmpeg\\format\\audio\\flac","ffmpeg\\format\\audio\\interactiveaudio","ffmpeg\\format\\audio\\mp3","ffmpeg\\format\\audio\\resamplableaudio","ffmpeg\\format\\video","ffmpeg\\format\\video\\defaultvideo","ffmpeg\\format\\video\\interactivevideo","ffmpeg\\format\\video\\ogg","ffmpeg\\format\\video\\resamplablevideo","ffmpeg\\format\\video\\resizablevideo","ffmpeg\\format\\video\\webm","ffmpeg\\format\\video\\x264","ffmpeg\\adapterinterface::load","ffmpeg\\binary::__construct","ffmpeg\\binary::__destruct","ffmpeg\\binary::load","ffmpeg\\ffmpeg::__destruct","ffmpeg\\ffmpeg::open","ffmpeg\\ffmpeg::setprober","ffmpeg\\ffmpeg::close","ffmpeg\\ffmpeg::extractimage","ffmpeg\\ffmpeg::encode","ffmpeg\\ffprobe::probeformat","ffmpeg\\ffprobe::probestreams","ffmpeg\\format\\audio::getaudiocodec","ffmpeg\\format\\audio::getkilobitrate","ffmpeg\\format\\audio\\defaultaudio::getextraparams","ffmpeg\\format\\audio\\defaultaudio::getaudiocodec","ffmpeg\\format\\audio\\defaultaudio::setaudiocodec","ffmpeg\\format\\audio\\defaultaudio::getaudiosamplerate","ffmpeg\\format\\audio\\defaultaudio::setaudiosamplerate","ffmpeg\\format\\audio\\defaultaudio::getkilobitrate","ffmpeg\\format\\audio\\defaultaudio::setkilobitrate","ffmpeg\\format\\audio\\flac::getavailableaudiocodecs","ffmpeg\\format\\audio\\interactiveaudio::getavailableaudiocodecs","ffmpeg\\format\\audio\\mp3::getavailableaudiocodecs","ffmpeg\\format\\audio\\resamplableaudio::getaudiosamplerate","ffmpeg\\format\\video::getvideocodec","ffmpeg\\format\\video\\defaultvideo::getwidth","ffmpeg\\format\\video\\defaultvideo::getheight","ffmpeg\\format\\video\\defaultvideo::setdimensions","ffmpeg\\format\\video\\defaultvideo::getcomputeddimensions","ffmpeg\\format\\video\\defaultvideo::setresizemode","ffmpeg\\format\\video\\defaultvideo::getresizemode","ffmpeg\\format\\video\\defaultvideo::getframerate","ffmpeg\\format\\video\\defaultvideo::setframerate","ffmpeg\\format\\video\\defaultvideo::getvideocodec","ffmpeg\\format\\video\\defaultvideo::setvideocodec","ffmpeg\\format\\video\\defaultvideo::getgopsize","ffmpeg\\format\\video\\defaultvideo::setgopsize","ffmpeg\\format\\video\\interactivevideo::getavailablevideocodecs","ffmpeg\\format\\video\\ogg::getavailableaudiocodecs","ffmpeg\\format\\video\\ogg::getavailablevideocodecs","ffmpeg\\format\\video\\resamplablevideo::getframerate","ffmpeg\\format\\video\\resamplablevideo::getgopsize","ffmpeg\\format\\video\\resizablevideo::getwidth","ffmpeg\\format\\video\\resizablevideo::getheight","ffmpeg\\format\\video\\resizablevideo::getcomputeddimensions","ffmpeg\\format\\video\\resizablevideo::getresizemode","ffmpeg\\format\\video\\webm::getextraparams","ffmpeg\\format\\video\\webm::getavailableaudiocodecs","ffmpeg\\format\\video\\webm::getavailablevideocodecs","ffmpeg\\format\\video\\x264::getavailableaudiocodecs","ffmpeg\\format\\video\\x264::getavailablevideocodecs"], + 'info': [["FFMpeg","","FFMpeg.html","","",3],["FFMpeg\\Exception","","FFMpeg\/Exception.html","","",3],["FFMpeg\\Format","","FFMpeg\/Format.html","","",3],["FFMpeg\\Format\\Audio","","FFMpeg\/Format\/Audio.html","","",3],["FFMpeg\\Format\\Video","","FFMpeg\/Format\/Video.html","","",3],["AdapterInterface","FFMpeg","FFMpeg\/AdapterInterface.html","","FFMpeg Adapter interface",1],["Binary","FFMpeg","FFMpeg\/Binary.html","","Binary abstract class",1],["BinaryNotFoundException","FFMpeg\\Exception","FFMpeg\/Exception\/BinaryNotFoundException.html"," < Exception","",1],["Exception","FFMpeg\\Exception","FFMpeg\/Exception\/Exception.html","","",1],["InvalidArgumentException","FFMpeg\\Exception","FFMpeg\/Exception\/InvalidArgumentException.html"," < InvalidArgumentException","",1],["LogicException","FFMpeg\\Exception","FFMpeg\/Exception\/LogicException.html"," < LogicException","",1],["RuntimeException","FFMpeg\\Exception","FFMpeg\/Exception\/RuntimeException.html"," < RuntimeException","",1],["FFMpeg","FFMpeg","FFMpeg\/FFMpeg.html"," < Binary","FFMpeg driver",1],["FFProbe","FFMpeg","FFMpeg\/FFProbe.html"," < Binary","FFProbe driver",1],["Audio","FFMpeg\\Format","FFMpeg\/Format\/Audio.html","","The base audio interface",1],["DefaultAudio","FFMpeg\\Format\\Audio","FFMpeg\/Format\/Audio\/DefaultAudio.html","","The abstract default Audio format",1],["Flac","FFMpeg\\Format\\Audio","FFMpeg\/Format\/Audio\/Flac.html"," < DefaultAudio","The Flac audio format",1],["InteractiveAudio","FFMpeg\\Format\\Audio","FFMpeg\/Format\/Audio\/InteractiveAudio.html","","The interactive audio interface.",1],["Mp3","FFMpeg\\Format\\Audio","FFMpeg\/Format\/Audio\/Mp3.html"," < DefaultAudio","The MP3 audio format",1],["ResamplableAudio","FFMpeg\\Format\\Audio","FFMpeg\/Format\/Audio\/ResamplableAudio.html","","The resamplable audio interface",1],["Video","FFMpeg\\Format","FFMpeg\/Format\/Video.html","","The base video interface",1],["DefaultVideo","FFMpeg\\Format\\Video","FFMpeg\/Format\/Video\/DefaultVideo.html"," < DefaultAudio","The abstract default Video format",1],["InteractiveVideo","FFMpeg\\Format\\Video","FFMpeg\/Format\/Video\/InteractiveVideo.html","","The interactive video interface.",1],["Ogg","FFMpeg\\Format\\Video","FFMpeg\/Format\/Video\/Ogg.html"," < DefaultVideo","The Ogg video format",1],["ResamplableVideo","FFMpeg\\Format\\Video","FFMpeg\/Format\/Video\/ResamplableVideo.html","","The resamplable video interface",1],["ResizableVideo","FFMpeg\\Format\\Video","FFMpeg\/Format\/Video\/ResizableVideo.html","","The resizable video interface",1],["WebM","FFMpeg\\Format\\Video","FFMpeg\/Format\/Video\/WebM.html"," < DefaultVideo","The WebM video format",1],["X264","FFMpeg\\Format\\Video","FFMpeg\/Format\/Video\/X264.html"," < DefaultVideo","The X264 video format",1],["AdapterInterface::load","FFMpeg\\AdapterInterface","FFMpeg\/AdapterInterface.html#method_load","(Logger<\/abbr> $logger)","Loads the adapter",2],["Binary::__construct","FFMpeg\\Binary","FFMpeg\/Binary.html#method___construct","(type<\/abbr> $binary, Logger<\/abbr> $logger)","Binary constructor",2],["Binary::__destruct","FFMpeg\\Binary","FFMpeg\/Binary.html#method___destruct","()","Destructor",2],["Binary::load","FFMpeg\\Binary","FFMpeg\/Binary.html#method_load","(Logger<\/abbr> $logger)","Loads the adapter",2],["FFMpeg::__destruct","FFMpeg\\FFMpeg","FFMpeg\/FFMpeg.html#method___destruct","()","Destructor",2],["FFMpeg::open","FFMpeg\\FFMpeg","FFMpeg\/FFMpeg.html#method_open","(string $pathfile)","Opens a file in order to be processed",2],["FFMpeg::setProber","FFMpeg\\FFMpeg","FFMpeg\/FFMpeg.html#method_setProber","(FFProbe<\/abbr><\/a> $prober)","Set a prober",2],["FFMpeg::close","FFMpeg\\FFMpeg","FFMpeg\/FFMpeg.html#method_close","()","Close a file",2],["FFMpeg::extractImage","FFMpeg\\FFMpeg","FFMpeg\/FFMpeg.html#method_extractImage","(integer $time, string $output)","",2],["FFMpeg::encode","FFMpeg\\FFMpeg","FFMpeg\/FFMpeg.html#method_encode","(Audio<\/abbr><\/a> $format, string $outputPathfile, integer $threads = 1)","Encode the file to the specified format",2],["FFProbe::probeFormat","FFMpeg\\FFProbe","FFMpeg\/FFProbe.html#method_probeFormat","(string $pathfile)","Probe the format of a given file",2],["FFProbe::probeStreams","FFMpeg\\FFProbe","FFMpeg\/FFProbe.html#method_probeStreams","(string $pathfile)","Probe the streams contained in a given file",2],["Audio::getAudioCodec","FFMpeg\\Format\\Audio","FFMpeg\/Format\/Audio.html#method_getAudioCodec","()","Returns the audio codec",2],["Audio::getKiloBitrate","FFMpeg\\Format\\Audio","FFMpeg\/Format\/Audio.html#method_getKiloBitrate","()","Get the kiloBitrate value",2],["DefaultAudio::getExtraParams","FFMpeg\\Format\\Audio\\DefaultAudio","FFMpeg\/Format\/Audio\/DefaultAudio.html#method_getExtraParams","()","Returns extra parameters for the encoding",2],["DefaultAudio::getAudioCodec","FFMpeg\\Format\\Audio\\DefaultAudio","FFMpeg\/Format\/Audio\/DefaultAudio.html#method_getAudioCodec","()","{@inheritdoc}",2],["DefaultAudio::setAudioCodec","FFMpeg\\Format\\Audio\\DefaultAudio","FFMpeg\/Format\/Audio\/DefaultAudio.html#method_setAudioCodec","(string $audioCodec)","Set the audio codec, Should be in the available ones,",2],["DefaultAudio::getAudioSampleRate","FFMpeg\\Format\\Audio\\DefaultAudio","FFMpeg\/Format\/Audio\/DefaultAudio.html#method_getAudioSampleRate","()","Get the audio sample rate",2],["DefaultAudio::setAudioSampleRate","FFMpeg\\Format\\Audio\\DefaultAudio","FFMpeg\/Format\/Audio\/DefaultAudio.html#method_setAudioSampleRate","(integer $audioSampleRate)","Set the audio sample rate",2],["DefaultAudio::getKiloBitrate","FFMpeg\\Format\\Audio\\DefaultAudio","FFMpeg\/Format\/Audio\/DefaultAudio.html#method_getKiloBitrate","()","{@inheritdoc}",2],["DefaultAudio::setKiloBitrate","FFMpeg\\Format\\Audio\\DefaultAudio","FFMpeg\/Format\/Audio\/DefaultAudio.html#method_setKiloBitrate","(int $kiloBitrate)","Set the kiloBitrate value",2],["Flac::getAvailableAudioCodecs","FFMpeg\\Format\\Audio\\Flac","FFMpeg\/Format\/Audio\/Flac.html#method_getAvailableAudioCodecs","()","{@inheritDoc}",2],["InteractiveAudio::getAvailableAudioCodecs","FFMpeg\\Format\\Audio\\InteractiveAudio","FFMpeg\/Format\/Audio\/InteractiveAudio.html#method_getAvailableAudioCodecs","()","Returns the list of available audio codecs for this",2],["Mp3::getAvailableAudioCodecs","FFMpeg\\Format\\Audio\\Mp3","FFMpeg\/Format\/Audio\/Mp3.html#method_getAvailableAudioCodecs","()","{@inheritDoc}",2],["ResamplableAudio::getAudioSampleRate","FFMpeg\\Format\\Audio\\ResamplableAudio","FFMpeg\/Format\/Audio\/ResamplableAudio.html#method_getAudioSampleRate","()","Get the audio sample rate",2],["Video::getVideoCodec","FFMpeg\\Format\\Video","FFMpeg\/Format\/Video.html#method_getVideoCodec","()","Returns the video codec",2],["DefaultVideo::getWidth","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_getWidth","()","Returns the width setting.",2],["DefaultVideo::getHeight","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_getHeight","()","Returns the height setting The return of this method",2],["DefaultVideo::setDimensions","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_setDimensions","(integer $width, integer $height)","Set the dimensions",2],["DefaultVideo::getComputedDimensions","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_getComputedDimensions","(integer $originalWidth, integer $originalHeight)","{@inheritdoc)",2],["DefaultVideo::setResizeMode","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_setResizeMode","(string $mode)","Set the resize mode",2],["DefaultVideo::getResizeMode","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_getResizeMode","()","Get the current resize mode name",2],["DefaultVideo::getFrameRate","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_getFrameRate","()","Returns the frame rate",2],["DefaultVideo::setFrameRate","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_setFrameRate","(integer $frameRate)","Set the framerate",2],["DefaultVideo::getVideoCodec","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_getVideoCodec","()","{@inheritdoc}",2],["DefaultVideo::setVideoCodec","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_setVideoCodec","(string $videoCodec)","Set the video codec, Should be in the available ones,",2],["DefaultVideo::getGOPsize","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_getGOPsize","()","{@inheritdoc}",2],["DefaultVideo::setGOPsize","FFMpeg\\Format\\Video\\DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html#method_setGOPsize","(integer $GOPsize)","Set the GOP size",2],["InteractiveVideo::getAvailableVideoCodecs","FFMpeg\\Format\\Video\\InteractiveVideo","FFMpeg\/Format\/Video\/InteractiveVideo.html#method_getAvailableVideoCodecs","()","Returns the list of available video codecs for this",2],["Ogg::getAvailableAudioCodecs","FFMpeg\\Format\\Video\\Ogg","FFMpeg\/Format\/Video\/Ogg.html#method_getAvailableAudioCodecs","()","{@inheritDoc}",2],["Ogg::getAvailableVideoCodecs","FFMpeg\\Format\\Video\\Ogg","FFMpeg\/Format\/Video\/Ogg.html#method_getAvailableVideoCodecs","()","{@inheritDoc}",2],["ResamplableVideo::getFrameRate","FFMpeg\\Format\\Video\\ResamplableVideo","FFMpeg\/Format\/Video\/ResamplableVideo.html#method_getFrameRate","()","Returns the frame rate",2],["ResamplableVideo::getGOPSize","FFMpeg\\Format\\Video\\ResamplableVideo","FFMpeg\/Format\/Video\/ResamplableVideo.html#method_getGOPSize","()","Returns the GOP size",2],["ResizableVideo::getWidth","FFMpeg\\Format\\Video\\ResizableVideo","FFMpeg\/Format\/Video\/ResizableVideo.html#method_getWidth","()","Returns the width setting.",2],["ResizableVideo::getHeight","FFMpeg\\Format\\Video\\ResizableVideo","FFMpeg\/Format\/Video\/ResizableVideo.html#method_getHeight","()","Returns the height setting The return of this method",2],["ResizableVideo::getComputedDimensions","FFMpeg\\Format\\Video\\ResizableVideo","FFMpeg\/Format\/Video\/ResizableVideo.html#method_getComputedDimensions","(integer $originalWidth, integer $originalHeight)","Returns the computed dimensions for the resize, after",2],["ResizableVideo::getResizeMode","FFMpeg\\Format\\Video\\ResizableVideo","FFMpeg\/Format\/Video\/ResizableVideo.html#method_getResizeMode","()","Get the current resize mode name",2],["WebM::getExtraParams","FFMpeg\\Format\\Video\\WebM","FFMpeg\/Format\/Video\/WebM.html#method_getExtraParams","()","{@inheritDoc}",2],["WebM::getAvailableAudioCodecs","FFMpeg\\Format\\Video\\WebM","FFMpeg\/Format\/Video\/WebM.html#method_getAvailableAudioCodecs","()","{@inheritDoc}",2],["WebM::getAvailableVideoCodecs","FFMpeg\\Format\\Video\\WebM","FFMpeg\/Format\/Video\/WebM.html#method_getAvailableVideoCodecs","()","{@inheritDoc}",2],["X264::getAvailableAudioCodecs","FFMpeg\\Format\\Video\\X264","FFMpeg\/Format\/Video\/X264.html#method_getAvailableAudioCodecs","()","{@inheritDoc}",2],["X264::getAvailableVideoCodecs","FFMpeg\\Format\\Video\\X264","FFMpeg\/Format\/Video\/X264.html#method_getAvailableVideoCodecs","()","{@inheritDoc}",2]] + } +} +search_data['index']['longSearchIndex'] = search_data['index']['searchIndex'] \ No newline at end of file diff --git a/docs/API/stylesheet.css b/docs/API/stylesheet.css new file mode 100644 index 0000000..72c3dd8 --- /dev/null +++ b/docs/API/stylesheet.css @@ -0,0 +1,212 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}body{font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}select,input,button,textarea,button{font:99% arial,helvetica,clean,sans-serif;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}body{text-align:center;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main,.yui-g .yui-u .yui-g{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-g .yui-u{width:48.1%;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.first{*margin-right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}.yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#hd:after,#bd:after,#ft:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#hd,#bd,#ft,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;} + +strong { + font-weight: bold; +} + +em { + font-style: italic; +} + +a { + text-decoration: none; +} + +a:hover { + text-decoration:underline; +} + +body { + text-align: left; + margin: 0; + padding: 0; + background-color: #fff; + color: #000; +} + +td.last { + width: 100%; +} + +table, th, td { + border-bottom: 1px solid #ccc; + vertical-align: top; +} + +table { + margin-bottom: 20px; +} + +td { + padding: 7px 4px; +} + +td p { + padding: 0; + margin: 0; +} + +p, dl, ul, ol, h1, h2, h3, h4, h5, h6 { + margin: 5px 0; +} + +dd { + margin-left: 20px; + margin-bottom: 7px; +} + +ul, ol { + margin-left: 30px; +} + +#title { + font-size: 140%; +} + +h1 { + font-size: 130%; +} + +h2 { + font-size: 120%; + font-weight: bold; + margin: 15px 0; + background-color: #EDF3FE; + padding: 5px; +} + +h3 { + font-size: 110%; +} + +h4 { + font-weight: bold; +} + +/* page header */ + +div.header { + background-color: #EDF3FE; + border-bottom: 1px solid #ccc; + padding: 20px 30px 10px 30px; +} + +#frame div.header { + background-color: #fff; + border: 0; + padding: 10px 15px 5px 15px; +} + +/* menu */ + +div.header ul { + list-style: none; + margin: 0; + float: right; + font-size: 80%; +} + +div.header ul li { + display: inline; + font-size: 100%; + font-weight: bold; + padding: 0 4px; +} + +div.header ul li a { + color: #000; + text-transform: uppercase; +} + +#frame div.header ul { + float: none; +} + +#frame div.header ul li { + padding: 0; + padding-right: 7px; +} + +/* footer */ + +#footer { + margin: 30px; + text-align: right; + font-size: 80%; +} + +/* frames */ + +#frame .content { + margin: 10px; +} + +#frame h1 { + font-size: 120%; +} + +#frame h2 { + font-size: 100%; +} + +#frame ul { + list-style: none; + margin-left: 0; +} + +/* class */ + +div.type { + color: #aaa; + margin: 10px 0 0; +} + +div.location { + font-size: 80%; + float: right; + font-style: italic; +} + +#class h1 { + margin: 0 0 10px; +} + +#class h3 { + font-size: 100%; + margin: 15px 0; +} + +#class h3 strong { + font-size: 120%; +} + +div.details { + padding: 0 0 10px 20px; + border-bottom: 1px solid #ccc; +} + +div.tags { + clear: both; + padding-top: 15px; + font-size: 90%; +} + +td.type { + text-align: right; +} + +#class .content, #overview .content { + padding: 10px 30px; +} + +.description { + margin: 10px 0; + padding: 10px; + background-color: #efefef; +} diff --git a/docs/API/tree.js b/docs/API/tree.js new file mode 100644 index 0000000..8037b3f --- /dev/null +++ b/docs/API/tree.js @@ -0,0 +1,30 @@ +var tree = [["FFMpeg","FFMpeg.html","", + [["Exception","FFMpeg\/Exception.html","", + [["BinaryNotFoundException","FFMpeg\/Exception\/BinaryNotFoundException.html"," < Exception", + [ ]],["Exception","FFMpeg\/Exception\/Exception.html","", + [ ]],["InvalidArgumentException","FFMpeg\/Exception\/InvalidArgumentException.html"," < InvalidArgumentException", + [ ]],["LogicException","FFMpeg\/Exception\/LogicException.html"," < LogicException", + [ ]],["RuntimeException","FFMpeg\/Exception\/RuntimeException.html"," < RuntimeException", + [ ]] ]],["Format","FFMpeg\/Format.html","", + [["Audio","FFMpeg\/Format\/Audio.html","", + [["DefaultAudio","FFMpeg\/Format\/Audio\/DefaultAudio.html","", + [ ]],["Flac","FFMpeg\/Format\/Audio\/Flac.html"," < DefaultAudio", + [ ]],["InteractiveAudio","FFMpeg\/Format\/Audio\/InteractiveAudio.html","", + [ ]],["Mp3","FFMpeg\/Format\/Audio\/Mp3.html"," < DefaultAudio", + [ ]],["ResamplableAudio","FFMpeg\/Format\/Audio\/ResamplableAudio.html","", + [ ]] ]],["Video","FFMpeg\/Format\/Video.html","", + [["DefaultVideo","FFMpeg\/Format\/Video\/DefaultVideo.html"," < DefaultAudio", + [ ]],["InteractiveVideo","FFMpeg\/Format\/Video\/InteractiveVideo.html","", + [ ]],["Ogg","FFMpeg\/Format\/Video\/Ogg.html"," < DefaultVideo", + [ ]],["ResamplableVideo","FFMpeg\/Format\/Video\/ResamplableVideo.html","", + [ ]],["ResizableVideo","FFMpeg\/Format\/Video\/ResizableVideo.html","", + [ ]],["WebM","FFMpeg\/Format\/Video\/WebM.html"," < DefaultVideo", + [ ]],["X264","FFMpeg\/Format\/Video\/X264.html"," < DefaultVideo", + [ ]] ]],["Audio","FFMpeg\/Format\/Audio.html","", + [ ]],["Video","FFMpeg\/Format\/Video.html","", + [ ]] ]],["AdapterInterface","FFMpeg\/AdapterInterface.html","", + [ ]],["Binary","FFMpeg\/Binary.html","", + [ ]],["FFMpeg","FFMpeg\/FFMpeg.html"," < Binary", + [ ]],["FFProbe","FFMpeg\/FFProbe.html"," < Binary", + [ ]] ]] ] + diff --git a/docs/Makefile b/docs/Makefile index bfc3101..893b889 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -41,6 +41,7 @@ clean: html: $(SPHINXBUILD) -W -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + cp -R API $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." diff --git a/sami_configuration.php b/sami_configuration.php index 1adfb19..a2422f3 100644 --- a/sami_configuration.php +++ b/sami_configuration.php @@ -14,6 +14,6 @@ $iterator = Finder::create() return new Sami($iterator, array( 'title' => 'PHP FFMpeg API', - 'build_dir' => __DIR__.'/docs/build/html/API', - 'cache_dir' => __DIR__.'/docs/build/html/API/cache', + 'build_dir' => __DIR__.'/docs/API', + 'cache_dir' => __DIR__.'/docs/API/cache', ));