Symbian3/SDK/Source/GUID-22446D23-3CF7-5E1B-B479-4DCA6B6A3DA9-GENID-1-8-1-18-1-1-4-1-11-1.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Wed, 31 Mar 2010 11:11:55 +0100
changeset 7 51a74ef9ed63
permissions -rw-r--r--
Week 12 contribution of API Specs and fix SDK submission

<?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 id="GUID-22446D23-3CF7-5E1B-B479-4DCA6B6A3DA9-GENID-1-8-1-18-1-1-4-1-11-1" xml:lang="en"><title>MmfExSinkSource:
Multimedia Framework sink/source plug-ins example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<section><title>Description</title> <p> <filepath>MmfExSinkSource</filepath> demonstrates
how to implement sink and source plug-ins for the Multimedia Framework. A
sink is an object that can receive multimedia data; a source is an object
that can supply it. This example implements a sink and a source as descriptor
objects. </p> <p>Both the sink and source are implemented in a single class, <codeph>CMMFExDescriptor</codeph>,
that derives from <codeph>CMMFClip</codeph>. <codeph>CMMFClip</codeph> represents
a multimedia clip (i.e. not a stream or hardware device), which, in turn,
derives from the ECom sink interface <codeph>MDataSink</codeph>, and the source
interface <codeph>MDataSource</codeph>. </p> <p>Both the example source and
sink are passed on creation a packaged <codeph>TMMFExDescriptorParams</codeph> object,
which specifies the descriptor to read/write, and the thread to which the
descriptor belongs. </p> <p>Note that the default audio controller only uses
the default sink/sources, and returns "not supported" if you attempt to use
other sink/sources with it. </p> </section>
<section id="GUID-567F55C9-E20D-57DD-8469-99F3AA9FAEA6-GENID-1-8-1-18-1-1-4-1-11-1-2-2"><title>Download</title> <p>Click
on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-4d052924-992d-4dc8-9c32-6360d8ca7ba5.zip" scope="external"> MmfExSinkSource.zip file</xref></p><p>Click:<xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-4d052924-992d-4dc8-9c32-6360d8ca7ba5.html" scope="peer">browse </xref> to view the example code. </p> </section>
<section><title>Class summary</title><p> <xref href="GUID-B0E661BC-4058-3256-B9C3-5A4FD52F6DE5.dita"><apiname>RThread </apiname></xref>  <xref href="GUID-815970B5-302C-317E-8CAF-4A6589D25694.dita"><apiname>CMMFClip </apiname></xref>  <xref href="GUID-708A7583-5C55-3FE1-8238-974C8821588D.dita"><apiname>MDataSink </apiname></xref>  <xref href="GUID-2230F976-A798-30EB-ABA6-09C86716A4B5.dita"><apiname>MDataSource </apiname></xref>  <xref href="GUID-9A7A83ED-592B-3A0C-BABB-3B90099BCF7C.dita"><apiname>CMMFBuffer </apiname></xref>  </p></section>
</conbody></concept>