IAAFEssenceStream Interface Reference
List of all members.
Detailed Description
The IAAFEssenceStream interface is an internal interface used by AAFEssenceAccess and essence codecs to read the low-level representation of the essence.
There are multiple classes implementing this interface, each representing a different underlying container holding the essence data. The idea of "container" is separate from any formatting such as WAVE or JPEG. Examples of containers (and therefore streams), are essence embedded in AAF files, and essence in a file all by itself (ex. a WAVE file).
Objects which support this interface must be created by methods in IAAFContainerDef, since the container definition is what is used to differentiate between the different streams. If the stream needs a reference to data other than a file pointer (ex. the AAFContainer makes a stream which needs a reference to a structureed storage stream) will have another interface to support the additional behaviour. For an AAF container, the additional interface is IAAFEssenceDataStream.
NOTE: The SDK will init the representation of this object with the correct path and open the underlying file before handing out an interface pointer. Hence, there is no Open method on the stream.
Definition at line 358 of file AAFPlugin.idl.
|
Public Member Functions |
| HRESULT | Write ([in] aafUInt32 bytes,[out, size_is(bytes)] aafDataBuffer_t buffer,[out, ref] aafUInt32 *bytesWritten) |
| HRESULT | Read ([in] aafUInt32 buflen,[out, size_is(buflen), length_is(*pBytesRead)] aafDataBuffer_t pBuffer,[out, ref] aafUInt32 *pBytesRead) |
| HRESULT | Seek ([in] aafPosition_t byteOffset) |
| | Seek to the absolute byte offset into the stream.
|
| HRESULT | SeekRelative ([in] aafInt32 byteOffset) |
| HRESULT | GetPosition ([out] aafPosition_t *pPosition) |
| HRESULT | GetLength ([out] aafLength_t *pLength) |
| HRESULT | FlushCache () |
| HRESULT | SetCacheSize ([in] aafUInt32 itsSize) |
Member Function Documentation
| HRESULT IAAFEssenceStream::FlushCache |
( |
|
) |
|
|
|
|
This method should return only the following codes. If more than one of the listed errors is in effect\, it should return the first one encountered in the order given below:
AAFRESULT_SUCCESS
- succeeded. \(This is the only code indicating success.\)
AAFRESULT_STREAM_FULL
- The essence can not be written because of a fault such as a disk full error in the underlying operating system.
|
| HRESULT IAAFEssenceStream::GetLength |
( |
[out] aafLength_t * |
pLength |
) |
|
|
|
|
- Parameters:
-
| pLength | [out] The length of the stream. |
|
| HRESULT IAAFEssenceStream::GetPosition |
( |
[out] aafPosition_t * |
pPosition |
) |
|
|
|
|
- Parameters:
-
| pPosition | [out] The position within the stream. |
|
| HRESULT IAAFEssenceStream::Read |
( |
[in] aafUInt32 |
buflen, |
|
|
[out, size_is(buflen), length_is(*pBytesRead)] aafDataBuffer_t |
pBuffer, |
|
|
[out, ref] aafUInt32 * |
pBytesRead |
|
) |
|
|
|
|
- Parameters:
-
| buflen | [in] to a buffer of this size |
| pBuffer | [out, size_is(buflen), length_is(*pBytesRead)] here is the buffer |
| pBytesRead | [out,ref] Return bytes actually read |
|
| HRESULT IAAFEssenceStream::Seek |
( |
[in] aafPosition_t |
byteOffset |
) |
|
|
|
|
Seek to the absolute byte offset into the stream.
- Parameters:
-
| byteOffset | [in] The absolute byte offset into the stream. |
|
| HRESULT IAAFEssenceStream::SeekRelative |
( |
[in] aafInt32 |
byteOffset |
) |
|
|
|
|
- Parameters:
-
| byteOffset | [in] The relative byte offset into the stream. |
|
| HRESULT IAAFEssenceStream::SetCacheSize |
( |
[in] aafUInt32 |
itsSize |
) |
|
|
|
|
- Parameters:
-
| itsSize | [in] The size of the cache buffer. Zero is a valid size, and means to turn caching off |
|
| HRESULT IAAFEssenceStream::Write |
( |
[in] aafUInt32 |
bytes, |
|
|
[out, size_is(bytes)] aafDataBuffer_t |
buffer, |
|
|
[out, ref] aafUInt32 * |
bytesWritten |
|
) |
|
|
|
|
- Parameters:
-
| bytes | [in] the number of bytes to write |
| buffer | [out, size_is(bytes)] the buffer that contains at least bytes |
| bytesWritten | [out,ref] the number of bytes actually written from the buffer |
|
Generated on Thu Feb 17 09:34:31 2005 for by
1.4.1