AAFA Developer Support

Main Page | Class List | File List | Class Members

AAFPlugin.idl

Go to the documentation of this file.
00001 cpp_quote("//=---------------------------------------------------------------------=")
00002 cpp_quote("//")
00003 cpp_quote("// This file was GENERATED for the AAF SDK")
00004 cpp_quote("//")
00005 cpp_quote("// $Id: AAFPlugin.idl,v 1.6 2005/02/10 17:49:55 heydowns Exp $ $Name:  $")
00006 cpp_quote("//")
00007 cpp_quote("// The contents of this file are subject to the AAF SDK Public")
00008 cpp_quote("// Source License Agreement (the \"License\"); You may not use this file")
00009 cpp_quote("// except in compliance with the License.  The License is available in")
00010 cpp_quote("// AAFSDKPSL.TXT, or you may obtain a copy of the License from the AAF")
00011 cpp_quote("// Association or its successor.")
00012 cpp_quote("//")
00013 cpp_quote("// Software distributed under the License is distributed on an \"AS IS\"")
00014 cpp_quote("// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See")
00015 cpp_quote("// the License for the specific language governing rights and limitations")
00016 cpp_quote("// under the License.")
00017 cpp_quote("//")
00018 cpp_quote("// The Original Code of this file is Copyright 1998-2004, Licensor of the")
00019 cpp_quote("// AAF Association.")
00020 cpp_quote("//")
00021 cpp_quote("// The Initial Developer of the Original Code of this file and the")
00022 cpp_quote("// Licensor of the AAF Association is Avid Technology.")
00023 cpp_quote("// All rights reserved.")
00024 cpp_quote("//")
00025 cpp_quote("//=---------------------------------------------------------------------=")
00026 
00027 cpp_quote("//=--------------------------------------------------------------------------=")
00028 cpp_quote("// AAF Interfaces.")
00029 cpp_quote("//=--------------------------------------------------------------------------=")
00030 cpp_quote("//")
00031 
00032 #ifndef DO_NO_IMPORTS
00033 import "unknwn.idl";
00034 #endif
00035 
00036 #ifndef DO_NO_IMPORTS
00037 import "objidl.idl";
00038 #endif
00039 
00040 #ifndef DO_NO_IMPORTS
00041 import "AAF.idl";
00042 #endif
00043 
00044 #ifndef DO_NO_IMPORTS
00045 import "AAFPluginTypes.idl";
00046 #endif
00047 
00048 interface IAAFPlugin;
00049 interface IAAFClassExtension;
00050 interface IAAFEssenceStream;
00051 interface IAAFEssenceDataStream;
00052 interface IAAFEssenceCodec;
00053 interface IAAFEssenceCodec2;
00054 interface IAAFMultiEssenceCodec;
00055 interface IAAFEssenceContainer;
00056 interface IAAFInterpolator;
00057 
00058 
00059 // ************************
00060 //
00061 // Interface IAAFPlugin
00062 //
00063 // ************************
00064 
00065 
00066 
00067 
00068 
00077 
00078 
00079 [
00080     object,
00081     uuid(3631F7A4-9121-11d2-8088-006008143e6f),
00082     helpstring("IAAFPlugin Interface"),
00083     pointer_default(unique)
00084 ]
00085 interface IAAFPlugin : IUnknown
00086 {
00087 
00088 
00089   //***********************************************************
00090   //
00091   // CountDefinitions()
00092   //
00116   HRESULT CountDefinitions (
00117     [out] aafUInt32 *  pDefCount);
00118 
00119   //***********************************************************
00120   //
00121   // GetIndexedDefinitionID()
00122   //
00155   HRESULT GetIndexedDefinitionID (
00156     [in] aafUInt32  index,
00157     [out] aafUID_t *  pPluginID);
00158 
00159   //***********************************************************
00160   //
00161   // GetPluginDescriptorID()
00162   //
00185   HRESULT GetPluginDescriptorID (
00186     [out] aafUID_t *  pPluginID);
00187 
00188   //***********************************************************
00189   //
00190   // GetIndexedDefinitionObject()
00191   //
00225   HRESULT GetIndexedDefinitionObject (
00226     [in] aafUInt32  index,
00227     [in] IAAFDictionary * pDictionary,
00228     [out] IAAFDefObject ** pDefObject);
00229 
00230   //***********************************************************
00231   //
00232   // CreateDescriptor()
00233   //
00260   HRESULT CreateDescriptor (
00261     [in] IAAFDictionary * pDictionary,
00262     [out] IAAFPluginDef ** pPluginDef);
00263 
00264 }
00265 
00266 
00267 
00268 // ************************
00269 //
00270 // Interface IAAFClassExtension
00271 //
00272 // ************************
00273 
00274 
00285 [
00286     object,
00287     uuid(65C07344-DF36-11d3-8008-00104bc9156d),
00288     helpstring("IAAFClassExtension Interface"),
00289     pointer_default(unique)
00290 ]
00291 interface IAAFClassExtension : IUnknown
00292 {
00293 
00294 
00295   //***********************************************************
00296   //
00297   // RegisterDefinitions()
00298   //
00318   HRESULT RegisterDefinitions (
00319     [in] IAAFDictionary * pDictionary);
00320 
00321 }
00322 
00323 
00324 
00325 // ************************
00326 //
00327 // Interface IAAFEssenceStream
00328 //
00329 // ************************
00330 
00350 
00351 
00352 [
00353     object,
00354     uuid(83402902-9146-11d2-8088-006008143e6f),
00355     helpstring("IAAFEssenceStream Interface"),
00356     pointer_default(unique)
00357 ]
00358 interface IAAFEssenceStream : IUnknown
00359 {
00360 
00361 
00362   //***********************************************************
00363   //
00364   // Write()
00365   //
00386   HRESULT Write (
00387     [in] aafUInt32  bytes,
00388     [out, size_is(bytes)] aafDataBuffer_t  buffer,
00389     [out,ref] aafUInt32 *  bytesWritten);
00390 
00391 
00392   //***********************************************************
00393   //
00394   // Read()
00395   //
00416   HRESULT Read (
00417     [in] aafUInt32  buflen,
00418     [out, size_is(buflen), length_is(*pBytesRead)] aafDataBuffer_t  pBuffer,
00419     [out,ref] aafUInt32 *  pBytesRead);
00420 
00421   //***********************************************************
00422   //
00423   // Seek()
00424   //
00429   HRESULT Seek (
00430     [in] aafPosition_t  byteOffset);
00441 
00442   //***********************************************************
00443   //
00444   // SeekRelative()
00445   //
00460   HRESULT SeekRelative (
00461     [in] aafInt32  byteOffset);
00462 
00463   //***********************************************************
00464   //
00465   // GetPosition()
00466   //
00481   HRESULT GetPosition (
00482     [out] aafPosition_t *  pPosition);
00483 
00484   //***********************************************************
00485   //
00486   // GetLength()
00487   //
00502   HRESULT GetLength (
00503     [out] aafLength_t *  pLength);
00504 
00511 
00512   //***********************************************************
00513   //
00514   // FlushCache()
00515   //
00530   HRESULT FlushCache ();
00531 
00532   //***********************************************************
00533   //
00534   // SetCacheSize()
00535   //
00548   HRESULT SetCacheSize (
00549     [in] aafUInt32  itsSize);
00550 
00551 }
00552 
00553 
00554 
00555 
00556 // ************************
00557 //
00558 // Interface IAAFEssenceDataStream
00559 //
00560 // ************************
00561 
00585 [
00586     object,
00587     uuid(CDDB6AB1-98DC-11d2-808a-006008143e6f),
00588     helpstring("IAAFEssenceDataStream Interface"),
00589     pointer_default(unique)
00590 ]
00591 interface IAAFEssenceDataStream : IUnknown
00592 {
00593 
00594 
00595   //***********************************************************
00596   //
00597   // Init()
00598   //
00603   HRESULT Init (
00604     [in] IUnknown * essenceData);
00605 
00606 }
00607 
00608 
00609 
00610 
00611 // ************************
00612 //
00613 // Interface IAAFEssenceCodec
00614 //
00615 // ************************
00616 
00617 
00618 
00640 
00641 
00646 [
00647     object,
00648     uuid(3631F7A2-9121-11d2-8088-006008143e6f),
00649     helpstring("IAAFEssenceCodec Interface"),
00650     pointer_default(unique)
00651 ]
00652 interface IAAFEssenceCodec : IUnknown
00653 {
00654 
00660 
00661 
00662   //***********************************************************
00663   //
00664   // SetEssenceAccess()
00665   //
00689   HRESULT SetEssenceAccess (
00690     [in] IAAFEssenceAccess * pEssenceAccess);
00691 
00692 
00693 
00694   //***********************************************************
00695   //
00696   // CountFlavours()
00697   //
00715   HRESULT CountFlavours (
00716     [out] aafUInt32*  pCount);
00717 
00718 
00719   //***********************************************************
00720   //
00721   // GetIndexedFlavourID()
00722   //
00745   HRESULT GetIndexedFlavourID (
00746     [in] aafUInt32  index,
00747     [out] aafUID_t *  pVariant);
00748 
00749 
00750   //***********************************************************
00751   //
00752   // CountDataDefinitions()
00753   //
00771   HRESULT CountDataDefinitions (
00772     [out] aafUInt32*  pCount);
00773 
00774 
00775   //***********************************************************
00776   //
00777   // GetIndexedDataDefinition()
00778   //
00798   HRESULT GetIndexedDataDefinition (
00799     [in] aafUInt32  index,
00800     [out] aafUID_t *  pDataDefID);
00801 
00802 
00803   //***********************************************************
00804   //
00805   // GetMaxCodecDisplayNameLength()
00806   //
00824   HRESULT GetMaxCodecDisplayNameLength (
00825     [out] aafUInt32*  pBufSize);
00826 
00827 
00828   //***********************************************************
00829   //
00830   // GetCodecDisplayName()
00831   //
00848   HRESULT GetCodecDisplayName (
00849     [in, ref] aafUID_constref  flavour,
00850     [out, string, size_is(bufSize)] aafCharacter *  pName,
00851     [in] aafUInt32  bufSize);
00852 
00853         
00862 
00863 
00864   //***********************************************************
00865   //
00866   // CountChannels()
00867   //
00897   HRESULT CountChannels (
00898     [in] IAAFSourceMob * fileMob,
00899     [in, ref] aafUID_constref  essenceKind,
00900     [in] IAAFEssenceStream * stream,
00901     [out] aafUInt16 *  pNumChannels);
00902 
00903 
00904   //***********************************************************
00905   //
00906   // GetSelectInfo()
00907   //
00935   HRESULT GetSelectInfo (
00936     [in] IAAFSourceMob * fileMob,
00937     [in] IAAFEssenceStream * stream,
00938     [out] aafSelectInfo_t *  pSelectInfo);
00939 
00940 
00941   //***********************************************************
00942   //
00943   // ValidateEssence()
00944   //
00975   HRESULT ValidateEssence (
00976     [in] IAAFSourceMob * fileMob,
00977     [in] IAAFEssenceStream * stream,
00978     [in] aafCheckVerbose_t  verbose,
00979     [in] aafCheckWarnings_t  outputWarnings,
00980     [in] aafUInt32  bufSize,
00981     [out, size_is(bufSize), length_is(*pBytesRead)] aafCharacter *  pErrorText,
00982     [out] aafUInt32*  pBytesRead);
00983 
00984 
00985   //***********************************************************
00986   //
00987   // Create()
00988   //
01016   HRESULT Create (
01017     [in] IAAFSourceMob * fileMob,
01018     [in, ref] aafUID_constref  flavour,
01019     [in, ref] aafUID_constref  essenceKind,
01020     [in, ref] aafRational_constref  sampleRate,
01021     [in] IAAFEssenceStream * stream,
01022     [in] aafCompressEnable_t  compEnable);
01023 
01024 
01025   //***********************************************************
01026   //
01027   // Open()
01028   //
01052   HRESULT Open (
01053     [in] IAAFSourceMob * fileMob,
01054     [in] aafMediaOpenMode_t  openMode,
01055     [in] IAAFEssenceStream * stream,
01056     [in] aafCompressEnable_t  compEnable);
01057         
01058 
01064 
01065 
01066   //***********************************************************
01067   //
01068   // CountSamples()
01069   //
01087   HRESULT CountSamples (
01088     [in, ref] aafUID_constref  essenceKind,
01089     [out] aafLength_t *  pNumSamples);
01090 
01091 
01092   //***********************************************************
01093   //
01094   // WriteSamples()
01095   //
01128   HRESULT WriteSamples (
01129     [in] aafUInt32  nSamples,
01130     [in] aafUInt32  buflen,
01131     [in,size_is(buflen)] aafDataBuffer_t  buffer,
01132     [out, ref] aafUInt32 *  samplesWritten,
01133     [out, ref] aafUInt32 *  bytesWritten);
01134 
01135 
01136   //***********************************************************
01137   //
01138   // ReadSamples()
01139   //
01170   HRESULT ReadSamples (
01171     [in] aafUInt32  nSamples,
01172     [in] aafUInt32  buflen,
01173     [out, size_is(buflen),length_is(*bytesRead)] aafDataBuffer_t  buffer,
01174     [out, ref] aafUInt32 *  samplesRead,
01175     [out, ref] aafUInt32 *  bytesRead);
01176 
01177 
01178   //***********************************************************
01179   //
01180   // Seek()
01181   //
01198   HRESULT Seek (
01199     [in] aafPosition_t  sampleFrame);
01200 
01201 
01202   //***********************************************************
01203   //
01204   // CompleteWrite()
01205   //
01233   HRESULT CompleteWrite (
01234     [in] IAAFSourceMob * pFileMob);
01235 
01236 
01241         
01242 
01243   //***********************************************************
01244   //
01245   // CreateDescriptorFromStream()
01246   //
01263   HRESULT CreateDescriptorFromStream (
01264     [in] IAAFEssenceStream * pStream,
01265     [in] IAAFSourceMob * pSourceMob);
01266 
01267 
01268   //***********************************************************
01269   //
01270   // GetCurrentEssenceStream()
01271   //
01286   HRESULT GetCurrentEssenceStream (
01287     [out] IAAFEssenceStream ** ppStream);
01288 
01289         
01290   //***********************************************************
01291   //
01292   // PutEssenceFormat()
01293   //
01324   HRESULT PutEssenceFormat (
01325     [in] IAAFEssenceFormat * pFormat);
01326 
01327 
01328   //***********************************************************
01329   //
01330   // GetEssenceFormat()
01331   //
01364   HRESULT GetEssenceFormat (
01365     [in] IAAFEssenceFormat * pFormatTemplate,
01366     [out] IAAFEssenceFormat ** ppNewFormat);
01367 
01368                 
01369   //***********************************************************
01370   //
01371   // GetDefaultEssenceFormat()
01372   //
01395   HRESULT GetDefaultEssenceFormat (
01396     [out] IAAFEssenceFormat ** ppNewFormat);
01397 
01398 
01399   //***********************************************************
01400   //
01401   // GetEssenceDescriptorID()
01402   //
01418   HRESULT GetEssenceDescriptorID (
01419     [out] aafUID_t *  pDescriptorID);
01420 
01421 
01422   //***********************************************************
01423   //
01424   // GetEssenceDataID()
01425   //
01441   HRESULT GetEssenceDataID (
01442     [out] aafUID_t *  pEssenceDataID);
01443 
01444 
01445   //***********************************************************
01446   //
01447   // GetIndexedSampleSize()
01448   //
01468   HRESULT GetIndexedSampleSize (
01469     [in, ref] aafUID_constref  essenceDefID,
01470     [in] aafPosition_t  sampleOffset,
01471     [out] aafLength_t *  pLength);
01472 
01473 
01474   //***********************************************************
01475   //
01476   // GetLargestSampleSize()
01477   //
01496   HRESULT GetLargestSampleSize (
01497     [in, ref] aafUID_constref  essenceDefID,
01498     [out] aafLength_t *  pLength);
01499 
01500 
01501 
01502 
01503 }
01504 
01505 
01506 // ************************
01507 //
01508 // Interface IAAFEssenceCodec2
01509 //
01510 // ************************
01515 
01516 
01520 [
01521     object,
01522     uuid(8888F7A2-9121-11d2-8088-006008143e6f),
01523     helpstring("IAAFEssenceCodec2 Interface"),
01524     pointer_default(unique)
01525 ]
01526 interface IAAFEssenceCodec2 : IUnknown
01527 {
01528 
01529 
01530 
01531   //***********************************************************
01532   //
01533   // SetFlavour()
01534   //
01552   HRESULT SetFlavour (
01553     [in, ref] aafUID_constref  flavour);
01554 
01555 }
01556 
01557 
01558 
01559 // ************************
01560 //
01561 // Interface IAAFMultiEssenceCodec
01562 //
01563 // ************************
01564 
01565 
01566 
01588 
01589 
01593 [
01594     object,
01595     uuid(7F93992D-DDA3-11d3-8008-00104bc9156d),
01596     helpstring("IAAFMultiEssenceCodec Interface"),
01597     pointer_default(unique)
01598 ]
01599 interface IAAFMultiEssenceCodec : IUnknown
01600 {
01601 
01602 
01608 
01609         
01618 
01619 
01620   //***********************************************************
01621   //
01622   // MultiCreate()
01623   //
01651   HRESULT MultiCreate (
01652     [in] IAAFSourceMob * fileMob,
01653     [in, ref] aafUID_constref  flavour,
01654     [in] IAAFEssenceStream * stream,
01655     [in] aafCompressEnable_t  compEnable,
01656     [in] aafUInt32  numParms,
01657     [in, size_is(numParms)] aafmMultiCreate_t *  createParms);
01658 
01659 
01660   //***********************************************************
01661   //
01662   // MultiOpen()
01663   //
01683   HRESULT MultiOpen (
01684     [in] IAAFSourceMob * fileMob,
01685     [in] aafMediaOpenMode_t  openMode,
01686     [in] IAAFEssenceStream * stream,
01687     [in] aafCompressEnable_t  compEnable);
01688         
01689 
01695 
01696 
01697 
01698 
01699   //***********************************************************
01700   //
01701   // WriteBlocks()
01702   //
01737   HRESULT WriteBlocks (
01738     [in] aafDeinterleave_t  inter,
01739     [in] aafUInt16  xferBlockCount,
01740     [in, size_is(xferBlockCount)] aafmMultiXfer_t *  pTransferParm,
01741     [out, size_is(xferBlockCount)] aafmMultiResult_t *  pResultParm);
01742 
01743   //***********************************************************
01744   //
01745   // ReadBlocks()
01746   //
01779   HRESULT ReadBlocks (
01780     [in] aafDeinterleave_t  inter,
01781     [in] aafUInt16  xferBlockCount,
01782     [out, size_is(xferBlockCount)] aafmMultiXfer_t *  pTransferParm,
01783     [out, size_is(xferBlockCount)] aafmMultiResult_t *  pResultParm);
01784 }
01785 
01786 
01787 
01788 // ************************
01789 //
01790 // Interface IAAFEssenceContainer
01791 //
01792 // ************************
01805 
01806 [
01807     object,
01808     uuid(a7337031-c103-11d2-808a-006008143e6f),
01809     helpstring("IAAFEssenceContainer Interface"),
01810     pointer_default(unique)
01811 ]
01812 interface IAAFEssenceContainer : IUnknown
01813 {
01814 
01815   //***********************************************************
01816   //
01817   // CreateEssenceStream()
01818   //
01840   HRESULT CreateEssenceStream (
01841     [in, string] aafCharacter_constptr  pName,
01842     [in] aafMobID_constptr  pMobID,
01843     [out, retval] IAAFEssenceStream ** ppEssenceStream);
01844 
01845 
01846   //***********************************************************
01847   //
01848   // CreateEssenceStreamWriteOnly()
01849   //
01871   HRESULT CreateEssenceStreamWriteOnly (
01872     [in, string] aafCharacter_constptr  pPath,
01873     [in] aafMobID_constptr  pMobID,
01874     [out, retval] IAAFEssenceStream ** ppEssenceStream);
01875 
01876 
01877   //***********************************************************
01878   //
01879   // OpenEssenceStreamReadOnly()
01880   //
01904   HRESULT OpenEssenceStreamReadOnly (
01905     [in, string] aafCharacter_constptr  pFilePath,
01906     [in] aafMobID_constptr  pMobID,
01907     [out, retval] IAAFEssenceStream ** ppEssenceStream);
01908 
01909 
01910   //***********************************************************
01911   //
01912   // OpenEssenceStreamAppend()
01913   //
01937   HRESULT OpenEssenceStreamAppend (
01938     [in, string] aafCharacter_constptr  pFilePath,
01939     [in] aafMobID_constptr  pMobID,
01940     [out, retval] IAAFEssenceStream ** ppEssenceStream);
01941 }
01942 
01943 
01944 
01945 // ************************
01946 //
01947 // Interface IAAFInterpolator
01948 //
01949 // ************************
01950 
01970 
01971 
01975 [
01976     object,
01977     uuid(75C6CDF2-0D67-11d3-80A9-006008143e6f),
01978     helpstring("IAAFInterpolator Interface"),
01979     pointer_default(unique)
01980 ]
01981 interface IAAFInterpolator : IUnknown
01982 {
01983 
01984 
01990 
01991   //***********************************************************
01992   //
01993   // GetNumTypesSupported()
01994   //
02015   HRESULT GetNumTypesSupported (
02016     [out] aafUInt32*  pCount);
02017 
02018 
02019   //***********************************************************
02020   //
02021   // GetIndexedSupportedType()
02022   //
02049   HRESULT GetIndexedSupportedType (
02050     [in] aafUInt32  index,
02051     [out] IAAFTypeDef ** ppType);
02052 
02053   //***********************************************************
02054   //
02055   // GetTypeDefinition()
02056   //
02080   HRESULT GetTypeDefinition (
02081     [out] IAAFTypeDef ** ppTypeDef);
02082 
02083 
02084   //***********************************************************
02085   //
02086   // SetTypeDefinition()
02087   //
02105   HRESULT SetTypeDefinition (
02106     [in] IAAFTypeDef * pTypeDef);
02107 
02108 
02109   //***********************************************************
02110   //
02111   // GetParameter()
02112   //
02136   HRESULT GetParameter (
02137     [out] IAAFParameter ** ppParameter);
02138 
02139 
02140   //***********************************************************
02141   //
02142   // SetParameter()
02143   //
02161   HRESULT SetParameter (
02162     [in] IAAFParameter * pParameter);
02163 
02164 
02165   //***********************************************************
02166   //
02167   // InterpolateOne()
02168   //
02196   HRESULT InterpolateOne (
02197     [in] aafRational_t *  pInputValue,
02198     [in] aafUInt32  valueSize,
02199     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  pValue,
02200     [out] aafUInt32*  bytesRead);
02201 
02202 
02203   //***********************************************************
02204   //
02205   // InterpolateMany()
02206   //
02240   HRESULT InterpolateMany (
02241     [in] aafRational_t *  pStartInputValue,
02242     [in] aafRational_t *  pInputStep,
02243     [in] aafUInt32  generateCount,
02244     [out] aafMemPtr_t  pOutputValue,
02245     [out] aafUInt32 *  pResultCount);
02246 }
02247 

Generated on Thu Feb 17 09:34:31 2005 for by doxygen 1.4.1