LV_SRE_WaitForEngineToIdle

Blocks the client application until the port is idle (not decoding).

Functions

Parameters

hport

The port's handle.

MillisecondsToWait

The number of milliseconds to wait before returning if the Speech Port does not become idle. A timeout of 0 (== TIMEOUT_INFINITE) waits until the decode timeout specified by PROP_EX_DECODE_TIMEOUT is hit

VoiceChannel

Which VoiceChannel to wait for. A value of -1 waits on all the voice channels for the port.

Return Values

LV_SUCCESS

No errors. The decode is finished.

LV_INVALID_HPORT

The input hport is not a valid one.

LV_INVALID_SOUND_CHANNEL

The input VoiceChannel is not a valid one.

LV_TIME_OUT

Either the MillisecondsToWait timeout was exceeded or the timeout value associated with PROP_EX_DECODE_TIMEOUT was exceeded before a result was returned from the Speech Engine. The decode may still be running

LV_EXCEPTION

An exception occured while processing the request.

Remarks

Some of the LV_SRE functions run asynchronously, in particular, LV_SRE_Decode. LV_SRE WaitForEngineToIdle is primarily useful when LV_SRE_Decode is called without LV_DECODE_BLOCK. In this case, LV_SRE_Decode returns immediately, but continues processing the voice channel's audio data in a separate thread. Since client applications will eventually need the results, the clients need a way to query the port to see if Decode has finished. LV_SRE WaitForEngineToIdle will wait the specified time for the Engine to idle; check the return value to ensure the engine is idle, indicating that decode results are available.

LV_SRE WaitForEngineToIdle is useful when you want to ping the engine with a 1 ms timeout but not block the thread.

To wait upto the decode timeout set by PROP_EX_DECODE_TIMEOUT use a timeout of 0 (== TIMEOUT_INFINITE)

LV_SRE WaitForEngineToIdle is also useful to ensure the Engine has finished initializing, prior to calls to LV_SRE_Decode.

See Also

© 2012 LumenVox LLC. All rights reserved.