Symbian3/PDK/Source/GUID-EF71F4BF-2206-5489-BDB9-2F85ED74D6E2.dita
changeset 12 80ef3a206772
parent 9 59758314f811
child 14 578be2adaf3e
equal deleted inserted replaced
11:5072524fcc79 12:80ef3a206772
     9 -->
     9 -->
    10 <!DOCTYPE concept
    10 <!DOCTYPE concept
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    12 <concept xml:lang="en" id="GUID-EF71F4BF-2206-5489-BDB9-2F85ED74D6E2"><title>3GP Library Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document describes 3GP Library. </p> <section><title>Purpose</title> <p>3GP Library lets you read (parse) and write (compose) 3GP, 3G2, and MP4 files. You can use 3GP Library to provide direct data access for applications. When you need to develop reference audio and video controllers, you can use 3GP Library. </p> <p><b>3GP Library details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-FE04DC1F-B88C-5BC2-B83C-4489C77235AE"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <filepath>3gplibrary.dll</filepath>  </p> </entry> <entry><p> <filepath>3gplibrary.lib</filepath>  </p> </entry> <entry><p>These files are used to implement 3GP Library. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural relationship</title> <p>The following diagram shows the architecture of 3GP Library: </p> <fig id="GUID-824CD93C-1B69-53F6-BBCE-91CCB27D04F1"><title>
    12 <concept xml:lang="en" id="GUID-EF71F4BF-2206-5489-BDB9-2F85ED74D6E2"><title>3GP Library Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document describes 3GP Library. </p> <section><title>Purpose</title> <p>3GP Library lets you read (parse) and write (compose) 3GP, 3G2, and MP4 files. You can use 3GP Library to provide direct data access for applications. When you need to develop reference audio and video controllers, you can use 3GP Library. </p> <p><b>3GP Library details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-FE04DC1F-B88C-5BC2-B83C-4489C77235AE"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <filepath>3gplibrary.dll</filepath>  </p> </entry> <entry><p> <filepath>3gplibrary.lib</filepath>  </p> </entry> <entry><p>These files are used to implement 3GP Library. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural relationship</title> <p>The following diagram shows the architecture of 3GP Library: </p> <fig id="GUID-824CD93C-1B69-53F6-BBCE-91CCB27D04F1"><title>
    13              3GP Library Architecture 
    13              3GP Library Architecture 
    14           </title> <image href="GUID-E5DE17C7-BEE3-5A99-B605-3854E503B949_d0e531328_href.png" placement="inline"/></fig> <p><b>Description</b> </p> <p>3GP Library provides two APIs to compose and parse multimedia files. </p> <p><b>3GP Composer</b> </p> <p>The 3GP Composer accepts H.263, MPEG-4 and AVC (also known as H.264) video formats, and AMR, MPEG-4 AAC and QCELP audio formats. These formats are used to create 3GP, 3G2 or MP4 files. If QCELP audio is supplied, the file to be composed is automatically switched to a 3G2 file. To compose an MP4 file, the video source must be either of type MPEG-4 video or AVC, and the audio source must be of type MPEG-4 AAC audio, otherwise the output file type will be automatically changed to 3GP. </p> <p><b>3GP Parser</b> </p> <p>The 3GP Parser parses 3GP, 3G2 and MP4 content containing H.263, MPEG-4 or AVC video formats, and AMR, MPEG-4 or QCELP audio formats. Content can be from a file, a <xref href="GUID-7EE46FD9-DC9E-5C1F-9AC5-48F5212AF0CA.dita">Content Access Framework</xref> (CAF) object, or given through memory buffer. </p> </section> <section><title>Key 3GP Library classes</title> <p>The key classes that make up 3GP Library are as follows: </p> <ul><li id="GUID-D24AF2E7-FCF1-5469-BDE6-A0088EB81A6D"><p> <xref href="GUID-C463561F-4BDA-3CBE-9588-AFDB5FD889A2.dita"><apiname>C3GPCompose</apiname></xref>  </p> <p>This class provides the functions for the 3GP Composer. </p> </li> <li id="GUID-4FAE1A6B-1361-5C8D-BB2F-88E7BB8D58D7"><p> <xref href="GUID-BF3A60C9-0F4C-3712-90E3-ACBD73BE4EB6.dita"><apiname>C3GPParse</apiname></xref>  </p> <p>This class provides the functions for the 3GP Parser. </p> </li> <li id="GUID-DADAC349-A6C6-5DF4-9EAD-0126E0F51243"><p> <xref href="GUID-FDFA51F6-E39F-38E8-8B3C-193C7FF2B9CF.dita"><apiname>M3GPParseCallback</apiname></xref>  </p> <p>An interface provided by 3GP Library for the asynchronous retrieval of video and audio frames. The client application normally implements <xref href="GUID-FDFA51F6-E39F-38E8-8B3C-193C7FF2B9CF.dita"><apiname>M3GPParseCallback</apiname></xref>. </p> </li> </ul> </section> <section><title>Using 3GP Library</title> <p>You can use the 3GP Composer to do the following: </p> <ul><li id="GUID-9F0DE412-A031-59F1-997C-274F3D3FDBDE"><p><xref href="GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6.dita#GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6/GUID-F3D2FF74-D138-56CE-A76B-95CF60F9D708">Create an instance of a 3GP Composer</xref>  </p> </li> <li id="GUID-9B2D50BE-63ED-5A45-B056-F27B06DC3CAE"><p><xref href="GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6.dita#GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6/GUID-F8FDE6BB-4E67-53B5-BE5E-41660B3E0793">Initialise the 3GP Composer for writing 3GP, 3G2 or MP4 data</xref>  </p> </li> <li id="GUID-417084C0-5247-538E-9073-4A47F3D03AAC"><p><xref href="GUID-32B58425-81AC-59D6-A17F-21BD06ACB658.dita">Write video and audio data streams</xref>  </p> </li> <li id="GUID-E081C967-302C-58CE-AE3F-511BBEF046A1"><p><xref href="GUID-460089B6-CA35-5DB7-ABC0-A688D6EE77D5.dita">Commit video and audio data to an output file</xref>. </p> </li> </ul> <p>You can use the 3GP Parser to do the following: </p> <ul><li id="GUID-8A00E2E5-B17E-53C6-8339-520EE1B74BBB"><p><xref href="GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD.dita#GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD/GUID-C974E036-C0B7-5647-B3B5-37308CCF13E9">Create an instance of a 3GP Parser</xref>  </p> </li> <li id="GUID-453FA066-7410-5ECD-9A37-3ADBAEC8A724"><p><xref href="GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD.dita#GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD/GUID-A38F0C28-0032-5F14-9974-4F009E5E1D66"> Initialise the 3GP Parser for reading 3GP, 3G2 or MP4 data</xref>  </p> </li> <li id="GUID-051702DB-8828-500F-BDAA-6C4A5A3F74D3"><p><xref href="GUID-CC4BA8E7-BCAB-58F7-AC5D-BA75A82D04AE.dita">Retrieve video and audio metadata</xref>  </p> </li> <li id="GUID-1ED3F7AB-40A8-5FC8-A25B-0E0BAA402C9D"><p><xref href="GUID-EFD05CAF-A8CF-5C2E-B7C9-51023D2438DF.dita"> Read video and audio data streams (synchronously and asynchronously)</xref>  </p> </li> <li id="GUID-7657EC0B-0F80-5C4A-903C-368CFF44CBAD"><p><xref href="GUID-AE495355-86EA-50C1-A483-405BF973BB9B.dita">Release 3GP Parser resources</xref>. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-6CED5904-EEE4-5F93-AA8A-37083EC5AFE8.dita"> 3GP Library Tutorials</xref>  </p> </section> </conbody></concept>
    14           </title> <image href="GUID-E5DE17C7-BEE3-5A99-B605-3854E503B949_d0e538788_href.png" placement="inline"/></fig> <p><b>Description</b> </p> <p>3GP Library provides two APIs to compose and parse multimedia files. </p> <p><b>3GP Composer</b> </p> <p>The 3GP Composer accepts H.263, MPEG-4 and AVC (also known as H.264) video formats, and AMR, MPEG-4 AAC and QCELP audio formats. These formats are used to create 3GP, 3G2 or MP4 files. If QCELP audio is supplied, the file to be composed is automatically switched to a 3G2 file. To compose an MP4 file, the video source must be either of type MPEG-4 video or AVC, and the audio source must be of type MPEG-4 AAC audio, otherwise the output file type will be automatically changed to 3GP. </p> <p><b>3GP Parser</b> </p> <p>The 3GP Parser parses 3GP, 3G2 and MP4 content containing H.263, MPEG-4 or AVC video formats, and AMR, MPEG-4 or QCELP audio formats. Content can be from a file, a <xref href="GUID-7EE46FD9-DC9E-5C1F-9AC5-48F5212AF0CA.dita">Content Access Framework</xref> (CAF) object, or given through memory buffer. </p> </section> <section><title>Key 3GP Library classes</title> <p>The key classes that make up 3GP Library are as follows: </p> <ul><li id="GUID-D24AF2E7-FCF1-5469-BDE6-A0088EB81A6D"><p> <xref href="GUID-C463561F-4BDA-3CBE-9588-AFDB5FD889A2.dita"><apiname>C3GPCompose</apiname></xref>  </p> <p>This class provides the functions for the 3GP Composer. </p> </li> <li id="GUID-4FAE1A6B-1361-5C8D-BB2F-88E7BB8D58D7"><p> <xref href="GUID-BF3A60C9-0F4C-3712-90E3-ACBD73BE4EB6.dita"><apiname>C3GPParse</apiname></xref>  </p> <p>This class provides the functions for the 3GP Parser. </p> </li> <li id="GUID-DADAC349-A6C6-5DF4-9EAD-0126E0F51243"><p> <xref href="GUID-FDFA51F6-E39F-38E8-8B3C-193C7FF2B9CF.dita"><apiname>M3GPParseCallback</apiname></xref>  </p> <p>An interface provided by 3GP Library for the asynchronous retrieval of video and audio frames. The client application normally implements <xref href="GUID-FDFA51F6-E39F-38E8-8B3C-193C7FF2B9CF.dita"><apiname>M3GPParseCallback</apiname></xref>. </p> </li> </ul> </section> <section><title>Using 3GP Library</title> <p>You can use the 3GP Composer to do the following: </p> <ul><li id="GUID-9F0DE412-A031-59F1-997C-274F3D3FDBDE"><p><xref href="GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6.dita#GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6/GUID-F3D2FF74-D138-56CE-A76B-95CF60F9D708">Create an instance of a 3GP Composer</xref>  </p> </li> <li id="GUID-9B2D50BE-63ED-5A45-B056-F27B06DC3CAE"><p><xref href="GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6.dita#GUID-28DF11D8-F895-5D4B-8C6D-AEAB3172F3B6/GUID-F8FDE6BB-4E67-53B5-BE5E-41660B3E0793">Initialise the 3GP Composer for writing 3GP, 3G2 or MP4 data</xref>  </p> </li> <li id="GUID-417084C0-5247-538E-9073-4A47F3D03AAC"><p><xref href="GUID-32B58425-81AC-59D6-A17F-21BD06ACB658.dita">Write video and audio data streams</xref>  </p> </li> <li id="GUID-E081C967-302C-58CE-AE3F-511BBEF046A1"><p><xref href="GUID-460089B6-CA35-5DB7-ABC0-A688D6EE77D5.dita">Commit video and audio data to an output file</xref>. </p> </li> </ul> <p>You can use the 3GP Parser to do the following: </p> <ul><li id="GUID-8A00E2E5-B17E-53C6-8339-520EE1B74BBB"><p><xref href="GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD.dita#GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD/GUID-C974E036-C0B7-5647-B3B5-37308CCF13E9">Create an instance of a 3GP Parser</xref>  </p> </li> <li id="GUID-453FA066-7410-5ECD-9A37-3ADBAEC8A724"><p><xref href="GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD.dita#GUID-4D4A2853-B573-5B16-B9E3-0E4853C90BCD/GUID-A38F0C28-0032-5F14-9974-4F009E5E1D66"> Initialise the 3GP Parser for reading 3GP, 3G2 or MP4 data</xref>  </p> </li> <li id="GUID-051702DB-8828-500F-BDAA-6C4A5A3F74D3"><p><xref href="GUID-CC4BA8E7-BCAB-58F7-AC5D-BA75A82D04AE.dita">Retrieve video and audio metadata</xref>  </p> </li> <li id="GUID-1ED3F7AB-40A8-5FC8-A25B-0E0BAA402C9D"><p><xref href="GUID-EFD05CAF-A8CF-5C2E-B7C9-51023D2438DF.dita"> Read video and audio data streams (synchronously and asynchronously)</xref>  </p> </li> <li id="GUID-7657EC0B-0F80-5C4A-903C-368CFF44CBAD"><p><xref href="GUID-AE495355-86EA-50C1-A483-405BF973BB9B.dita">Release 3GP Parser resources</xref>. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-6CED5904-EEE4-5F93-AA8A-37083EC5AFE8.dita"> 3GP Library Tutorials</xref>  </p> </section> </conbody></concept>