--- 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);