AAFA Developer Support

AAFPlugin.idl
Go to the documentation of this file.
00001 
00005 cpp_quote("//=---------------------------------------------------------------------=")
00006 cpp_quote("//")
00007 cpp_quote("// This file was GENERATED for the AAF SDK")
00008 cpp_quote("//")
00009 cpp_quote("// $Id: AAFPlugin.idl,v 1.23 2012/06/26 20:54:40 jptrainor Exp $ $Name:  $")
00010 cpp_quote("//")
00011 cpp_quote("// The contents of this file are subject to the AAF SDK Public Source")
00012 cpp_quote("// License Agreement Version 2.0 (the \"License\"); You may not use this")
00013 cpp_quote("// file except in compliance with the License.  The License is available")
00014 cpp_quote("// in AAFSDKPSL.TXT, or you may obtain a copy of the License from the")
00015 cpp_quote("// Advanced Media Workflow Association, Inc., or its successor.")
00016 cpp_quote("//")
00017 cpp_quote("// Software distributed under the License is distributed on an \"AS IS\"")
00018 cpp_quote("// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See")
00019 cpp_quote("// the License for the specific language governing rights and limitations")
00020 cpp_quote("// under the License.  Refer to Section 3.3 of the License for proper use")
00021 cpp_quote("// of this Exhibit.")
00022 cpp_quote("//")
00023 cpp_quote("// WARNING:  Please contact the Advanced Media Workflow Association,")
00024 cpp_quote("// Inc., for more information about any additional licenses to")
00025 cpp_quote("// intellectual property covering the AAF Standard that may be required")
00026 cpp_quote("// to create and distribute AAF compliant products.")
00027 cpp_quote("// (http://www.amwa.tv/policies).")
00028 cpp_quote("//")
00029 cpp_quote("// Copyright Notices:")
00030 cpp_quote("// The Original Code of this file is Copyright 1998-2012, licensor of the")
00031 cpp_quote("// Advanced Media Workflow Association.  All rights reserved.")
00032 cpp_quote("//")
00033 cpp_quote("// The Initial Developer of the Original Code of this file and the")
00034 cpp_quote("// licensor of the Advanced Media Workflow Association is")
00035 cpp_quote("// Avid Technology.")
00036 cpp_quote("// All rights reserved.")
00037 cpp_quote("//")
00038 cpp_quote("//=---------------------------------------------------------------------=")
00039 
00040 cpp_quote("//=--------------------------------------------------------------------------=")
00041 cpp_quote("// AAF Interfaces.")
00042 cpp_quote("//=--------------------------------------------------------------------------=")
00043 cpp_quote("//")
00044 
00045 #ifndef DO_NO_IMPORTS
00046 import "unknwn.idl";
00047 #endif
00048 
00049 #ifndef DO_NO_IMPORTS
00050 import "objidl.idl";
00051 #endif
00052 
00053 #ifndef DO_NO_IMPORTS
00054 import "AAF.idl";
00055 #endif
00056 
00057 #ifndef DO_NO_IMPORTS
00058 import "AAFPluginTypes.idl";
00059 #endif
00060 
00061 interface IAAFClassExtension;
00062 interface IAAFEssenceCodec;
00063 interface IAAFEssenceCodec2;
00064 interface IAAFEssenceCodec3;
00065 interface IAAFEssenceContainer;
00066 interface IAAFEssenceDataStream;
00067 interface IAAFEssenceDataStream2;
00068 interface IAAFEssenceStream;
00069 interface IAAFInterpolator;
00070 interface IAAFMultiEssenceCodec;
00071 interface IAAFPlugin;
00072 
00073 
00074 // ************************
00075 //
00076 // Interface IAAFClassExtension
00077 //
00078 // ************************
00079 
00080 
00091 [
00092     object,
00093     uuid(65C07344-DF36-11d3-8008-00104bc9156d),
00094     helpstring("IAAFClassExtension Interface"),
00095     pointer_default(unique)
00096 ]
00097 interface IAAFClassExtension : IUnknown
00098 {
00099 
00100 
00101   //***********************************************************
00102   //
00103   // RegisterDefinitions()
00104   //
00124   HRESULT RegisterDefinitions (
00125     [in] IAAFDictionary * pDictionary);
00126 
00127 }
00128 
00129 
00130 
00131 // ************************
00132 //
00133 // Interface IAAFEssenceCodec
00134 //
00135 // ************************
00136 
00137 
00138 
00162 
00163 
00167 [
00168     object,
00169     uuid(3631F7A2-9121-11d2-8088-006008143e6f),
00170     helpstring("IAAFEssenceCodec Interface"),
00171     pointer_default(unique)
00172 ]
00173 interface IAAFEssenceCodec : IUnknown
00174 {
00175 
00181 
00182 
00183   //***********************************************************
00184   //
00185   // SetEssenceAccess()
00186   //
00210   HRESULT SetEssenceAccess (
00211     [in] IAAFEssenceAccess * pEssenceAccess);
00212 
00213 
00214 
00215   //***********************************************************
00216   //
00217   // CountFlavours()
00218   //
00236   HRESULT CountFlavours (
00237     [out] aafUInt32*  pCount);
00238 
00239 
00240   //***********************************************************
00241   //
00242   // GetIndexedFlavourID()
00243   //
00266   HRESULT GetIndexedFlavourID (
00267     [in] aafUInt32  index,
00268     [out] aafUID_t *  pVariant);
00269 
00270 
00271   //***********************************************************
00272   //
00273   // CountDataDefinitions()
00274   //
00292   HRESULT CountDataDefinitions (
00293     [out] aafUInt32*  pCount);
00294 
00295 
00296   //***********************************************************
00297   //
00298   // GetIndexedDataDefinition()
00299   //
00319   HRESULT GetIndexedDataDefinition (
00320     [in] aafUInt32  index,
00321     [out] aafUID_t *  pDataDefID);
00322 
00323 
00324   //***********************************************************
00325   //
00326   // GetMaxCodecDisplayNameLength()
00327   //
00345   HRESULT GetMaxCodecDisplayNameLength (
00346     [out] aafUInt32*  pBufSize);
00347 
00348 
00349   //***********************************************************
00350   //
00351   // GetCodecDisplayName()
00352   //
00369   HRESULT GetCodecDisplayName (
00370     [in, ref] aafUID_constref  flavour,
00371     [out, string, size_is(bufSize)] aafCharacter *  pName,
00372     [in] aafUInt32  bufSize);
00373 
00374         
00383 
00384 
00385   //***********************************************************
00386   //
00387   // CountChannels()
00388   //
00418   HRESULT CountChannels (
00419     [in] IAAFSourceMob * fileMob,
00420     [in, ref] aafUID_constref  essenceKind,
00421     [in] IAAFEssenceStream * stream,
00422     [out] aafUInt16 *  pNumChannels);
00423 
00424 
00425   //***********************************************************
00426   //
00427   // GetSelectInfo()
00428   //
00456   HRESULT GetSelectInfo (
00457     [in] IAAFSourceMob * fileMob,
00458     [in] IAAFEssenceStream * stream,
00459     [out] aafSelectInfo_t *  pSelectInfo);
00460 
00461 
00462   //***********************************************************
00463   //
00464   // ValidateEssence()
00465   //
00496   HRESULT ValidateEssence (
00497     [in] IAAFSourceMob * fileMob,
00498     [in] IAAFEssenceStream * stream,
00499     [in] aafCheckVerbose_t  verbose,
00500     [in] aafCheckWarnings_t  outputWarnings,
00501     [in] aafUInt32  bufSize,
00502     [out, size_is(bufSize), length_is(*pBytesRead)] aafCharacter *  pErrorText,
00503     [out] aafUInt32*  pBytesRead);
00504 
00505 
00506   //***********************************************************
00507   //
00508   // Create()
00509   //
00537   HRESULT Create (
00538     [in] IAAFSourceMob * fileMob,
00539     [in, ref] aafUID_constref  flavour,
00540     [in, ref] aafUID_constref  essenceKind,
00541     [in, ref] aafRational_constref  sampleRate,
00542     [in] IAAFEssenceStream * stream,
00543     [in] aafCompressEnable_t  compEnable);
00544 
00545 
00546   //***********************************************************
00547   //
00548   // Open()
00549   //
00573   HRESULT Open (
00574     [in] IAAFSourceMob * fileMob,
00575     [in] aafMediaOpenMode_t  openMode,
00576     [in] IAAFEssenceStream * stream,
00577     [in] aafCompressEnable_t  compEnable);
00578         
00579 
00585 
00586 
00587   //***********************************************************
00588   //
00589   // CountSamples()
00590   //
00608   HRESULT CountSamples (
00609     [in, ref] aafUID_constref  essenceKind,
00610     [out] aafLength_t *  pNumSamples);
00611 
00612 
00613   //***********************************************************
00614   //
00615   // WriteSamples()
00616   //
00649   HRESULT WriteSamples (
00650     [in] aafUInt32  nSamples,
00651     [in] aafUInt32  buflen,
00652     [in,size_is(buflen)] aafDataBuffer_t  buffer,
00653     [out, ref] aafUInt32 *  samplesWritten,
00654     [out, ref] aafUInt32 *  bytesWritten);
00655 
00656 
00657   //***********************************************************
00658   //
00659   // ReadSamples()
00660   //
00691   HRESULT ReadSamples (
00692     [in] aafUInt32  nSamples,
00693     [in] aafUInt32  buflen,
00694     [out, size_is(buflen),length_is(*bytesRead)] aafDataBuffer_t  buffer,
00695     [out, ref] aafUInt32 *  samplesRead,
00696     [out, ref] aafUInt32 *  bytesRead);
00697 
00698 
00699   //***********************************************************
00700   //
00701   // Seek()
00702   //
00719   HRESULT Seek (
00720     [in] aafPosition_t  sampleFrame);
00721 
00722 
00723   //***********************************************************
00724   //
00725   // CompleteWrite()
00726   //
00754   HRESULT CompleteWrite (
00755     [in] IAAFSourceMob * pFileMob);
00756 
00757 
00762         
00763 
00764   //***********************************************************
00765   //
00766   // CreateDescriptorFromStream()
00767   //
00784   HRESULT CreateDescriptorFromStream (
00785     [in] IAAFEssenceStream * pStream,
00786     [in] IAAFSourceMob * pSourceMob);
00787 
00788 
00789   //***********************************************************
00790   //
00791   // GetCurrentEssenceStream()
00792   //
00807   HRESULT GetCurrentEssenceStream (
00808     [out] IAAFEssenceStream ** ppStream);
00809 
00810         
00811   //***********************************************************
00812   //
00813   // PutEssenceFormat()
00814   //
00845   HRESULT PutEssenceFormat (
00846     [in] IAAFEssenceFormat * pFormat);
00847 
00848 
00849   //***********************************************************
00850   //
00851   // GetEssenceFormat()
00852   //
00885   HRESULT GetEssenceFormat (
00886     [in] IAAFEssenceFormat * pFormatTemplate,
00887     [out] IAAFEssenceFormat ** ppNewFormat);
00888 
00889                 
00890   //***********************************************************
00891   //
00892   // GetDefaultEssenceFormat()
00893   //
00916   HRESULT GetDefaultEssenceFormat (
00917     [out] IAAFEssenceFormat ** ppNewFormat);
00918 
00919 
00920   //***********************************************************
00921   //
00922   // GetEssenceDescriptorID()
00923   //
00939   HRESULT GetEssenceDescriptorID (
00940     [out] aafUID_t *  pDescriptorID);
00941 
00942 
00943   //***********************************************************
00944   //
00945   // GetEssenceDataID()
00946   //
00962   HRESULT GetEssenceDataID (
00963     [out] aafUID_t *  pEssenceDataID);
00964 
00965 
00966   //***********************************************************
00967   //
00968   // GetIndexedSampleSize()
00969   //
00989   HRESULT GetIndexedSampleSize (
00990     [in, ref] aafUID_constref  essenceDefID,
00991     [in] aafPosition_t  sampleOffset,
00992     [out] aafLength_t *  pLength);
00993 
00994 
00995   //***********************************************************
00996   //
00997   // GetLargestSampleSize()
00998   //
01017   HRESULT GetLargestSampleSize (
01018     [in, ref] aafUID_constref  essenceDefID,
01019     [out] aafLength_t *  pLength);
01020 
01021 
01022 
01023 
01024 
01025 
01026 
01027 }
01028 
01029 
01030 // ************************
01031 //
01032 // Interface IAAFEssenceCodec2
01033 //
01034 // ************************
01035 
01036 
01037 
01065 [
01066     object,
01067     uuid(8888F7A2-9121-11d2-8088-006008143e6f),
01068     helpstring("IAAFEssenceCodec2 Interface"),
01069     pointer_default(unique)
01070 ]
01071 interface IAAFEssenceCodec2 : IUnknown
01072 {
01073 
01074 
01075 
01076 
01077 
01078   //***********************************************************
01079   //
01080   // SetEssenceAccess()
01081   //
01105   HRESULT SetEssenceAccess (
01106     [in] IAAFEssenceAccess * pEssenceAccess);
01107 
01108 
01109 
01110   //***********************************************************
01111   //
01112   // CountFlavours()
01113   //
01131   HRESULT CountFlavours (
01132     [out] aafUInt32*  pCount);
01133 
01134 
01135   //***********************************************************
01136   //
01137   // GetIndexedFlavourID()
01138   //
01161   HRESULT GetIndexedFlavourID (
01162     [in] aafUInt32  index,
01163     [out] aafUID_t *  pVariant);
01164 
01165 
01166   //***********************************************************
01167   //
01168   // CountDataDefinitions()
01169   //
01187   HRESULT CountDataDefinitions (
01188     [out] aafUInt32*  pCount);
01189 
01190 
01191   //***********************************************************
01192   //
01193   // GetIndexedDataDefinition()
01194   //
01214   HRESULT GetIndexedDataDefinition (
01215     [in] aafUInt32  index,
01216     [out] aafUID_t *  pDataDefID);
01217 
01218 
01219   //***********************************************************
01220   //
01221   // GetMaxCodecDisplayNameLength()
01222   //
01240   HRESULT GetMaxCodecDisplayNameLength (
01241     [out] aafUInt32*  pBufSize);
01242 
01243 
01244   //***********************************************************
01245   //
01246   // GetCodecDisplayName()
01247   //
01264   HRESULT GetCodecDisplayName (
01265     [in, ref] aafUID_constref  flavour,
01266     [out, string, size_is(bufSize)] aafCharacter *  pName,
01267     [in] aafUInt32  bufSize);
01268 
01269         
01278 
01279 
01280   //***********************************************************
01281   //
01282   // CountChannels()
01283   //
01313   HRESULT CountChannels (
01314     [in] IAAFSourceMob * fileMob,
01315     [in, ref] aafUID_constref  essenceKind,
01316     [in] IAAFEssenceStream * stream,
01317     [out] aafUInt16 *  pNumChannels);
01318 
01319 
01320   //***********************************************************
01321   //
01322   // GetSelectInfo()
01323   //
01351   HRESULT GetSelectInfo (
01352     [in] IAAFSourceMob * fileMob,
01353     [in] IAAFEssenceStream * stream,
01354     [out] aafSelectInfo_t *  pSelectInfo);
01355 
01356 
01357   //***********************************************************
01358   //
01359   // ValidateEssence()
01360   //
01391   HRESULT ValidateEssence (
01392     [in] IAAFSourceMob * fileMob,
01393     [in] IAAFEssenceStream * stream,
01394     [in] aafCheckVerbose_t  verbose,
01395     [in] aafCheckWarnings_t  outputWarnings,
01396     [in] aafUInt32  bufSize,
01397     [out, size_is(bufSize), length_is(*pBytesRead)] aafCharacter *  pErrorText,
01398     [out] aafUInt32*  pBytesRead);
01399 
01400 
01401   //***********************************************************
01402   //
01403   // Create()
01404   //
01432   HRESULT Create (
01433     [in] IAAFSourceMob * fileMob,
01434     [in, ref] aafUID_constref  flavour,
01435     [in, ref] aafUID_constref  essenceKind,
01436     [in, ref] aafRational_constref  sampleRate,
01437     [in] IAAFEssenceStream * stream,
01438     [in] aafCompressEnable_t  compEnable);
01439 
01440 
01441   //***********************************************************
01442   //
01443   // Open()
01444   //
01468   HRESULT Open (
01469     [in] IAAFSourceMob * fileMob,
01470     [in] aafMediaOpenMode_t  openMode,
01471     [in] IAAFEssenceStream * stream,
01472     [in] aafCompressEnable_t  compEnable);
01473         
01474 
01480 
01481 
01482   //***********************************************************
01483   //
01484   // CountSamples()
01485   //
01503   HRESULT CountSamples (
01504     [in, ref] aafUID_constref  essenceKind,
01505     [out] aafLength_t *  pNumSamples);
01506 
01507 
01508   //***********************************************************
01509   //
01510   // WriteSamples()
01511   //
01544   HRESULT WriteSamples (
01545     [in] aafUInt32  nSamples,
01546     [in] aafUInt32  buflen,
01547     [in,size_is(buflen)] aafDataBuffer_t  buffer,
01548     [out, ref] aafUInt32 *  samplesWritten,
01549     [out, ref] aafUInt32 *  bytesWritten);
01550 
01551 
01552   //***********************************************************
01553   //
01554   // ReadSamples()
01555   //
01586   HRESULT ReadSamples (
01587     [in] aafUInt32  nSamples,
01588     [in] aafUInt32  buflen,
01589     [out, size_is(buflen),length_is(*bytesRead)] aafDataBuffer_t  buffer,
01590     [out, ref] aafUInt32 *  samplesRead,
01591     [out, ref] aafUInt32 *  bytesRead);
01592 
01593 
01594   //***********************************************************
01595   //
01596   // Seek()
01597   //
01614   HRESULT Seek (
01615     [in] aafPosition_t  sampleFrame);
01616 
01617 
01618   //***********************************************************
01619   //
01620   // CompleteWrite()
01621   //
01649   HRESULT CompleteWrite (
01650     [in] IAAFSourceMob * pFileMob);
01651 
01652 
01657         
01658 
01659   //***********************************************************
01660   //
01661   // CreateDescriptorFromStream()
01662   //
01679   HRESULT CreateDescriptorFromStream (
01680     [in] IAAFEssenceStream * pStream,
01681     [in] IAAFSourceMob * pSourceMob);
01682 
01683 
01684   //***********************************************************
01685   //
01686   // GetCurrentEssenceStream()
01687   //
01702   HRESULT GetCurrentEssenceStream (
01703     [out] IAAFEssenceStream ** ppStream);
01704 
01705         
01706   //***********************************************************
01707   //
01708   // PutEssenceFormat()
01709   //
01740   HRESULT PutEssenceFormat (
01741     [in] IAAFEssenceFormat * pFormat);
01742 
01743 
01744   //***********************************************************
01745   //
01746   // GetEssenceFormat()
01747   //
01780   HRESULT GetEssenceFormat (
01781     [in] IAAFEssenceFormat * pFormatTemplate,
01782     [out] IAAFEssenceFormat ** ppNewFormat);
01783 
01784                 
01785   //***********************************************************
01786   //
01787   // GetDefaultEssenceFormat()
01788   //
01811   HRESULT GetDefaultEssenceFormat (
01812     [out] IAAFEssenceFormat ** ppNewFormat);
01813 
01814 
01815   //***********************************************************
01816   //
01817   // GetEssenceDescriptorID()
01818   //
01834   HRESULT GetEssenceDescriptorID (
01835     [out] aafUID_t *  pDescriptorID);
01836 
01837 
01838   //***********************************************************
01839   //
01840   // GetEssenceDataID()
01841   //
01857   HRESULT GetEssenceDataID (
01858     [out] aafUID_t *  pEssenceDataID);
01859 
01860 
01861   //***********************************************************
01862   //
01863   // GetIndexedSampleSize()
01864   //
01884   HRESULT GetIndexedSampleSize (
01885     [in, ref] aafUID_constref  essenceDefID,
01886     [in] aafPosition_t  sampleOffset,
01887     [out] aafLength_t *  pLength);
01888 
01889 
01890   //***********************************************************
01891   //
01892   // GetLargestSampleSize()
01893   //
01912   HRESULT GetLargestSampleSize (
01913     [in, ref] aafUID_constref  essenceDefID,
01914     [out] aafLength_t *  pLength);
01915 
01916 
01917   //***********************************************************
01918   //
01919   // SetFlavour()
01920   //
01938   HRESULT SetFlavour (
01939     [in, ref] aafUID_constref  flavour);
01940 
01941 }
01942 
01943 
01944 
01945 // ************************
01946 //
01947 // Interface IAAFEssenceCodec3
01948 //
01949 // ************************
01950 
01951 
01952 
01980 [
01981     object,
01982     uuid(F375A58F-EB6A-49C7-90A2-7937329AE0E4),
01983     helpstring("IAAFEssenceCodec3 Interface"),
01984     pointer_default(unique)
01985 ]
01986 interface IAAFEssenceCodec3 : IUnknown
01987 {
01988 
01989 
01990 
01991 
01992 
01993   //***********************************************************
01994   //
01995   // SetEssenceAccess()
01996   //
02020   HRESULT SetEssenceAccess (
02021     [in] IAAFEssenceAccess * pEssenceAccess);
02022 
02023 
02024 
02025   //***********************************************************
02026   //
02027   // CountFlavours()
02028   //
02046   HRESULT CountFlavours (
02047     [out] aafUInt32*  pCount);
02048 
02049 
02050   //***********************************************************
02051   //
02052   // GetIndexedFlavourID()
02053   //
02076   HRESULT GetIndexedFlavourID (
02077     [in] aafUInt32  index,
02078     [out] aafUID_t *  pVariant);
02079 
02080 
02081   //***********************************************************
02082   //
02083   // CountDataDefinitions()
02084   //
02102   HRESULT CountDataDefinitions (
02103     [out] aafUInt32*  pCount);
02104 
02105 
02106   //***********************************************************
02107   //
02108   // GetIndexedDataDefinition()
02109   //
02129   HRESULT GetIndexedDataDefinition (
02130     [in] aafUInt32  index,
02131     [out] aafUID_t *  pDataDefID);
02132 
02133 
02134   //***********************************************************
02135   //
02136   // GetMaxCodecDisplayNameLength()
02137   //
02155   HRESULT GetMaxCodecDisplayNameLength (
02156     [out] aafUInt32*  pBufSize);
02157 
02158 
02159   //***********************************************************
02160   //
02161   // GetCodecDisplayName()
02162   //
02179   HRESULT GetCodecDisplayName (
02180     [in, ref] aafUID_constref  flavour,
02181     [out, string, size_is(bufSize)] aafCharacter *  pName,
02182     [in] aafUInt32  bufSize);
02183 
02184         
02193 
02194 
02195   //***********************************************************
02196   //
02197   // CountChannels()
02198   //
02228   HRESULT CountChannels (
02229     [in] IAAFSourceMob * fileMob,
02230     [in, ref] aafUID_constref  essenceKind,
02231     [in] IAAFEssenceStream * stream,
02232     [out] aafUInt16 *  pNumChannels);
02233 
02234 
02235   //***********************************************************
02236   //
02237   // GetSelectInfo()
02238   //
02266   HRESULT GetSelectInfo (
02267     [in] IAAFSourceMob * fileMob,
02268     [in] IAAFEssenceStream * stream,
02269     [out] aafSelectInfo_t *  pSelectInfo);
02270 
02271 
02272   //***********************************************************
02273   //
02274   // ValidateEssence()
02275   //
02306   HRESULT ValidateEssence (
02307     [in] IAAFSourceMob * fileMob,
02308     [in] IAAFEssenceStream * stream,
02309     [in] aafCheckVerbose_t  verbose,
02310     [in] aafCheckWarnings_t  outputWarnings,
02311     [in] aafUInt32  bufSize,
02312     [out, size_is(bufSize), length_is(*pBytesRead)] aafCharacter *  pErrorText,
02313     [out] aafUInt32*  pBytesRead);
02314 
02315 
02316   //***********************************************************
02317   //
02318   // Create()
02319   //
02347   HRESULT Create (
02348     [in] IAAFSourceMob * fileMob,
02349     [in, ref] aafUID_constref  flavour,
02350     [in, ref] aafUID_constref  essenceKind,
02351     [in, ref] aafRational_constref  sampleRate,
02352     [in] IAAFEssenceStream * stream,
02353     [in] aafCompressEnable_t  compEnable);
02354 
02355 
02356   //***********************************************************
02357   //
02358   // Open()
02359   //
02383   HRESULT Open (
02384     [in] IAAFSourceMob * fileMob,
02385     [in] aafMediaOpenMode_t  openMode,
02386     [in] IAAFEssenceStream * stream,
02387     [in] aafCompressEnable_t  compEnable);
02388         
02389 
02395 
02396 
02397   //***********************************************************
02398   //
02399   // CountSamples()
02400   //
02418   HRESULT CountSamples (
02419     [in, ref] aafUID_constref  essenceKind,
02420     [out] aafLength_t *  pNumSamples);
02421 
02422 
02423   //***********************************************************
02424   //
02425   // WriteSamples()
02426   //
02459   HRESULT WriteSamples (
02460     [in] aafUInt32  nSamples,
02461     [in] aafUInt32  buflen,
02462     [in,size_is(buflen)] aafDataBuffer_t  buffer,
02463     [out, ref] aafUInt32 *  samplesWritten,
02464     [out, ref] aafUInt32 *  bytesWritten);
02465 
02466 
02467   //***********************************************************
02468   //
02469   // ReadSamples()
02470   //
02501   HRESULT ReadSamples (
02502     [in] aafUInt32  nSamples,
02503     [in] aafUInt32  buflen,
02504     [out, size_is(buflen),length_is(*bytesRead)] aafDataBuffer_t  buffer,
02505     [out, ref] aafUInt32 *  samplesRead,
02506     [out, ref] aafUInt32 *  bytesRead);
02507 
02508 
02509   //***********************************************************
02510   //
02511   // Seek()
02512   //
02529   HRESULT Seek (
02530     [in] aafPosition_t  sampleFrame);
02531 
02532 
02533   //***********************************************************
02534   //
02535   // CompleteWrite()
02536   //
02564   HRESULT CompleteWrite (
02565     [in] IAAFSourceMob * pFileMob);
02566 
02567 
02572         
02573 
02574   //***********************************************************
02575   //
02576   // CreateDescriptorFromStream()
02577   //
02594   HRESULT CreateDescriptorFromStream (
02595     [in] IAAFEssenceStream * pStream,
02596     [in] IAAFSourceMob * pSourceMob);
02597 
02598 
02599   //***********************************************************
02600   //
02601   // GetCurrentEssenceStream()
02602   //
02617   HRESULT GetCurrentEssenceStream (
02618     [out] IAAFEssenceStream ** ppStream);
02619 
02620         
02621   //***********************************************************
02622   //
02623   // PutEssenceFormat()
02624   //
02655   HRESULT PutEssenceFormat (
02656     [in] IAAFEssenceFormat * pFormat);
02657 
02658 
02659   //***********************************************************
02660   //
02661   // GetEssenceFormat()
02662   //
02695   HRESULT GetEssenceFormat (
02696     [in] IAAFEssenceFormat * pFormatTemplate,
02697     [out] IAAFEssenceFormat ** ppNewFormat);
02698 
02699                 
02700   //***********************************************************
02701   //
02702   // GetDefaultEssenceFormat()
02703   //
02726   HRESULT GetDefaultEssenceFormat (
02727     [out] IAAFEssenceFormat ** ppNewFormat);
02728 
02729 
02730   //***********************************************************
02731   //
02732   // GetEssenceDescriptorID()
02733   //
02749   HRESULT GetEssenceDescriptorID (
02750     [out] aafUID_t *  pDescriptorID);
02751 
02752 
02753   //***********************************************************
02754   //
02755   // GetEssenceDataID()
02756   //
02772   HRESULT GetEssenceDataID (
02773     [out] aafUID_t *  pEssenceDataID);
02774 
02775 
02776   //***********************************************************
02777   //
02778   // GetIndexedSampleSize()
02779   //
02799   HRESULT GetIndexedSampleSize (
02800     [in, ref] aafUID_constref  essenceDefID,
02801     [in] aafPosition_t  sampleOffset,
02802     [out] aafLength_t *  pLength);
02803 
02804 
02805   //***********************************************************
02806   //
02807   // GetLargestSampleSize()
02808   //
02827   HRESULT GetLargestSampleSize (
02828     [in, ref] aafUID_constref  essenceDefID,
02829     [out] aafLength_t *  pLength);
02830 
02831 
02832   //***********************************************************
02833   //
02834   // SetFlavour()
02835   //
02853   HRESULT SetFlavour (
02854     [in, ref] aafUID_constref  flavour);
02855 
02856 
02857   //***********************************************************
02858   //
02859   // IsCompressionSupported()
02860   //
02882   HRESULT IsCompressionSupported (
02883     [in] aafUID_constref  compression,
02884     [out,retval] aafBoolean_t*  pIsSupported);
02885 
02886 }
02887 
02888 
02889 
02890 // ************************
02891 //
02892 // Interface IAAFEssenceContainer
02893 //
02894 // ************************
02907 
02908 [
02909     object,
02910     uuid(a7337031-c103-11d2-808a-006008143e6f),
02911     helpstring("IAAFEssenceContainer Interface"),
02912     pointer_default(unique)
02913 ]
02914 interface IAAFEssenceContainer : IUnknown
02915 {
02916 
02917   //***********************************************************
02918   //
02919   // CreateEssenceStream()
02920   //
02942   HRESULT CreateEssenceStream (
02943     [in, string] aafCharacter_constptr  pName,
02944     [in] aafMobID_constptr  pMobID,
02945     [out, retval] IAAFEssenceStream ** ppEssenceStream);
02946 
02947 
02948   //***********************************************************
02949   //
02950   // CreateEssenceStreamWriteOnly()
02951   //
02973   HRESULT CreateEssenceStreamWriteOnly (
02974     [in, string] aafCharacter_constptr  pPath,
02975     [in] aafMobID_constptr  pMobID,
02976     [out, retval] IAAFEssenceStream ** ppEssenceStream);
02977 
02978 
02979   //***********************************************************
02980   //
02981   // OpenEssenceStreamReadOnly()
02982   //
03006   HRESULT OpenEssenceStreamReadOnly (
03007     [in, string] aafCharacter_constptr  pFilePath,
03008     [in] aafMobID_constptr  pMobID,
03009     [out, retval] IAAFEssenceStream ** ppEssenceStream);
03010 
03011 
03012   //***********************************************************
03013   //
03014   // OpenEssenceStreamAppend()
03015   //
03039   HRESULT OpenEssenceStreamAppend (
03040     [in, string] aafCharacter_constptr  pFilePath,
03041     [in] aafMobID_constptr  pMobID,
03042     [out, retval] IAAFEssenceStream ** ppEssenceStream);
03043 }
03044 
03045 
03046 
03047 // ************************
03048 //
03049 // Interface IAAFEssenceDataStream
03050 //
03051 // ************************
03052 
03076 [
03077     object,
03078     uuid(CDDB6AB1-98DC-11d2-808a-006008143e6f),
03079     helpstring("IAAFEssenceDataStream Interface"),
03080     pointer_default(unique)
03081 ]
03082 interface IAAFEssenceDataStream : IUnknown
03083 {
03084 
03085 
03086   //***********************************************************
03087   //
03088   // Init()
03089   //
03094   HRESULT Init (
03095     [in] IUnknown * essenceData);
03096 
03097 }
03098 
03099 
03100 
03101 
03102 // ************************
03103 //
03104 // Interface IAAFEssenceDataStream2
03105 //
03106 // ************************
03107 
03139 [
03140     object,
03141     uuid(F8C9C2A1-DD6B-4e10-884F-012AF43550BC),
03142     helpstring("IAAFEssenceDataStream2 Interface"),
03143     pointer_default(unique)
03144 ]
03145 
03146 interface IAAFEssenceDataStream2 : IUnknown
03147 {
03148 
03149 
03150   //***********************************************************
03151   //
03152   // Init()
03153   //
03158   HRESULT Init (
03159     [in] IUnknown * essenceData);
03160 
03161   //***********************************************************
03162   //
03163   // GetEssenceData()
03164   //
03186   HRESULT GetEssenceData (
03187     [out,retval] IAAFEssenceData ** ppEssenceData);
03188 
03189   //***********************************************************
03190   //
03191   // SetEssenceElementKey()
03192   //
03238   HRESULT SetEssenceElementKey (
03239     [in, ref] aafUID_constref  eek,
03240     [in] aafUInt8  eeKind,
03241     [in] aafUInt8  eeCount,
03242     [in] aafUInt8  eeType,
03243     [in] aafUInt8  eeIndex,
03244     [in] aafSlotID_t  sourceSlotID);
03245 
03246   //***********************************************************
03247   //
03248   // GetEssenceElementKey()
03249   //
03277   HRESULT GetEssenceElementKey (
03278     [out] aafUID_t *  pEssenceElementKey);
03279 
03280 }
03281 
03282 
03283 
03284 
03285 // ************************
03286 //
03287 // Interface IAAFEssenceStream
03288 //
03289 // ************************
03290 
03310 
03311 
03312 [
03313     object,
03314     uuid(83402902-9146-11d2-8088-006008143e6f),
03315     helpstring("IAAFEssenceStream Interface"),
03316     pointer_default(unique)
03317 ]
03318 interface IAAFEssenceStream : IUnknown
03319 {
03320 
03321 
03322   //***********************************************************
03323   //
03324   // Write()
03325   //
03346   HRESULT Write (
03347     [in] aafUInt32  bytes,
03348     [out, size_is(bytes)] aafDataBuffer_t  buffer,
03349     [out,ref] aafUInt32 *  bytesWritten);
03350 
03351 
03352   //***********************************************************
03353   //
03354   // Read()
03355   //
03376   HRESULT Read (
03377     [in] aafUInt32  buflen,
03378     [out, size_is(buflen), length_is(*pBytesRead)] aafDataBuffer_t  pBuffer,
03379     [out,ref] aafUInt32 *  pBytesRead);
03380 
03381   //***********************************************************
03382   //
03383   // Seek()
03384   //
03389   HRESULT Seek (
03390     [in] aafPosition_t  byteOffset);
03401 
03402   //***********************************************************
03403   //
03404   // SeekRelative()
03405   //
03420   HRESULT SeekRelative (
03421     [in] aafInt32  byteOffset);
03422 
03423   //***********************************************************
03424   //
03425   // GetPosition()
03426   //
03441   HRESULT GetPosition (
03442     [out] aafPosition_t *  pPosition);
03443 
03444   //***********************************************************
03445   //
03446   // GetLength()
03447   //
03462   HRESULT GetLength (
03463     [out] aafLength_t *  pLength);
03464 
03471 
03472   //***********************************************************
03473   //
03474   // FlushCache()
03475   //
03490   HRESULT FlushCache ();
03491 
03492   //***********************************************************
03493   //
03494   // SetCacheSize()
03495   //
03508   HRESULT SetCacheSize (
03509     [in] aafUInt32  itsSize);
03510 
03511 }
03512 
03513 
03514 
03515 
03516 // ************************
03517 //
03518 // Interface IAAFInterpolator
03519 //
03520 // ************************
03521 
03541 
03542 
03546 [
03547     object,
03548     uuid(75C6CDF2-0D67-11d3-80A9-006008143e6f),
03549     helpstring("IAAFInterpolator Interface"),
03550     pointer_default(unique)
03551 ]
03552 interface IAAFInterpolator : IUnknown
03553 {
03554 
03555 
03561 
03562   //***********************************************************
03563   //
03564   // GetNumTypesSupported()
03565   //
03586   HRESULT GetNumTypesSupported (
03587     [out] aafUInt32*  pCount);
03588 
03589 
03590   //***********************************************************
03591   //
03592   // GetIndexedSupportedType()
03593   //
03620   HRESULT GetIndexedSupportedType (
03621     [in] aafUInt32  index,
03622     [out] IAAFTypeDef ** ppType);
03623 
03624   //***********************************************************
03625   //
03626   // GetTypeDefinition()
03627   //
03651   HRESULT GetTypeDefinition (
03652     [out] IAAFTypeDef ** ppTypeDef);
03653 
03654 
03655   //***********************************************************
03656   //
03657   // SetTypeDefinition()
03658   //
03676   HRESULT SetTypeDefinition (
03677     [in] IAAFTypeDef * pTypeDef);
03678 
03679 
03680   //***********************************************************
03681   //
03682   // GetParameter()
03683   //
03707   HRESULT GetParameter (
03708     [out] IAAFParameter ** ppParameter);
03709 
03710 
03711   //***********************************************************
03712   //
03713   // SetParameter()
03714   //
03732   HRESULT SetParameter (
03733     [in] IAAFParameter * pParameter);
03734 
03735 
03736   //***********************************************************
03737   //
03738   // InterpolateOne()
03739   //
03767   HRESULT InterpolateOne (
03768     [in] aafRational_t *  pInputValue,
03769     [in] aafUInt32  valueSize,
03770     [out, size_is(valueSize),length_is(*bytesRead)] aafDataBuffer_t  pValue,
03771     [out] aafUInt32*  bytesRead);
03772 
03773 
03774   //***********************************************************
03775   //
03776   // InterpolateMany()
03777   //
03811   HRESULT InterpolateMany (
03812     [in] aafRational_t *  pStartInputValue,
03813     [in] aafRational_t *  pInputStep,
03814     [in] aafUInt32  generateCount,
03815     [out] aafMemPtr_t  pOutputValue,
03816     [out] aafUInt32 *  pResultCount);
03817 }
03818 
03819 
03820 
03821 // ************************
03822 //
03823 // Interface IAAFMultiEssenceCodec
03824 //
03825 // ************************
03826 
03827 
03828 
03850 
03851 
03855 [
03856     object,
03857     uuid(7F93992D-DDA3-11d3-8008-00104bc9156d),
03858     helpstring("IAAFMultiEssenceCodec Interface"),
03859     pointer_default(unique)
03860 ]
03861 interface IAAFMultiEssenceCodec : IUnknown
03862 {
03863 
03864 
03870 
03871         
03880 
03881 
03882   //***********************************************************
03883   //
03884   // MultiCreate()
03885   //
03913   HRESULT MultiCreate (
03914     [in] IAAFSourceMob * fileMob,
03915     [in, ref] aafUID_constref  flavour,
03916     [in] IAAFEssenceStream * stream,
03917     [in] aafCompressEnable_t  compEnable,
03918     [in] aafUInt32  numParms,
03919     [in, size_is(numParms)] aafmMultiCreate_t *  createParms);
03920 
03921 
03922   //***********************************************************
03923   //
03924   // MultiOpen()
03925   //
03945   HRESULT MultiOpen (
03946     [in] IAAFSourceMob * fileMob,
03947     [in] aafMediaOpenMode_t  openMode,
03948     [in] IAAFEssenceStream * stream,
03949     [in] aafCompressEnable_t  compEnable);
03950         
03951 
03957 
03958 
03959 
03960 
03961   //***********************************************************
03962   //
03963   // WriteBlocks()
03964   //
03999   HRESULT WriteBlocks (
04000     [in] aafDeinterleave_t  inter,
04001     [in] aafUInt16  xferBlockCount,
04002     [in, size_is(xferBlockCount)] aafmMultiXfer_t *  pTransferParm,
04003     [out, size_is(xferBlockCount)] aafmMultiResult_t *  pResultParm);
04004 
04005   //***********************************************************
04006   //
04007   // ReadBlocks()
04008   //
04041   HRESULT ReadBlocks (
04042     [in] aafDeinterleave_t  inter,
04043     [in] aafUInt16  xferBlockCount,
04044     [out, size_is(xferBlockCount)] aafmMultiXfer_t *  pTransferParm,
04045     [out, size_is(xferBlockCount)] aafmMultiResult_t *  pResultParm);
04046 }
04047 
04048 
04049 
04050 // ************************
04051 //
04052 // Interface IAAFPlugin
04053 //
04054 // ************************
04055 
04056 
04057 
04058 
04059 
04068 
04069 
04070 [
04071     object,
04072     uuid(3631F7A4-9121-11d2-8088-006008143e6f),
04073     helpstring("IAAFPlugin Interface"),
04074     pointer_default(unique)
04075 ]
04076 interface IAAFPlugin : IUnknown
04077 {
04078 
04079 
04080   //***********************************************************
04081   //
04082   // CountDefinitions()
04083   //
04107   HRESULT CountDefinitions (
04108     [out] aafUInt32 *  pDefCount);
04109 
04110   //***********************************************************
04111   //
04112   // GetIndexedDefinitionID()
04113   //
04146   HRESULT GetIndexedDefinitionID (
04147     [in] aafUInt32  index,
04148     [out] aafUID_t *  pPluginID);
04149 
04150   //***********************************************************
04151   //
04152   // GetPluginDescriptorID()
04153   //
04176   HRESULT GetPluginDescriptorID (
04177     [out] aafUID_t *  pPluginID);
04178 
04179   //***********************************************************
04180   //
04181   // GetIndexedDefinitionObject()
04182   //
04216   HRESULT GetIndexedDefinitionObject (
04217     [in] aafUInt32  index,
04218     [in] IAAFDictionary * pDictionary,
04219     [out] IAAFDefObject ** pDefObject);
04220 
04221   //***********************************************************
04222   //
04223   // CreateDescriptor()
04224   //
04251   HRESULT CreateDescriptor (
04252     [in] IAAFDictionary * pDictionary,
04253     [out] IAAFPluginDef ** pPluginDef);
04254 
04255 }
04256 

Generated on Wed Jul 4 2012 22:13:36 for by doxygen 1.7.4