]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Detect when sox fails to raise the volume, because sox can't read the file.
authorTilghman Lesher <tilghman@meg.abyt.es>
Mon, 28 Jul 2008 21:50:50 +0000 (21:50 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Mon, 28 Jul 2008 21:50:50 +0000 (21:50 +0000)
(closes issue #12939)
 Reported by: rickbradley
 Patches:
       20080728__bug12939.diff.txt uploaded by Corydon76 (license 14)
 Tested by: rickbradley

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@134161 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_voicemail.c

index cf71c5f8a7d00280053c32fb8f2f6a5d28c48ca3..09c90e58870a2e354aa33b878df7e11aea1b197e 100644 (file)
@@ -1994,11 +1994,18 @@ static void make_email_file(FILE *p, char *srcemail, struct ast_vm_user *vmu, in
                        if (option_debug > 2)
                                ast_log(LOG_DEBUG, "newtmp: %s\n", newtmp);
                        if (tmpfd > -1) {
+                               int soxstatus;
                                snprintf(tmpcmd, sizeof(tmpcmd), "sox -v %.4f %s.%s %s.%s", vmu->volgain, attach, format, newtmp, format);
-                               ast_safe_system(tmpcmd);
-                               attach = newtmp;
-                               if (option_debug > 2)
-                                       ast_log(LOG_DEBUG, "VOLGAIN: Stored at: %s.%s - Level: %.4f - Mailbox: %s\n", attach, format, vmu->volgain, mailbox);
+                               if ((soxstatus = ast_safe_system(tmpcmd)) == 0) {
+                                       attach = newtmp;
+                                       if (option_debug > 2) {
+                                               ast_log(LOG_DEBUG, "VOLGAIN: Stored at: %s.%s - Level: %.4f - Mailbox: %s\n", attach, format, vmu->volgain, mailbox);
+                                       }
+                               } else {
+                                       ast_log(LOG_WARNING, "Sox failed to reencode %s.%s: %s (have you installed support for all sox file formats?)\n", attach, format,
+                                               soxstatus == 1 ? "Problem with command line options" : "An error occurred during file processing");
+                                       ast_log(LOG_WARNING, "Voicemail attachment will have no volume gain.\n");
+                               }
                        }
                }
                fprintf(p, "--%s" ENDL, bound);