case ANALOG_EVENT_ALARM:
analog_set_alarm(p, 1);
analog_get_and_handle_alarms(p);
+ /* Intentionally fall through to analog_set_echocanceller() call */
case ANALOG_EVENT_ONHOOK:
switch (p->sig) {
case ANALOG_SIG_FXOLS:
case JB_IMPL_OK:
/* deliver the frame */
ast_write(chan, f);
+ /* Fall through intentionally */
case JB_IMPL_DROP:
jb_framelog("\tJB_GET {now=%ld}: %s frame with ts=%ld and len=%ld\n",
now, jb_get_actions[res], f->ts, f->len);
switch (type) {
case AST_AUDIOHOOK_TYPE_SPY:
ast_slinfactory_init(&audiohook->read_factory);
+ /* Fall through intentionally */
case AST_AUDIOHOOK_TYPE_WHISPER:
ast_slinfactory_init(&audiohook->write_factory);
break;
switch (audiohook->type) {
case AST_AUDIOHOOK_TYPE_SPY:
ast_slinfactory_destroy(&audiohook->read_factory);
+ /* Fall through intentionally */
case AST_AUDIOHOOK_TYPE_WHISPER:
ast_slinfactory_destroy(&audiohook->write_factory);
break;
" When called with a topic as an argument, displays usage\n"
" information on the given command. If called without a\n"
" topic, it provides a list of AGI commands.\n";
+ return NULL;
case CLI_GENERATE:
return NULL;
}
{
int res = 0;
- switch (state) {
- case AST_SPEECH_STATE_WAIT:
+ if (state == AST_SPEECH_STATE_WAIT) {
/* The engine heard audio, so they spoke */
ast_set_flag(speech, AST_SPEECH_SPOKE);
- default:
- speech->state = state;
- break;
}
+ speech->state = state;
+
return res;
}