RU:Interfaces
(10 intermediate revisions by one user not shown) | |||
Line 3: | Line 3: | ||
==IAVObject interface== | ==IAVObject interface== | ||
====Init==== | ====Init==== | ||
− | < | + | <source lang="cpp"> |
HRESULT Init() | HRESULT Init() | ||
− | </ | + | </source> |
Производит инициализацию данных объекта, для объектов - сплитеров или ридеров производит открытие файлов и начальный парсинг. | Производит инициализацию данных объекта, для объектов - сплитеров или ридеров производит открытие файлов и начальный парсинг. | ||
Line 25: | Line 25: | ||
====Convert==== | ====Convert==== | ||
− | <syntaxhighlight lang=cpp> | + | <syntaxhighlight lang="cpp"> |
HRESULT Convert( | HRESULT Convert( | ||
[in] BYTE* pbSrc, | [in] BYTE* pbSrc, | ||
Line 329: | Line 329: | ||
|} | |} | ||
− | ==Related Topic== | + | ===Related Topic=== |
− | [[RU:AVObjects Media Library | + | [[RU:AVObjects Media Library Reference]] |
Latest revision as of 10:55, 26 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 | Время ожидания ответа в мкс. |
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. |