Share via


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

Consulte también