RU:Interfaces

From AVObjects Knowledge Base
(Difference between revisions)
Jump to: navigation, search
Line 40: Line 40:
 
(CanPutFrame(), PutFrame(), CanGetFrame(), GetFrame()) can be not implemented.
 
(CanPutFrame(), PutFrame(), CanGetFrame(), GetFrame()) can be not implemented.
  
 +
*Parameters:
 
{|
 
{|
|-
 
|Parameters:
 
|
 
 
|-
 
|-
 
|pbSrc
 
|pbSrc
Line 67: Line 65:
 
|}
 
|}
  
 +
*Returns:
 
{|
 
{|
|-
 
|Returns:
 
|
 
|-
 
 
|S_OK
 
|S_OK
 
|Converted data in pbDst returned
 
|Converted data in pbDst returned
Line 89: Line 84:
 
|E_FAIL
 
|E_FAIL
 
|Object not initialized yet or other failure.
 
|Object not initialized yet or other failure.
 +
|}
  
 
====CanPutFrame====
 
====CanPutFrame====

Revision as of 15:23, 25 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 Время ожидания ответа в мкс.

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)

CanGetFrame

HRESULT CanGetFrame(
    [in] int nStream,
    [in] DWORD nWait
    );

Метод проверяет возможность получения данных от объекта

Parameters:
nStream Number of stream
nWait Время ожидания ответа в мкс.

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)
Personal tools