Merged revisions 290576 via svnmerge from
authorTilghman Lesher <tilghman@meg.abyt.es>
Wed, 6 Oct 2010 13:50:33 +0000 (13:50 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Wed, 6 Oct 2010 13:50:33 +0000 (13:50 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r290576 | tilghman | 2010-10-06 08:49:19 -0500 (Wed, 06 Oct 2010) | 15 lines

  Merged revisions 290575 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2

  ........
    r290575 | tilghman | 2010-10-06 08:48:27 -0500 (Wed, 06 Oct 2010) | 8 lines

    Allow streaming audio from a pipe.

    (closes issue #18001)
     Reported by: jamicque
     Patches:
           20100926__issue18001.diff.txt uploaded by tilghman (license 14)
     Tested by: jamicque
  ........
................

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

main/file.c

index 4c14148..2f6cb31 100644 (file)
@@ -961,10 +961,12 @@ int ast_streamfile(struct ast_channel *chan, const char *filename, const char *p
         * done this way because there is no where for ast_openstream_full to
         * return the file had no data. */
        seekattempt = fseek(fs->f, -1, SEEK_END);
-       if (!seekattempt)
-               ast_seekstream(fs, 0, SEEK_SET);
-       else
+       if (seekattempt && errno == EINVAL) {
+               /* Zero-length file, as opposed to a pipe */
                return 0;
+       } else {
+               ast_seekstream(fs, 0, SEEK_SET);
+       }
 
        vfs = ast_openvstream(chan, filename, preflang);
        if (vfs) {