Only use the double dash (--) to escape filenames that begin with a dash (-) when...
authorpabs <pabs@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Tue, 18 Dec 2007 03:22:09 +0000 (03:22 +0000)
committerpabs <pabs@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Tue, 18 Dec 2007 03:22:09 +0000 (03:22 +0000)
git-svn-id: http://svn.voria.com/code@1210 1f10aa63-cdf2-0310-b900-c93c546f37ac

synfig-core/trunk/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp

index d2e8525..1832ccd 100644 (file)
@@ -156,7 +156,10 @@ ffmpeg_trgt::init()
                }
                // Close the unneeded pipeout
                close(p[0]);
-               execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec", "ppm", "-an", "-r", strprintf("%f", desc.get_frame_rate()).c_str(), "-i", "pipe:", "-loop", "-hq", "-title", get_canvas()->get_name().c_str(), "-vcodec", "mpeg1video", "-y", "--", filename.c_str(), (const char *)NULL);
+               if( filename.c_str()[0] == '-' )
+                       execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec", "ppm", "-an", "-r", strprintf("%f", desc.get_frame_rate()).c_str(), "-i", "pipe:", "-loop", "-hq", "-title", get_canvas()->get_name().c_str(), "-vcodec", "mpeg1video", "-y", "--", filename.c_str(), (const char *)NULL);
+               else
+                       execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec", "ppm", "-an", "-r", strprintf("%f", desc.get_frame_rate()).c_str(), "-i", "pipe:", "-loop", "-hq", "-title", get_canvas()->get_name().c_str(), "-vcodec", "mpeg1video", "-y", filename.c_str(), (const char *)NULL);
                // We should never reach here unless the exec failed
                synfig::error(_("Unable to open pipe to ffmpeg"));
                return false;