Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O objeto divisor de ASF é um objeto de camada WMContainer que analisa o objeto de dados ASF de um arquivo ASF (Advanced Systems Format). Para criar uma nova instância do objeto divisor ASF, chame a funçãoMFCreateASFSplitter. Esta função retorna um ponteiro para a interface IMFASFSplitter que representa um objeto divisor vazio.
Antes que o divisor possa começar a analisar, o aplicativo deve inicializar o divisor com informações do objeto de cabeçalho ASF. Para inicializar o divisor, chame o método IMFASFSplitter::Initialize. Este método recebe um ponteiro para o objeto ASF ContentInfo, marcado com e, que contém as informações de cabeçalho do arquivo ASF para analisar. O aplicativo deve inicializar o objeto ContentInfo antes de passá-lo para o divisor para que as características do arquivo de mídia sejam conhecidas pelo aplicativo. O método Initialize do divisor extrai informações de fluxo do objeto ContentInfo, como números de fluxo, para que o divisor possa analisar os pacotes de dados.
Exemplo
O exemplo de código a seguir mostra como criar um divisor e inicializá-lo com um objeto ContentInfo existente.
// Create and initialize the ASF splitter.
HRESULT CreateASFSplitter (IMFASFContentInfo* pContentInfo,
IMFASFSplitter** ppSplitter)
{
IMFASFSplitter *pSplitter = NULL;
// Create the splitter object.
HRESULT hr = MFCreateASFSplitter(&pSplitter);
// Initialize the splitter to work with specific ASF data.
if (SUCCEEDED(hr))
{
hr = pSplitter->Initialize(pContentInfo);
}
if (SUCCEEDED(hr))
{
// Return the object to the caller.
*ppSplitter = pSplitter;
(*ppSplitter)->AddRef();
}
SafeRelease(&pSplitter);
return hr;
}
Observação
Este exemplo usa a função SafeRelease para liberar ponteiros de interface.
Tópicos relacionados