enumeración ACX_STREAM_STATE (acxstreams.h)
ACX_STREAM_STATE describe las marcas acx Stream State.
Syntax
typedef enum _ACX_STREAM_STATE {
AcxStreamStateStop,
AcxStreamStateAcquire,
AcxStreamStatePause,
AcxStreamStateRun,
AcxStreamStateMaximum
} ACX_STREAM_STATE, *PACX_STREAM_STATE;
Constantes
AcxStreamStateStop Describe el estado de Acx Stream está detenido. |
AcxStreamStateAcquire Describe el estado de Acx Stream que se está adquirir. Este estado solo se usa internamente; La secuencia pasará directamente de AcxStreamStateStop a AcxStreamStatePause o de AcxStreamStatePause a AcxStreamStateStop. |
AcxStreamStatePause Describe el estado de acx Stream como en pausa. |
AcxStreamStateRun Describe el estado de acx Stream como en ejecución. |
AcxStreamStateMaximum Describe el valor máximo de estado de Acx Stream. Este valor se usa para la validación interna. |
Comentarios
AcxStream admite diferentes estados. Estos estados indican cuándo fluye el audio (estado RUN) o no fluye (estado PAUSE o STOP).
Una vez creada la secuencia y se asignan los búferes adecuados, la secuencia se encuentra en el estado Pausar en espera de que se inicie la secuencia. Cuando el cliente coloca la secuencia en estado Play, el marco acx llamará a todos los circuitos asociados a la secuencia para indicar que el estado de la secuencia está en Reproducción. A continuación, ACXPIN se colocará en el estado Reproducir, momento en el que los datos comenzarán a fluir.
Una vez creada la secuencia y se asignan los recursos, la aplicación llamará a Start en la secuencia para iniciar la reproducción.
El cliente se inicia mediante la puesta en marcha previa de un búfer. Cuando el cliente llama a ReleaseBuffer, esto se traducirá en una llamada en AudioKSE que llamará a la capa de ACX, que llamará a EvtAcxStreamSetRenderPacket en el ACXSTREAM activo. La propiedad incluirá el índice de paquetes (basado en 0) y, si procede, una marca EOS con el desplazamiento de bytes del final de la secuencia en el paquete actual.
Durante la apagado y eliminación del dispositivo ACX, si las secuencias están presentes, se invocan devoluciones de llamada de ACX SetState para realizar la transición de todas las secuencias del circuito a Pausar. Se trata de Stream instancia de ámbito.
- Después de AcxStreamCreate, AcxStream está en estado AcxStreamStateStop.
- Después de que EvtAcxStreamPrepareHardware devuelva correctamente acxStream estará en estado AcxStreamStatePause.
- Después de que EvtAcxStreamRun devuelva correctamente acxStream estará en estado AcxStreamStateRun.
- Después de que EvtAcxStreamPause devuelva AcxStream estará en el estado AcxStreamStatePause.
- Después de que EvtAcxReleaseHardware devuelva AcxStream estará en estado AcxStreamStop.
Ejemplo
A continuación se muestra un ejemplo de uso.
ACX_STREAM_STATE m_CurrentState;
...
if (m_CurrentState != AcxStreamStatePause)
{
status = STATUS_INVALID_STATE_TRANSITION;
return status;
}
Requisitos de ACX
Versión mínima de ACX: 1.0
Para obtener más información sobre las versiones de ACX, consulte Introducción a la versión de ACX.
Requisitos
Requisito | Valor |
---|---|
Header | acxstreams.h |