]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MODFORM-22
authorBrian West <brian@freeswitch.org>
Thu, 5 Feb 2009 20:10:08 +0000 (20:10 +0000)
committerBrian West <brian@freeswitch.org>
Thu, 5 Feb 2009 20:10:08 +0000 (20:10 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11659 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/formats/mod_sndfile/mod_sndfile.c

index 9da11376e04f3e6b667ff9ea650190400cda6ef0..d1db8f09a2997e40933504fab3aa383665146dec 100644 (file)
@@ -139,6 +139,9 @@ static switch_status_t sndfile_file_open(switch_file_handle_t *handle, const cha
                context->sfinfo.format = SF_FORMAT_RAW | SF_FORMAT_ALAW;
                context->sfinfo.channels = 1;
                context->sfinfo.samplerate = 8000;
+       } else if (!strcmp(ext, "adpcm")) {
+               context->sfinfo.format = SF_FORMAT_WAV | SF_FORMAT_IMA_ADPCM;
+               context->sfinfo.samplerate = 8000;
        }
 
        if ((mode & SFM_WRITE) && sf_format_check(&context->sfinfo) == 0) {
@@ -305,7 +308,7 @@ static switch_status_t setup_formats(void)
        char buffer[128];
        int format, major_count, subtype_count, m, s;
        int len, x, skip;
-       char *extras[] = { "r8", "r16", "r24", "r32", "gsm", "ul", "al", NULL };
+       char *extras[] = { "r8", "r16", "r24", "r32", "gsm", "ul", "al", "adpcm", NULL };
        int exlen = (sizeof(extras) / sizeof(extras[0]));
        buffer[0] = 0;