mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-01 19:43:03 +00:00
- revert change to ast_queue_hangup and create ast_queue_hangup_with_cause
- make data member of the ast_frame struct a named union instead of a void Recently the ast_queue_hangup function got a new parameter, the hangupcause Feedback came in that this is no good and that instead a new function should be created. This I did. The hangupcause was stored in the seqno member of the ast_frame struct. This is not very elegant, and since there's already a data member that one should be used. Problem is, this member was a void *. Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone wants to store another type in there in the future. This commit is so massive, because all ast_frame.data uses have to be altered to ast_frame.data.data Thanks russellb and kpfleming for the feedback. (closes issue #12674) Reported by: mvanbaak git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
10
main/dsp.c
10
main/dsp.c
@@ -1075,7 +1075,7 @@ int ast_dsp_call_progress(struct ast_dsp *dsp, struct ast_frame *inf)
|
||||
ast_log(LOG_WARNING, "Can only check call progress in signed-linear frames\n");
|
||||
return 0;
|
||||
}
|
||||
return __ast_dsp_call_progress(dsp, inf->data, inf->datalen / 2);
|
||||
return __ast_dsp_call_progress(dsp, inf->data.ptr, inf->datalen / 2);
|
||||
}
|
||||
|
||||
static int __ast_dsp_silence_noise(struct ast_dsp *dsp, short *s, int len, int *totalsilence, int *totalnoise)
|
||||
@@ -1236,7 +1236,7 @@ int ast_dsp_silence(struct ast_dsp *dsp, struct ast_frame *f, int *totalsilence)
|
||||
ast_log(LOG_WARNING, "Can only calculate silence on signed-linear frames :(\n");
|
||||
return 0;
|
||||
}
|
||||
s = f->data;
|
||||
s = f->data.ptr;
|
||||
len = f->datalen/2;
|
||||
return __ast_dsp_silence_noise(dsp, s, len, totalsilence, NULL);
|
||||
}
|
||||
@@ -1254,7 +1254,7 @@ int ast_dsp_noise(struct ast_dsp *dsp, struct ast_frame *f, int *totalnoise)
|
||||
ast_log(LOG_WARNING, "Can only calculate noise on signed-linear frames :(\n");
|
||||
return 0;
|
||||
}
|
||||
s = f->data;
|
||||
s = f->data.ptr;
|
||||
len = f->datalen/2;
|
||||
return __ast_dsp_silence_noise(dsp, s, len, NULL, totalnoise);
|
||||
}
|
||||
@@ -1276,12 +1276,12 @@ struct ast_frame *ast_dsp_process(struct ast_channel *chan, struct ast_dsp *dsp,
|
||||
if (af->frametype != AST_FRAME_VOICE)
|
||||
return af;
|
||||
|
||||
odata = af->data;
|
||||
odata = af->data.ptr;
|
||||
len = af->datalen;
|
||||
/* Make sure we have short data */
|
||||
switch (af->subclass) {
|
||||
case AST_FORMAT_SLINEAR:
|
||||
shortdata = af->data;
|
||||
shortdata = af->data.ptr;
|
||||
len = af->datalen / 2;
|
||||
break;
|
||||
case AST_FORMAT_ULAW:
|
||||
|
||||
Reference in New Issue
Block a user