diff options
author | mvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-05-22 16:29:54 +0000 |
---|---|---|
committer | mvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-05-22 16:29:54 +0000 |
commit | c1210321e7aeb274076b14fc2f622edf442246fa (patch) | |
tree | bcbbf4eda53cdb8257bbc7add4616e01e31b1ae2 /main/dsp.c | |
parent | 2d9ba021dd38039616c82a4e317f652abe246ba3 (diff) |
- 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: http://svn.digium.com/svn/asterisk/trunk@117802 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/dsp.c')
-rw-r--r-- | main/dsp.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/main/dsp.c b/main/dsp.c index 935bcb0bf..c0f4746df 100644 --- a/main/dsp.c +++ b/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: |