Symbian3/SDK/Source/GUID-EB58901D-66BD-56BF-B0CD-5FC4F73F06F3.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-EB58901D-66BD-56BF-B0CD-5FC4F73F06F3"><title>DevVideo Library Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document provides an overview of the DevVideo library. </p> <section><title>Purpose</title> <p>DevVideo provides the interface between the Symbian platform and the video processing hardware for all video functionality. </p> <p><b>DevVideo 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-2D7D4730-333C-592B-9830-C8AA979E28D7"><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> <b>devvideo.dll</b>  </p> </entry> <entry><p> <b>devvideo.lib</b>  </p> </entry> <entry><p>These files are used for implementing DevVideo. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural Relationship</title> <p>DevVideo provides middleware components, such as MMF controller plug-ins, access to video codecs, pre-processors and post-processors. DevVideo interacts with: </p> <ul><li id="GUID-95821394-F1A1-52D9-82C2-7DAC2D5189C3"><p>MMF Controller Framework </p> <p>The controller framework helps to manage the interface to DevVideo and provides controller plug-ins for playing and recording video data. </p> </li> <li id="GUID-46C2C613-7EA1-554C-BE8C-67F1DD9BEF7C"><p>Controller plug-ins </p> <p>Video play and video record controller plug-ins implement play and record functionality respectively. </p> </li> <li id="GUID-90DD575E-B686-5925-9579-C5B7F26CEAE9"><p>Video Hardware Device interface </p> <p> <xref href="GUID-B75C7A33-53E9-300B-A3F1-9584F292A8E5.dita"><apiname>CMMFVideoHwDevice</apiname></xref> is the base class for all video hardware devices. Video playback hardware devices are video decoders and video post-processors. Video recording hardware devices are video pre-processors and encoders. </p> <p>Note that, although the interface is called "Hardware Device" interface, it is possible that the codecs, and pre-processors and post-processors, are not running on a separate hardware device. They could be running on the same processor as all the other software. </p> </li> </ul> <p>Shown below is a representation of how DevVideo interacts with the Multimedia Framework and Media Device Framework components: </p> <fig id="GUID-E9F26F16-0358-5750-9960-110D7721F892"><title>
             DevVideo and related components 
          </title> <image href="GUID-BC498630-E802-5A36-8DB1-D67F739CAD64_d0e317327_href.png" placement="inline"/></fig> </section> <section><title>Description</title> <p>DevVideo is a hardware abstraction layer that provides access to video functionality. DevVideo functionality includes video decoding, encoding, pre-processing and post-processing. </p> </section> <section><title>Key DevVideo Classes</title> <p>The video play and record functionality provided by DevVideo is contained within the following key classes: </p> <ul><li id="GUID-8E3D7110-9C2D-5A0D-8AFA-D93C88BB3A24"><p> <xref href="GUID-8CBAAA14-07E5-30AA-A67D-EA968251EB02.dita"><apiname>MMMFDevVideoPlayProxy</apiname></xref> - the interface to <codeph>CMMFDevVideoPlay</codeph>. Hardware devices use this interface to deliver data back to the client. </p> </li> <li id="GUID-DDE4EB42-841A-53E3-9530-03A08D2C2DC4"><p> <xref href="GUID-6273220C-24F9-3ECB-9748-E74D595D448A.dita"><apiname>CMMFDevVideoPlay</apiname></xref> - DevVideoPlay interface and implementation. </p> </li> <li id="GUID-6459C887-823E-5F79-B6A5-82DA37AE7E66"><p> <xref href="GUID-58680391-FDEC-36F5-B3C1-F09581E428F1.dita"><apiname>MMMFDevVideoPlayObserver</apiname></xref> - set of callback functions that any client using <codeph>CMMFDevVideoPlay</codeph> must implement. </p> </li> <li id="GUID-BD82BD0D-A62B-5C60-955E-AEB80B62873B"><p> <xref href="GUID-D3B23BA7-C337-3444-B41B-322024066743.dita"><apiname> MMMFDevVideoRecordProxy</apiname></xref> - the interface to <codeph>CMMFDevVideoRecord</codeph>. Hardware devices use this interface to deliver data back to the client. </p> </li> <li id="GUID-A37B47E1-7AAD-547C-BE0C-D07C3CAA72A4"><p> <xref href="GUID-E2D1AA86-41CD-3D9A-A8FE-FF7D0E3024B0.dita"><apiname>CMMFDevVideoRecord</apiname></xref> - DevVideoRecord interface and implementation. </p> </li> <li id="GUID-9B1FE095-285D-592C-A924-DD13577A8D7B"><p> <xref href="GUID-765A7269-BB3D-32A3-B37C-5C2250E990FB.dita"><apiname>MMMFDevVideoRecordObserver</apiname></xref> - set of callback functions that any client using <codeph>CMMFDevVideoRecord</codeph> must implement. </p> </li> </ul> </section> <section><title>Using DevVideo</title> <p>Clients can use DevVideo to: </p> <ul><li id="GUID-0E3CC319-7A07-52B7-BF0B-C60B552EAEB9"><p>Select the video decoder to use. </p> </li> <li id="GUID-1E8EA07D-E0D7-50A1-AB2C-B22A502BD651"><p>Configure the video decoder. </p> </li> <li id="GUID-206AA299-813C-570F-96E1-C34971A9BCF6"><p>Select the video post-processor to use. </p> </li> <li id="GUID-3FA3B14D-E470-596A-A365-83D8A82C08FE"><p>Configure the video post-processor. </p> </li> <li id="GUID-619F4F90-C9B6-5CE8-A3CE-5133F26D33E6"><p>Set clock source for timing video playback. </p> </li> <li id="GUID-E74E4938-215F-53AA-A5C1-2CCC3E193BF0"><p>Set video output destination. </p> </li> <li id="GUID-91D6FFF1-E0B1-5C08-B622-C4CBD7D353BF"><p>Start video playback. </p> </li> <li id="GUID-C1233D6B-07E8-5F52-B181-D829E6BEF75B"><p>Pause video playback. </p> </li> <li id="GUID-C691A1FC-3B90-558F-9A40-D1B721797277"><p>Stop video playback. </p> </li> <li id="GUID-09E5A40D-4410-51EA-A1DD-3390356CA21B"><p>Select the video encoder to use. </p> </li> <li id="GUID-1AB0F445-6747-595B-964A-2607D98231BF"><p>Configure the video encoder. </p> </li> <li id="GUID-05647E57-0BCB-5766-A6C7-38324563D8E7"><p>Select the video pre-processor to use. </p> </li> <li id="GUID-6B78688D-D291-511E-A4A2-B24175D1CFC4"><p>Configure the video pre-processor. </p> </li> <li id="GUID-B153F2DF-1F2B-5F25-8693-2D46FC8B7077"><p>Set clock source for timing of video recording. </p> </li> <li id="GUID-8A7AB02B-5FFE-5CD1-8856-26C2577A09C6"><p>Start video recording. </p> </li> <li id="GUID-E294F9BC-0078-53CA-AA84-C3E4F28D0648"><p>Pause video recording. </p> </li> <li id="GUID-7730116F-1188-5BEB-91B7-1F21525E65CD"><p>Stop video recording. </p> </li> <li id="GUID-026D56C1-4E68-587B-A546-4543B8149FBE"><p>Pass video buffers to and from the client. </p> </li> <li id="GUID-7CD4E18E-3E54-54AD-AAFB-D9B778C64331"><p>Pass pictures to and from the client. </p> </li> </ul> </section> <section><title>See Also</title> <p><xref href="GUID-2DC80BA9-7AA2-5CD3-9105-1DE28CE196C1.dita"> Video Client Overview</xref>  </p> </section> </conbody></concept>