Этот раздел содержит ссылочную информацию об интерфейсах и методах AVObjects Media Library.
IAVObject interface
Init
Производит инициализацию данных объекта, для объектов - сплитеров или ридеров производит открытие файлов и начальный парсинг.
Close
Освобождает ресурсы используемые объектом, закрывает файлы, освобождает блоки памяти.
BeginFlush
EndFlush
Convert
HRESULT Convert(
[in] BYTE* pbSrc,
[in] int cbSrc,
[in] BYTE* pbDst,
[in] int cbDst,
[out] int* pcbActual,
[in] int nReserved,
[in] BYTE* pbReserved
);
Method for synchronous conversions.
If this method is implemented then methods for asynchronous conversions
(CanPutFrame(), PutFrame(), CanGetFrame(), GetFrame()) can be not implemented.
Parameters:
pbSrc
|
Source buffer for conversion.
|
cbSrc
|
Size of data in source buffer in bytes.
|
pbDst
|
Destination buffer for result of conversion.
|
cbDst
|
Size of destination buffer in bytes
|
pcbActual
|
Size of returned data in destination buffer in bytes
|
nReserved
|
Library specific variable (see library description)
|
pbReserved
|
Library specific variable (see library description)
|
Returns:
S_OK
|
Converted data in pbDst returned
|
S_FALSE
|
Required data is not found
|
HRESULT_FROM_WIN32(ERROR_MORE_DATA)
|
Destination buffer is too small to receive the data
|
E_POINTER
|
One or more NULL pointer argument
|
E_INVALIDARG
|
One or more arguments are invalid
|
E_FAIL
|
Object not initialized yet or other failure.
|
CanPutFrame
HRESULT CanPutFrame(
[in] int nStream,
[in] DWORD nWait
);
Метод проверяет возможность отправки данных объекту
Parameters
nStream
|
Number of stream
|
nWait
|
Время ожидания ответа в мкс.
|
Returns:
S_OK
|
Object ready for PutFrame
|
S_FALSE
|
Object busy
|
HRESULT_FROM_WIN32(ERROR_HANDLE_EOF)
|
End of stream
|
E_INVALIDARG
|
One or more arguments are invalid
|
E_FAIL
|
Object not initialized yet or other failure.
|
PutFrame
HRESULT PutFrame(
[in] int nStream,
[in] BYTE* pbBuffer,
[in] DWORD cbActual,
[in] DWORD dwFlags,
[in] REFERENCE_TIME tS,
[in] REFERENCE_TIME tE,
[in] BYTE* pbReserved
);
Метод для отправки данных объекту
Parameters:
nStream
|
Number of stream
|
pbBuffer
|
Buffer with data.
|
cbActual
|
Size of data in buffer in bytes.
|
dwFlags
|
Library specific bitmap (see library description)
|
tS
|
Start time
|
tE
|
End time
|
pbReserved
|
Library specific variable (see library description)
|
Returns:
S_OK
|
Data in pbBuffer sended
|
HRESULT_FROM_WIN32(ERROR_HANDLE_EOF)
|
End of stream
|
E_INVALIDARG
|
One or more arguments are invalid
|
E_FAIL
|
Object not initialized yet or other failure.
|
CanGetFrame
HRESULT CanGetFrame(
[in] int nStream,
[in] DWORD nWait
);
Метод проверяет возможность получения данных от объекта
Parameters:
nStream
|
Number of stream
|
nWait
|
Время ожидания ответа в мкс.
|
Returns:
S_OK
|
Object ready for GetFrame
|
S_FALSE
|
Object busy
|
HRESULT_FROM_WIN32(ERROR_HANDLE_EOF)
|
End of stream
|
E_INVALIDARG
|
One or more arguments are invalid
|
E_FAIL
|
Object not initialized yet or other failure.
|
GetFrame
HRESULT GettFrame(
[in] int nStream,
[in] BYTE* pbBuffer,
[in] DWORD cbBuffer,
[out] DWORD* pcbActual,
[out] DWORD* pdwFlags,
[out] REFERENCE_TIME* ptS,
[out] REFERENCE_TIME* ptE,
[out] BYTE** pbReserved
);
Метод для отправки данных объекту
Parameters:
nStream
|
Number of stream
|
pbBuffer
|
Buffer for data.
|
cbBuffer
|
Size of data in buffer in bytes.
|
cbActual
|
Size of received data buffer in bytes.
|
pdwFlags
|
Library specific bitmap (see library description)
|
ptS
|
Start time
|
ptE
|
End time
|
ppbReserved
|
Library specific variable (see library description)
|
Returns:
S_OK
|
Data in pbBuffer returned
|
E_INVALIDARG
|
One or more arguments are invalid
|
E_FAIL
|
Object not initialized yet or other failure.
|
IAVProperties interface
Интерфейс для установки и получения свойств объекта
PropsSet
HRESULT PropsSet(
[in] BSTR bsName,
[in] BSTR bsValue
);
Установить значение bsValue для свойства bsName
Parameters:
bsName
|
Name of Property
|
bsValue
|
Value for property.
|
Returns:
S_OK
|
Property values is set
|
E_INVALIDARG
|
Property with name bsName not found
|
E_FAIL
|
Error in property value.
|
PropsGet
HRESULT PropsSet(
[in] BSTR bsName,
[out] BSTR* pbsValue
);
Получить значение для свойства bsName
Parameters:
bsName
|
Name of Property
|
pbsValue
|
Pointer to variable for return property value.
|
Returns:
S_OK
|
Property values is returned
|
E_INVALIDARG
|
Property with name bsName not found
|
E_FAIL
|
Some error.
|