Этот раздел содержит ссылочную информацию об интерфейсах и методах 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