Photon Voice v2.53

Public Member Functions | Protected Member Functions | Properties | List of all members
LocalVoiceFramed< T > Class Template Reference

Typed re-framing LocalVoice More...

Inherits LocalVoice.

Inherited by LocalVoiceAudio< T >.

Public Member Functions

void AddPostProcessor (params IProcessor< T >[] processors)
 Adds processors after any built-in processors and everything added with AddPreProcessor. More...
 
void AddPreProcessor (params IProcessor< T >[] processors)
 Adds processors before built-in processors and everything added with AddPostProcessor. More...
 
void RemoveProcessor (params IProcessor< T >[] processors)
 Adds processors before built-in processors and everything added with AddPostProcessor. More...
 
void ClearProcessors ()
 Clears all processors in pipeline including built-in resampling. User should add at least resampler processor after call. More...
 
void PushDataAsync (T[] buf)
 Asynchronously push data into this stream. More...
 
void PushData (T[] buf)
 Synchronously push data into this stream. More...
 
override void Dispose ()
 Releases resources used by the LocalVoiceFramed<T> instance. Buffers used for asynchronous push will be disposed in encoder thread's 'finally'. More...
 
- Public Member Functions inherited from LocalVoice
void SendSpacingProfileStart ()
 
void RemoveSelf ()
 Remove this voice from it's VoiceClient (using VoiceClient.RemoveLocalVoice More...
 

Protected Member Functions

T[] processFrame (T[] buf, int p0, int p1)
 
- Protected Member Functions inherited from LocalVoice
bool targetExits (bool targetMe, int[] targetPlayers)
 
void sendVoiceInfoAndConfigFrame (bool targetMe, int[] targetPlayers)
 
void sendVoiceRemove (bool targetMe, int[] targetPlayers)
 

Properties

FactoryPrimitiveArrayPool< T > BufferFactory [get]
 <see cref="PushData(T[])" and />. More...
 
bool PushDataAsyncReady [get]
 Wether this LocalVoiceFramed has capacity for more data buffers to be pushed asynchronously. More...
 
- Properties inherited from LocalVoice
VoiceInfo Info [get]
 Returns Info structure assigned on local voice cration. More...
 
bool TransmitEnabled [get, set]
 If true, stream data broadcasted. More...
 
bool IsCurrentlyTransmitting [get]
 Returns true if stream broadcasts. More...
 
int FramesSent [get]
 Sent frames counter. More...
 
int FramesSentFragmented [get]
 Sent fragmented frames counter. More...
 
int FramesSentFragments [get]
 Sent frames fragments counter. More...
 
int FramesSentBytes [get]
 Sent frames bytes counter. More...
 
bool Reliable [get, set]
 Send data reliable. See also VoiceCreateOptions.Reliable. More...
 
bool Encrypt [get, set]
 Send data encrypted. See also VoiceCreateOptions.Encrypt. More...
 
bool Fragment [get, set]
 Split frames into fragments according to the size provided by the Transport. See also VoiceCreateOptions.Fragment. More...
 
int FEC [get, set]
 Forward Error Correction control. See also VoiceCreateOptions.FEC. More...
 
IServiceable LocalUserServiceable [get, set]
 Optional user object attached to LocalVoice. its Service() will be called at each VoiceClient.Service() call. More...
 
byte Group [get, set]
 
byte InterestGroup [get, set]
 If InterestGroup != 0, streaming only to the players subscribed to this group (if supported by the transport). See also VoiceCreateOptions.InterestGroup. More...
 
bool DebugEchoMode [get, set]
 If true, outgoing stream routed back to client via server same way as for remote client's streams. See also VoiceCreateOptions.DebugEchoMode. More...
 
int[]?? TargetPlayers [get, set]
 If TargetPlayers is not null, sending voice info and streaming only to clients having player numbers specified in the array (if supported by transport). See also VoiceCreateOptions.TargetPlayers. More...
 
string SendSpacingProfileDump [get]
 
int SendSpacingProfileMax [get]
 Logs input frames time spacing profiling results. Do not call frequently. More...
 
byte ID [get]
 
byte EvNumber [get]
 
string shortName [get]
 
string Name [get]
 
string LogPrefix [get]
 

Additional Inherited Members

- Static Public Attributes inherited from LocalVoice
const int DATA_POOL_CAPACITY = 50
 
- Protected Attributes inherited from LocalVoice
int[] targetPlayers_
 
VoiceInfo info
 
IEncoder encoder
 
VoiceClient voiceClient
 
bool threadingEnabled
 
ArraySegment< byte > configFrame
 
volatile bool disposed
 
object disposeLock = new object()
 
bool isJoined => voiceClient != null && voiceClient.transport.IsChannelJoined(this.channelId)
 

Detailed Description

Typed re-framing LocalVoice

Consumes data in array buffers of arbitrary length. Repacks them in frames of VoiceInfo.FrameSize length for further processing and encoding.

Member Function Documentation

◆ AddPostProcessor()

void AddPostProcessor ( params IProcessor< T >[]  processors)

Adds processors after any built-in processors and everything added with AddPreProcessor.

Parameters
processors

◆ AddPreProcessor()

void AddPreProcessor ( params IProcessor< T >[]  processors)

Adds processors before built-in processors and everything added with AddPostProcessor.

Parameters
processors

◆ ClearProcessors()

void ClearProcessors ( )

Clears all processors in pipeline including built-in resampling. User should add at least resampler processor after call.

◆ Dispose()

override void Dispose ( )
virtual

Releases resources used by the LocalVoiceFramed<T> instance. Buffers used for asynchronous push will be disposed in encoder thread's 'finally'.

Reimplemented from LocalVoice.

◆ PushData()

void PushData ( T[]  buf)

Synchronously push data into this stream.

◆ PushDataAsync()

void PushDataAsync ( T[]  buf)

Asynchronously push data into this stream.

◆ RemoveProcessor()

void RemoveProcessor ( params IProcessor< T >[]  processors)

Adds processors before built-in processors and everything added with AddPostProcessor.

Parameters
processors

Property Documentation

◆ BufferFactory

FactoryPrimitiveArrayPool<T> BufferFactory
get

<see cref="PushData(T[])" and />.

◆ PushDataAsyncReady

bool PushDataAsyncReady
get

Wether this LocalVoiceFramed has capacity for more data buffers to be pushed asynchronously.