RU:Interfaces
From AVObjects Knowledge Base
(Difference between revisions)
Line 40: | Line 40: | ||
(CanPutFrame(), PutFrame(), CanGetFrame(), GetFrame()) can be not implemented. | (CanPutFrame(), PutFrame(), CanGetFrame(), GetFrame()) can be not implemented. | ||
+ | *Parameters: | ||
{| | {| | ||
− | |||
− | |||
− | |||
|- | |- | ||
|pbSrc | |pbSrc | ||
Line 67: | Line 65: | ||
|} | |} | ||
+ | *Returns: | ||
{| | {| | ||
− | |||
− | |||
− | |||
− | |||
|S_OK | |S_OK | ||
|Converted data in pbDst returned | |Converted data in pbDst returned | ||
Line 89: | Line 84: | ||
|E_FAIL | |E_FAIL | ||
|Object not initialized yet or other failure. | |Object not initialized yet or other failure. | ||
+ | |} | ||
====CanPutFrame==== | ====CanPutFrame==== |
Revision as of 15:23, 25 June 2014
Этот раздел содержит ссылочную информацию об интерфейсах и методах AVObjects Media Library.
Contents |
IAVObject interface
Init
HRESULT Init()
Производит инициализацию данных объекта, для объектов - сплитеров или ридеров производит открытие файлов и начальный парсинг.
Close
HRESULT Close()
Освобождает ресурсы используемые объектом, закрывает файлы, освобождает блоки памяти.
BeginFlush
HRESULT BeginFlush()
EndFlush
HRESULT 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 | Время ожидания ответа в мкс. |
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) |
CanGetFrame
HRESULT CanGetFrame( [in] int nStream, [in] DWORD nWait );
Метод проверяет возможность получения данных от объекта
Parameters: | |
nStream | Number of stream |
nWait | Время ожидания ответа в мкс. |
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) |