RU:Interfaces

From AVObjects Knowledge Base
Revision as of 16:40, 25 June 2014 by Rod (Talk | contribs)
Jump to: navigation, search

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

Related Topic

Personal tools
In other languages