]> git.sesse.net Git - mlt/blobdiff - src/melt/io.c
Document sepia filter.
[mlt] / src / melt / io.c
index 520d74fc0d48b962cd0828c471a5080a7aa2c409..46b992b96c536cc553610ec77c0fd9914cf528d4 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
+#ifndef WIN32
 #include <termios.h>
+#else
+// MinGW defines struct timespec in pthread.h
+#include <pthread.h>
+// for nanosleep()
+#include <framework/mlt_types.h>
+#endif
 #include <unistd.h>
 #include <sys/time.h>
 
@@ -93,8 +100,10 @@ int *get_int( int *output, int use )
 /** This stores the previous settings
 */
 
+#ifndef WIN32
 static struct termios oldtty;
 static int mode = 0;
+#endif
 
 /** This is called automatically on application exit to restore the 
        previous tty settings.
@@ -102,11 +111,13 @@ static int mode = 0;
 
 void term_exit(void)
 {
+#ifndef WIN32
        if ( mode == 1 )
        {
                tcsetattr( 0, TCSANOW, &oldtty );
                mode = 0;
        }
+#endif
 }
 
 /** Init terminal so that we can grab keys without blocking.
@@ -114,6 +125,7 @@ void term_exit(void)
 
 void term_init( )
 {
+#ifndef WIN32
        struct termios tty;
 
        tcgetattr( 0, &tty );
@@ -132,6 +144,7 @@ void term_init( )
        mode = 1;
 
        atexit( term_exit );
+#endif
 }
 
 /** Check for a keypress without blocking infinitely.
@@ -140,6 +153,7 @@ void term_init( )
 
 int term_read( )
 {
+#ifndef WIN32
     int n = 1;
     unsigned char ch;
     struct timeval tv;
@@ -158,6 +172,10 @@ int term_read( )
             return ch;
         return n;
     }
+#else
+       struct timespec tm = { 0, 40000000 };
+       nanosleep( &tm, NULL );
+#endif
     return -1;
 }