--- lame-398-2.orig/frontend/get_audio.c     2009-06-17 00:45:34.000000000 +0900
+++ lame-398-2/frontend/get_audio.c 2009-06-17 00:48:58.000000000 +0900
@@ -605,12 +605,17 @@
         }
 #endif
 #ifdef HAVE_MPGLIB
-        if ((musicin = fopen(lpszFileName, "rb")) == NULL) {
+       if (!strcmp(lpszFileName, "-")) {
+         lame_set_stream_binary_mode(musicin = stdin); /* Read from standard input. */
+       }
+       else {
+         if ((musicin = fopen(lpszFileName, "rb")) == NULL) {
             if (silent < 10) {
-                error_printf("Could not find \"%s\".\n", lpszFileName);
+             error_printf("Could not find \"%s\".\n", lpszFileName);
             }
             exit(1);
-        }
+         }
+       }
         if (-1 == lame_decode_initfile(musicin, &mp3input_data, enc_delay, enc_padding)) {
             if (silent < 10) {
                 error_printf("Error reading headers in mp3 input file %s.\n", lpszFileName);
