RU:Interfaces
| (37 intermediate revisions by one user not shown) | |||
| Line 3: | Line 3: | ||
==IAVObject interface== | ==IAVObject interface== | ||
====Init==== | ====Init==== | ||
| + | <source lang="cpp"> | ||
| + | HRESULT Init() | ||
| + | </source> | ||
Производит инициализацию данных объекта, для объектов - сплитеров или ридеров производит открытие файлов и начальный парсинг. | Производит инициализацию данных объекта, для объектов - сплитеров или ридеров производит открытие файлов и начальный парсинг. | ||
| − | ==== | + | ====Close==== |
| + | <syntaxhighlight lang=cpp> | ||
| + | HRESULT Close() | ||
| + | </syntaxhighlight> | ||
Освобождает ресурсы используемые объектом, закрывает файлы, освобождает блоки памяти. | Освобождает ресурсы используемые объектом, закрывает файлы, освобождает блоки памяти. | ||
| + | |||
| + | ====BeginFlush==== | ||
| + | <syntaxhighlight lang=cpp> | ||
| + | HRESULT BeginFlush() | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ====EndFlush==== | ||
| + | <syntaxhighlight lang=cpp> | ||
| + | HRESULT EndFlush() | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ====Convert==== | ||
| + | <syntaxhighlight lang="cpp"> | ||
| + | HRESULT Convert( | ||
| + | [in] BYTE* pbSrc, | ||
| + | [in] int cbSrc, | ||
| + | [in] BYTE* pbDst, | ||
| + | [in] int cbDst, | ||
| + | [out] int* pcbActual, | ||
| + | [in] int nReserved, | ||
| + | [in] BYTE* pbReserved | ||
| + | ); | ||
| + | </syntaxhighlight> | ||
| + | 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==== | ||
| + | <syntaxhighlight lang=cpp> | ||
| + | HRESULT CanPutFrame( | ||
| + | [in] int nStream, | ||
| + | [in] DWORD nWait | ||
| + | ); | ||
| + | </syntaxhighlight> | ||
| + | Метод проверяет возможность отправки данных объекту | ||
| + | =====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==== | ||
| + | <syntaxhighlight lang=cpp> | ||
| + | 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 | ||
| + | ); | ||
| + | </syntaxhighlight> | ||
| + | Метод для отправки данных объекту | ||
| + | |||
| + | =====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==== | ||
| + | <syntaxhighlight lang=cpp> | ||
| + | HRESULT CanGetFrame( | ||
| + | [in] int nStream, | ||
| + | [in] DWORD nWait | ||
| + | ); | ||
| + | </syntaxhighlight> | ||
| + | Метод проверяет возможность получения данных от объекта | ||
| + | =====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==== | ||
| + | <syntaxhighlight lang=cpp> | ||
| + | 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 | ||
| + | ); | ||
| + | </syntaxhighlight> | ||
| + | Метод для отправки данных объекту | ||
| + | |||
| + | =====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==== | ||
| + | <syntaxhighlight lang=cpp> | ||
| + | HRESULT PropsSet( | ||
| + | [in] BSTR bsName, | ||
| + | [in] BSTR bsValue | ||
| + | ); | ||
| + | </syntaxhighlight> | ||
| + | Установить значение 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==== | ||
| + | <syntaxhighlight lang=cpp> | ||
| + | HRESULT PropsSet( | ||
| + | [in] BSTR bsName, | ||
| + | [out] BSTR* pbsValue | ||
| + | ); | ||
| + | </syntaxhighlight> | ||
| + | Получить значение для свойства 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. | ||
| + | |} | ||
| + | |||
| + | ===Related Topic=== | ||
| + | [[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. |