RU:Interfaces

From AVObjects Knowledge Base
(Difference between revisions)
Jump to: navigation, search
 
(27 intermediate revisions by one user not shown)
Line 3: Line 3:
 
==IAVObject interface==
 
==IAVObject interface==
 
====Init====
 
====Init====
<syntaxhighlight lang=cpp>
+
<source lang="cpp">
 
HRESULT Init()
 
HRESULT Init()
</syntaxhighlight>
+
</source>
 
Производит инициализацию данных объекта, для объектов - сплитеров или ридеров производит открытие файлов и начальный парсинг.
 
Производит инициализацию данных объекта, для объектов - сплитеров или ридеров производит открытие файлов и начальный парсинг.
  
Line 25: Line 25:
  
 
====Convert====
 
====Convert====
<syntaxhighlight lang=cpp>
+
<syntaxhighlight lang="cpp">
 
HRESULT Convert(
 
HRESULT Convert(
 
     [in] BYTE* pbSrc,
 
     [in] BYTE* pbSrc,
Line 40: Line 40:
 
(CanPutFrame(), PutFrame(), CanGetFrame(), GetFrame()) can be not implemented.
 
(CanPutFrame(), PutFrame(), CanGetFrame(), GetFrame()) can be not implemented.
  
 +
=====Parameters:=====
 
{|
 
{|
 
|-
 
|-
|Parameters
 
|
 
 
 
|pbSrc
 
|pbSrc
 
|Source buffer for conversion.
 
|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)
 
|}
 
|}
     //   cbSrc        Size of data in source buffer in bytes.
+
 
     //    pbDst        Destination buffer for result of conversion.
+
=====Returns:=====
     //    cbDst        Size of destination buffer in bytes
+
{|
    //    pcbActual    Size of returned data in destination buffer in bytes
+
|S_OK
    //    nReserved    Library specific variable (see library description)
+
|Converted data in pbDst returned
    //    pbReserved    Library specific variable (see library description)
+
|-
 +
|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.

Related Topic

Personal tools
In other languages