game_chat_stream_state_change

A generic, base structure representation of an event for audio manipulation streams.

Syntax

typedef struct game_chat_stream_state_change {  
    game_chat_stream_state_change_type state_change_type;  
    union  
    {  
        pre_encode_audio_stream* pre_encode_audio_stream;  
        post_decode_audio_source_stream* post_decode_audio_source_stream;  
        post_decode_audio_sink_stream* post_decode_audio_sink_stream;  
    };  
} game_chat_stream_state_change  

Members

state_change_type
Type: game_chat_stream_state_change_type

The specific type of the stream state change represented. Use this field to determine which type of stream field to read from the stream union.

pre_encode_audio_stream
Type: pre_encode_audio_stream*

A pointer to the pre-encode audio stream that the stream state change applies to.

post_decode_audio_source_stream
Type: post_decode_audio_source_stream*

A pointer to the post-decode audio stream that the stream state change applies to.

post_decode_audio_sink_stream
Type: post_decode_audio_sink_stream*

A pointer to the post-decode audio sink stream that the stream state change applies to.

Remarks

This structure represents a stream state change, such as the creation of a pre-encode audio stream. game_chat_stream_state_change structures are reported by the chat_manager::start_processing_stream_state_changes method. The app handles the represented stream state changes, and then promptly passes them back by calling the chat_manager::finish_processing_stream_state_changes method.

The state_change_type field indicates what kind of state change occurred. Your app should use the value of this field to determine the type of stream to which the stream state change applies, and then retrieve the corresponding pointer for that stream from the union in this structure.

Note

Stream state changes occur only if local or remote audio manipulation is enabled when chat_manager::initialize was called. For more information about enabling audio manipulation, see Real-time audio manipulation.

game_chat_stream_state_change_array

The game_chat_stream_state_change_array type is a constant array of game_chat_stream_state_change pointers. This type is provided for convenience, and is used with the chat_manager::start_processing_stream_state_changes and chat_manager::finish_processing_stream_state_changes methods.

typedef class game_chat_stream_state_change * const * game_chat_stream_state_change_array;

Requirements

Header: GameChat2.h

Supported platforms: Windows, Xbox One family consoles and Xbox Series consoles

See also

Intro to Game Chat 2
chat_manager
GameChat2 members