énumération ACX_STREAM_STATE (acxstreams.h)

ACX_STREAM_STATE décrit les indicateurs d’état acx Stream.

Syntax

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

Constantes

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

Remarques

Un 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 à l’état Pause en attendant le démarrage du flux. Lorsque le client place le flux à 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 est ensuite placé dans l’état Lecture, à partir duquel les données commencent à 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 pré-déployer une mémoire tampon. Lorsque le client appelle ReleaseBuffer, cela se traduit par un appel dans AudioKSE qui appellera la couche ACX, qui appelleRa EvtAcxStreamSetRenderPacket sur l’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 à pause. Il s’agit Stream instance étendue.

  • Après AcxStreamCreate, AcxStream est à l’état AcxStreamStateStop.
  • Une fois evtAcxStreamPrepareHardware retourné avec succès, AcxStream est à l’état AcxStreamStatePause.
  • Une fois qu’EvtAcxStreamRun est retourné avec succès, AcxStream est à l’état AcxStreamStateRun.
  • Une fois Qu’EvtAcxStreamPause retourne l’état AcxStreamStatePause.
  • Une fois qu’EvtAcxReleaseHardware retourne 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 d’ACX

Version minimale d’ACX : 1.0

Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.

Configuration requise

Condition requise Valeur
En-tête acxstreams.h

Voir aussi