Kevin noted that the thing that I _actually_ changed here was that I converted

a value from a double, to a float, back to a double.  Sure enough, when I changed
my interim variable back to a double, it still blows up.  Switching all of these
to a float fixes the problem.  This seems like a compiler bug where a double passed
as an argument isn't getting properly aligned, so I'll have to see if I can replicate
it with a small test program.

(related to issue #11725)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2008-01-11 19:05:24 +00:00
parent d1256bb8a6
commit 7bc92eda05

View File

@@ -49,12 +49,12 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
struct slin16_to_slin8_pvt {
void *resampler;
double resample_factor;
float resample_factor;
};
struct slin8_to_slin16_pvt {
void *resampler;
double resample_factor;
float resample_factor;
};
static int slin16_to_slin8_new(struct ast_trans_pvt *pvt)
@@ -98,7 +98,7 @@ static void slin8_to_slin16_destroy(struct ast_trans_pvt *pvt)
}
static int resample_frame(struct ast_trans_pvt *pvt,
void *resampler, double resample_factor, struct ast_frame *f)
void *resampler, float resample_factor, struct ast_frame *f)
{
int total_in_buf_used = 0;
int total_out_buf_used = 0;