Browse
 
Tools
Rss Categories

LV_SRE_WaitForDecode

Reference Number: AA-00740 Views: 7590 0 Rating/ Voters

Blocks the client application until the decode is finished.

Functions

  • int LV_SRE_WaitForDecode(HPORT hport, int VoiceChannel)

Parameters

hport

The port's handle.

VoiceChannel

Which voice channel to wait on.  Setting VoiceChannel equal to -1 causes a wait 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

The timeout value associated with PROP_EX_DECODE_TIMEOUT was exceeded before a result was returned from the Speech Engine. The decode was dropped from the Engine, and the LVSpeechPort may now start a new decode request.

LV_EXCEPTION

An exception occurred while processing the request.

Remarks

Some of the API functions run asynchronously, in particular, LV_SRE_Decode. LV_SRE_WaitForDecode 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 LV_SRE_Decode has finished. LV_SRE_WaitForDecode will wait the specified time (determined by set value of PROP_EX_DECODE_TIMEOUT) for the engine to idle; check the return value to ensure the decode interaction is finished before attempting to retrieve answers from the speech port.

To wait upto a specific amount of time less than PROP_EX_DECODE_TIMEOUT use LV_SRE_WaitForEngineToIdle where one of the input parameters is the time to wait.

See Also