os2.diff by (Paul Smedley // paul smedley info)
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 25 Apr 2005 15:13:39 +0000 (15:13 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 25 Apr 2005 15:13:39 +0000 (15:13 +0000)
Originally committed as revision 4160 to svn://svn.ffmpeg.org/ffmpeg/trunk

configure
ffplay.c

index 044fa24..8b8ce6c 100755 (executable)
--- a/configure
+++ b/configure
@@ -315,12 +315,12 @@ make="gmake"
 ;;
 OS/2)
 TMPE=$TMPE".exe"
-ar="emxomfar -p64"
+ar="emxomfar -p128"
 ranlib="echo ignoring ranlib"
 strip="echo ignoring strip"
 CFLAGS="-Zomf"
 LDFLAGS="-Zomf -Zstack 16384 -s"
-SHFLAGS=""
+SHFLAGS="-Zdll -Zomf"
 FFSLDFLAGS=""
 LIBPREF=""
 LIBSUF=".lib"
@@ -333,7 +333,9 @@ audio_oss="no"
 dv1394="no"
 network="no"
 ffserver="no"
+vhook="no"
 os2="yes"
+
 ;;
 *) ;;
 esac
index f74f0e4..161f34e 100644 (file)
--- a/ffplay.c
+++ b/ffplay.c
 #undef main /* We don't want SDL to override our main() */
 #endif
 
+#ifdef CONFIG_OS2
+#define INCL_DOS
+ #include <os2.h>
+ #include <stdio.h>
+ void MorphToPM()
+ {
+   PPIB pib;
+   PTIB tib;
+   DosGetInfoBlocks(&tib, &pib);
+   // Change flag from VIO to PM:
+   if (pib->pib_ultype==2) pib->pib_ultype = 3;
+ }
+#endif
+
 #if defined(__linux__)
 #define HAVE_X11
 #endif
@@ -1887,6 +1904,14 @@ int main(int argc, char **argv)
     /* register all codecs, demux and protocols */
     av_register_all();
 
+    #ifdef CONFIG_OS2
+      MorphToPM(); // Morph the VIO application to a PM one to be able to use Win* functions
+      // Make stdout and stderr unbuffered
+      setbuf( stdout, NULL );
+      setbuf( stderr, NULL );
+    #endif
+
     parse_options(argc, argv, options);
 
     if (!input_filename)