Compartir a través de


Filtro de escritura de ASF de WM (SDK de Windows Media Format 11)

[La característica asociada a esta página, WINDOWS Media Format 11 SDK, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. Lector de origen y escritor receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector fuente y escritor receptor en lugar del SDK de Windows Media Format 11, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El filtro WM ASF Writer acepta un número variable de flujos de entrada y crea un archivo ASF. El filtro controla toda la compresión y multiplexación (aunque se puede omitir el mecanismo de compresión). Puede usar el filtro WM ASF Writer en varios escenarios, como la captura de vídeo digital (DV), la recompresión de audio y la conversión de Audio-Video archivos multimedia digitales intercalados (AVI) o MPEG para el streaming de red. Este filtro proporciona la única manera de crear archivos microsoft Windows Media Audio y Windows Media Video en DirectShow.

Para obtener más información, vea Crear archivos ASF en DirectShow.

La tabla siguiente contiene información sobre el filtro WM ASF Writer, como las interfaces y los tipos de medios que admite.

Información de filtro Tipos
Interfaces de filtro IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPages, IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2
Tipos de medios de anclaje de entrada Depende del perfil. Normalmente, tipos sin comprimir, como MEDIATYPE_Audio o MEDIATYPE_Video, aunque se pueden aceptar tipos comprimidos si coinciden con el perfil
Interfaces de patillas de entrada IPin, IMemInputPin, IAMStreamConfig, IServiceProvider, IAMWMBufferPass, IWMStreamConfig2 (a través de IServiceProvider)
Tipos de medios de anclaje de salida No aplicable
Interfaces de pin de salida No aplicable
Filtrar CLSID CLSID_WMAsfWriter
CLSID de la página de propiedades CLSID_WMAsfWriterProperties
Ejecutable Qasf.dll
Mérito MERIT_DO_NOT_USE
Categoría de filtro Sin especificar

 

Observaciones

El número de patillas de entrada del filtro depende del perfil que se pasa al filtro. Se crea un pin del tipo de medio adecuado para cada secuencia definida en el perfil.

Los patillas de entrada admiten un método desde la interfaz IAMStreamConfig : IAMStreamConfig::GetFormat. Todos los demás métodos devuelven E_NOTIMPL. Llame al método GetFormat para consultar el formato de compresión de destino del pin, definido por el perfil actual. Use la interfaz IConfigAsfWriter para establecer el perfil.

La interfaz IServiceProvider del filtro permite a las aplicaciones recuperar la interfaz IWMWriterAdvanced2 , que se define en el SDK de Windows Media Format. La interfaz IWMWriterAdvanced2 controla la desinterlazación de vídeo y es útil si la entrada es un origen entrelazado , como DV (vídeo digital). Use los métodos GetInputSetting y SetInputSetting para controlar la desinterlacing. No se recomienda que los clientes usen ninguno de los otros métodos en esta interfaz. Esta interfaz solo se puede obtener después de agregar el filtro al gráfico de filtros. En el ejemplo siguiente se muestra cómo consultar esta interfaz:

// Assume that m_pGraph is a valid IGraphBuilder interface pointer,
// and that pAsfWriter points to the IBaseFilter interface
// on the WM ASF Writer filter.

IServiceProvider *pProvider = NULL;
IWMWriterAdvanced2 *pWMWA2 = NULL;

hr = m_pGraph->AddFilter(pAsfWriter, L"WM ASF Writer");
...
hr = pAsfWriter->QueryInterface(IID_IServiceProvider, (void**)&pProvider)
if (SUCCEEDED(hr))
{
    hr = pProvider->QueryService(IID_IWMWriterAdvanced2,
        IID_IWMWriterAdvanced2, (void**)&pWMWA2);
    pProvider->Release();
}

Referencia de QASF de DirectShow