const char *alt = NULL;
int eof = 0;
switch_size_t bread = 0;
+ int l16 = 0;
switch_channel_pre_answer(channel);
read_codec = switch_core_session_get_read_codec(session);
+ if (!strcasecmp(read_codec->implementation->iananame, "l16")) {
+ l16++;
+ }
+
if (switch_strlen_zero(file) || !read_codec) {
status = SWITCH_STATUS_FALSE;
goto end;
write_frame.timestamp = timer.samplecount;
}
#ifndef WIN32
-#if 0 // don't seem to need it, maybe only on mac?
-//#if SWITCH_BYTE_ORDER == __BIG_ENDIAN
- if (!asis) {
+ //#if SWITCH_BYTE_ORDER == __BIG_ENDIAN
+ if (!asis && l16) {
switch_swap_linear(write_frame.data, (int) write_frame.datalen / 2);
}
-#endif
+ //#endif
#endif
if (fh->vol) {
switch_change_sln_volume(write_frame.data, write_frame.datalen / 2, fh->vol);