Partager via


énumération ACX_STREAM_STATE (acxstreams.h)

ACX_STREAM_STATE décrit les indicateurs d’état du flux Acx.

Syntaxe

typedef enum _ACX_STREAM_STATE {
  AcxStreamStateStop,
  AcxStreamStateAcquire,
  AcxStreamStatePause,
  AcxStreamStateRun,
  AcxStreamStateMaximum
} ACX_STREAM_STATE, *PACX_STREAM_STATE;

Constantes

 
AcxStreamStateStop
Décrit l’état du flux Acx est arrêté.
AcxStreamStateAcquire
Décrit l’état du flux Acx en cours d’acquisition. Cet état est utilisé uniquement en interne ; le flux passe directement d’AcxStreamStateStop à AcxStreamStatePause ou d’AcxStreamStatePause à AcxStreamStateStop.
AcxStreamStatePause
Décrit l’état du flux Acx comme suspendu.
AcxStreamStateRun
Décrit l’état du flux Acx en cours d’exécution.
AcxStreamStateMaximum
Décrit le nombre maximal d’états du flux Acx. Cette valeur est utilisée pour la validation interne.

Remarques

AcxStream prend en charge différents états. Ces états indiquent quand l’audio circule (état RUN) ou non (ÉTAT PAUSE ou STOP).

Une fois le flux créé et les mémoires tampons appropriées allouées, le flux est dans l’état pause en attente de démarrage du flux. Lorsque le client place le flux dans l’état Play, l’infrastructure ACX appelle tous les circuits associés au flux pour indiquer que l’état du flux est en lecture. L’ACXPIN sera ensuite placé dans l’état Play, à quel moment les données commenceront à circuler.

Une fois le flux créé et les ressources allouées, l’application appelle Démarrer sur le flux pour démarrer la lecture.

Le client commence par le pré-déploiement d’une mémoire tampon. Lorsque le client appelle ReleaseBuffer, cela se traduit par un appel dans AudioKSE qui appelle la couche ACX, qui appelle EvtAcxStreamSetRenderPacket sur ACXSTREAM actif. La propriété inclut l’index de paquet (basé sur 0) et, le cas échéant, un indicateur EOS avec le décalage d’octet de la fin du flux dans le paquet actif.

Pendant la mise hors tension et la suppression de l’appareil ACX, si des flux sont présents, les rappels ACX SetState sont appelés pour faire passer tous les flux du circuit en pause. Il s’agit de Stream Instance délimitée.

  • Après AcxStreamCreate, AcxStream est dans l’état AcxStreamStateStop.
  • Une fois evtAcxStreamPrepareHardware retourné avec succès, AcxStream sera dans l’état AcxStreamStatePause.
  • Une fois EvtAcxStreamRun retourné avec succès, AcxStream sera dans l’état AcxStreamStateRun.
  • Après que EvtAcxStreamPause retourne acxStream sera dans l’état AcxStreamStatePause.
  • Après que EvtAcxReleaseHardware retourne AcxStream sera dans l’état AcxStreamStop.

Exemple

L’exemple d’utilisation est illustré ci-dessous.

    ACX_STREAM_STATE    m_CurrentState;
...
    if (m_CurrentState != AcxStreamStatePause)
    {
        status = STATUS_INVALID_STATE_TRANSITION;
        return status;
    }

Configuration requise pour ACX

version minimale d’ACX : 1.0

Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.

Exigences

Exigence Valeur
d’en-tête acxstreams.h

Voir aussi