Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[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.
Las extensiones de ejemplo, también denominadas extensiones de unidad de datos (DUE) o propiedades de búfer, son elementos de datos que se adjuntan a los ejemplos multimedia en la sección de datos del archivo ASF. Varios tipos de extensiones de ejemplo se definen en el SDK de Windows Media Format. También puede crear sus propios tipos de extensión.
Para usar extensiones de ejemplo, debe identificar el tipo de extensión en los datos de configuración de flujo del perfil. Llame al método IWMStreamConfig2::AddDataUnitExtension para configurar una secuencia para aceptar ejemplos con datos extendidos.
Las extensiones de ejemplo individuales se deben agregar a los ejemplos de entrada mediante una llamada al método INSSBuffer3::SetProperty . Al leer ejemplos, puede llamar al método INSSBuffer3::GetProperty para recuperar los datos de extensión. También puede usar los métodos de la interfaz INSSBuffer4 para enumerar las extensiones de unidad de datos adjuntas a un ejemplo.
En la tabla siguiente se enumeran los identificadores de extensión de unidad de datos predefinidos y se describen los datos que se adjuntan a ejemplos para cada uno.
GUID de extensión de ejemplo | Descripción |
---|---|
WM_SampleExtensionGUID_OutputCleanPoint | Los datos indican si el ejemplo es un punto limpio. Un valor de cero indica que el ejemplo no es un punto de limpieza. Un valor distinto de cero indica que es un punto limpio. Este tipo de extensión de unidad de datos de ejemplo (DUE) se usa para realizar un seguimiento de los puntos limpios al escribir secuencias multimedia precomprimidas que se codificaron con códecs de terceros. |
WM_SampleExtensionGUID_Timecode | Los datos son una estructura de WMT_TIMECODE_EXTENSION_DATA que contiene datos de código de hora SMPTE asociados al ejemplo. El tamaño de este DUE siempre es WM_SampleExtension_Timecode_Size, que es de 14 bytes. |
WM_SampleExtensionGUID_FileName | Este tipo de extensión de ejemplo se usa para secuencias de archivos. Los datos de un ejemplo de secuencia de archivos son un fragmento de un archivo de datos. Los datos de la extensión de ejemplo especifican el nombre del archivo desde el que se tomó el contenido del ejemplo. El nombre de archivo es una cadena de caracteres anchos que contiene el nombre de archivo en formato name.extension sin ninguna información de ruta de acceso. |
WM_SampleExtensionGUID_ContentType | Los datos identifican el tipo de contenido que contiene el ejemplo. Este tipo de extensión de ejemplo se usa con secuencias de vídeo entrelazadas. Todo el contenido entrelazado usa la marca WM_CT_INTERLACED combinada por un or bit a bit con WM_CT_BOTTOM_FIELD_FIRST, WM_CT_TOP_FIELD_FIRST o WM_CT_REPEAT_FIRST_FIELD. El orden de los campos no se usa en el proceso de codificación, pero se mantiene con las muestras comprimidas para que se pueda pasar al hardware de representación. La reproducción de contenido entrelazado con el orden de campo incorrecto introduce artefactos como vibración de movimiento en el vídeo. El tamaño de este DUE siempre es WM_SampleExtension_ContentType_Size. |
WM_SampleExtensionGUID_PixelAspectRatio | Los datos indican la relación de aspecto de píxeles del contenido del ejemplo. Esto solo se aplica al vídeo. Este tipo de extensión se usa para identificar la relación de aspecto de píxeles no cuadrados. Para obtener más información, vea Para leer y escribir secuencias de vídeo con píxeles no cuadrados. Los valores de relación de aspecto se almacenan como una palabra cuyo byte bajo es el aspecto X y cuyo byte alto es el aspecto Y. Por ejemplo, 16:9 se almacena como 0x0910. El tamaño de este DUE siempre es WM_SampleExtension_PixelAspectRatio_Size, que es de 2 bytes. |
WM_SampleExtensionGUID_SampleDuration | Los datos indican la duración, en milisegundos, del ejemplo contenido en el objeto de búfer. En la reproducción, si se establece este DUE, el objeto lector lo usará para sobrescribir el valor de duración de ejemplo existente. Los componentes en tiempo de ejecución del SDK establecen este DUE automáticamente en secuencias de vídeo con velocidades de bits de 100 kbps o superior, donde la sobrecarga de la información DUE no es significativa. No se establece para secuencias con velocidades de bits inferiores a 100 kbps. Las aplicaciones no deben establecer este DUE manualmente porque el escritor (en secuencias de velocidad de bits alta) sobrescribirá el valor con sus propios datos. El tamaño de este DUE siempre es WM_SampleExtension_SampleDuration_Size, que es de 2 bytes. |
WM_SampleExtensionGUID_ChromaLocation | Los datos indican el tipo de submuestreo cromático utilizado en el formato de vídeo I420. El valor de esta extensión se establece en uno de los siguientes valores:
El tamaño de este DUE siempre es WM_SampleExtension_ChromaLocation_Size, que es de 1 byte. |
WM_SampleExtensionGUID_ColorSpaceInfo | Los datos proporcionan información sobre el espacio de color usado para el fotograma de vídeo actual. El valor de esta extensión es una estructura WMT_COLORSPACEINFO_EXTENSION_DATA . Esta extensión de unidad de datos no está configurada en el perfil. Se incluye en la salida de muestras del descodificador. El tamaño de este DUE siempre es WM_SampleExtension_ColorSpaceInfo_Size, que es de 3 bytes. |
WM_SampleExtensionGUID_UserDataInfo | Los datos son datos de usuario personalizados. Los cuatro primeros bytes de los datos contienen el tamaño de los datos personalizados. El siguiente byte contiene el tipo de datos de usuario proporcionados en la extensión de ejemplo. Se admiten los siguientes tipos:
Esta extensión de unidad de datos no está configurada en el perfil. Se incluye en ejemplos que son la salida del descodificador. |
WM_SampleExtensionGUID_SampleProtectionSalt | Los datos se cifran por ejemplo. Este tipo de extensión de ejemplo se usa para el contenido que se importa desde un formato de archivo no ASF y un esquema de protección de derechos distinto de DRM de Windows Media. Al importar contenido protegido, cada muestra debe incluir una sal única. Normalmente, este valor es un contador que aumenta de forma monotónica. |