betz Fri Jun 17 19:05:15 2005 EDT Added files: /phpdoc/en/reference/oggvorbis configure.xml constants.xml contexts.xml reference.xml Log: move oggvorbis from peardoc
http://cvs.php.net/co.php/phpdoc/en/reference/oggvorbis/configure.xml?r=1.1&p=1 Index: phpdoc/en/reference/oggvorbis/configure.xml +++ phpdoc/en/reference/oggvorbis/configure.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="oggvorbis.installation"> &reftitle.install; <simpara> oggvorbis is installed through the usual PECL package installation process. </simpara> <itemizedlist> <listitem> <para> <screen> $ pear install Net_Gopher </screen> </para> </listitem> <listitem> <simpara> Copy the resulting <literal>oggvorbis.so</literal> to an appropriate location and add <literal>extension=oggvorbis.so</literal> to your &php.ini; file or load it dynamically in your PHP script using <literal>dl("oggvorbis.so");</literal> </simpara> </listitem> </itemizedlist> </section>
<!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/phpdoc/en/reference/oggvorbis/constants.xml?r=1.1&p=1 Index: phpdoc/en/reference/oggvorbis/constants.xml +++ phpdoc/en/reference/oggvorbis/constants.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="oggvorbis.constants"> &reftitle.constants; &extension.constants; <table> <title>OGG/Vorbis supports PCM encodings in the following formats</title> <tgroup cols="2"> <thead> <row> <entry>Constant</entry> <entry>Definition</entry> </row> </thead> <tbody> <row> <entry><constant>OGGVORBIS_PCM_U8</constant></entry> <entry>Unsigned 8-bit PCM.</entry> </row> <row> <entry><constant>OGGVORBIS_PCM_S8</constant></entry> <entry>Signed 8-bit PCM.</entry> </row> <row> <entry><constant>OGGVORBIS_PCM_U16_LE</constant></entry> <entry>Unsigned 16-bit PCM. Little Endian byte order.</entry> </row> <row> <entry><constant>OGGVORBIS_PCM_U16_BE</constant></entry> <entry>Unsigned 16-bit PCM. Big Endian byte order.</entry> </row> <row> <entry><constant>OGGVORBIS_PCM_S16_LE</constant></entry> <entry>Signed 16-bit PCM. Little Endian byte order.</entry> </row> <row> <entry><constant>OGGVORBIS_PCM_S16_BE</constant></entry> <entry>Signed 16-bit PCM. Big Endian byte order.</entry> </row> </tbody> </tgroup> </table> </section> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/phpdoc/en/reference/oggvorbis/contexts.xml?r=1.1&p=1 Index: phpdoc/en/reference/oggvorbis/contexts.xml +++ phpdoc/en/reference/oggvorbis/contexts.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <section id="oggvorbis.contexts"> <title>Context options</title> <table> <title>OGG/Vorbis tuning options</title> <tgroup cols="4"> <thead> <row> <entry>Option</entry> <entry>Definition</entry> <entry>Relevance</entry> <entry>Default</entry> </row> </thead> <tbody> <row> <entry>pcm_mode</entry> <entry>PCM byte encoding used. See constants below.</entry> <entry>Read / Write</entry> <entry><constant>OGGVORBIS_PCM_S16_LE</constant></entry> </row> <row> <entry>rate</entry> <entry>PCM Sampling rate. Measured in Hz.</entry> <entry>Write only</entry> <entry><constant>44100</constant></entry> </row> <row> <entry>bitrate</entry> <entry> Vorbis Average Bitrate Encoding / Variable Bitrate Encoding. Measured in bps (ABR) or Quality level (VBR: 0.0 to 1.0). 128000 ABR is rough equal to 0.4 VBR. </entry> <entry>Write only</entry> <entry><constant>128000</constant></entry> </row> <row> <entry>channels</entry> <entry>Number of PCM channels. 1 == Mono, 2 == Stereo.</entry> <entry>Write only</entry> <entry><constant>2</constant></entry> </row> <row> <entry>serialno</entry> <entry> Serial Number of stream within file. Must be unique within file. Because of the potential to select a duplicate serial number within a chained file, make efforts to manually assign unique numbers when encoding. </entry> <entry>Write only</entry> <entry><emphasis>Random</emphasis></entry> </row> <row> <entry>comments</entry> <entry> Associative array of file comments. Will be translated to <literal>strtoupper($name) . "=$value"</literal>. Note: This context option is not available in oggvorbis-0.1 </entry> <entry>Write only</entry> <entry><constant>array('ENCODER' => 'PHP/OggVorbis, http://pear.php.net/oggvorbis')</constant></entry> </row> </tbody> </tgroup> </table> </section> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/phpdoc/en/reference/oggvorbis/reference.xml?r=1.1&p=1 Index: phpdoc/en/reference/oggvorbis/reference.xml +++ phpdoc/en/reference/oggvorbis/reference.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <reference id="ref.oggvorbis"> <title>oggvorbis</title> <titleabbrev>OGG/Vorbis</titleabbrev> <partintro> <section id="oggvorbis.intro"> &reftitle.intro; <simpara> The OGG/Vorbis file format, as defined by <ulink url="&url.ogg;">&url.ogg;</ulink> and <ulink url="&url.ogg.vorbis;">&url.ogg.vorbis;</ulink>, is a scheme for compressing audio streams by multiple factors with a minimum of quality loss. This extension adds oggvorbis support to PHP's <link linkend="wrappers">URL Wrappers</link>. When used in read mode, compressed OGG/Vorbis data is expanded to raw PCM audio in one of six PCM encoding formats listed below. </simpara> </section> <section id="oggvorbis.requirements"> &reftitle.required; <para> This extensiion requires <literal>PHP >= 4.3.0</literal>, <ulink url="&url.ogg.vorbis.downloads;">libogg</ulink> >= 1.0, and <ulink url="&url.ogg.vorbis.downloads;">libvorbis</ulink> >= 1.0. </para> </section> <section id="oggvorbis.configuration"> &reftitle.runtime; &no.config; </section> <!-- &reference.oggvorbis.configure; &reference.oggvorbis.contexts; &reference.oggvorbis.constants; --> </partintro> <refentry> <refnamediv> <refname>Usage</refname> <refpurpose> Examples on using the ogg:// wrapper. </refpurpose> </refnamediv> <refsect1 role="examples"> &reftitle.examples; <para> <example> <title>Reading an OGG/Vorbis file</title> <programlisting role="php"> <![CDATA[ <?php dl("oggvorbis.so"); /* By default, ogg:// will decode to Signed 16-bit Little Endian */ $fp = fopen('ogg://myaudio.ogg', 'r'); /* Collect some information about the file. */ $metadata = stream_get_meta_data($fp); /* Inspect the first song (usually the only song, but OGG/Vorbis files may be chained) */ $songdata = $metadata['wrapper_data'][0]; echo "OGG/Vorbis file encoded by: {$songdata['vendor']}\n."; echo " {$songdata['channels']} channels of {$songdata['rate']}Hz sampling encoded at {$songdata['bitrate_nominal']}bps.\n"; foreach($songdata['comments'] as $comment) { echo " $comment\n"; } while ($audio_data = fread($fp, 8192)) { /* Do something with the PCM audio we're extracting from the OGG. Copying to /dev/dsp is a good target on linux systems, just remember to setup the device for your sampling mode first. */ } fclose($fp); ?> ]]> </programlisting> </example> </para> <para> <example> <title>Encode an audio file to OGG/Vorbis</title> <programlisting role="php"> <![CDATA[ <?php dl('oggvorbis.so'); $context = stream_context_create(array('ogg'=>array( 'pcm_mode' => OGGVORBIS_PCM_S8, /* Signed 8bit audio */ 'rate' => 44100, /* 44kHz CD quality */ 'bitrate' => 0.5, /* Midquality VBR */ 'channels' => 1, /* Mono */ 'serialno' => 12345))); /* Unique within our stream */ /* Open file for appending. This will "chain" a second OGG stream at the end of the first. */ $ogg = fopen('ogg://mysong.ogg', 'a', false, $context); $pcm = fopen('mysample.pcm', 'r'); /* Compress the raw PCM audio from mysample.pcm into mysong.ogg */ stream_copy_to_stream($pcm, $ogg); fclose($pcm); fclose($ogg); ?> ]]> </programlisting> </example> </para> </refsect1> </refentry> </reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->