NOTES ON THE OS/2 PORT This is an (experimental) OS/2 port of MKVToolNix 2.0.2, a set of utilities for working with Matroska multimedia files. Matroska is a container format for multimedia files, rather like AVI except open source and considerably more sophisticated. See the README (or the links below) for more information. OS/2 support for Matroska files is still somewhat limited, unfortunately. (One reason I made this port was to try and help remedy that situation!) As far as the available players go, WarpVision can generally play Matroska video (MKV) files, albeit without subtitle support. The same goes for the K Movie Player (FFPlay port). The current OS/2 port of MPlayer can often play them as well, although you seem to have more or less luck depending on the codecs in use as well as your video hardware and drivers. USING These programs have NOT been tested extensively. They compiled successfully, and I've verified that they will at least run. Beyond that, I make no guarantees. The mmg (mkvmerge GUI) program has not been ported, as it apparently requires a later version of WxWidgets than is included in Paul's build system. Refer to the original README file for an overview of MKVToolNix. The individual program man pages are located in the 'man' subdirectory, and plain-text versions are located in the 'doc' subdirectory. BUILD NOTES This was an almost-clean compile from the version 2.0.2 source tree (using the GCC build environment assembled by Paul Smedley). The only change was to the downcase() function in src/common/common.cpp; that was to work around an apparent bug in the Innotek LIBC 0.6.1 implementation of tolower(). Since this bug is listed as fixed for 0.6.2, I don't see much point in providing a patch; but for the sake of GPL compliance, I've listed the modified function here (starting from line 1008 in common.cpp): string downcase(const string &s) { #ifdef __OS2__ // temporary workaround for a bug in OS/2 GCC 3.3.5 tolower()... char *clwr; clwr = (char *)malloc(s.size()); strcpy(clwr, s.c_str()); string dst(strlwr(clwr)); free(clwr); #else string dst; int i; dst.reserve(s.size()); for (i = 0; i < s.size(); i++) dst += tolower(s[i]); #endif return dst; } (And thanks to Peter Weilbacher for helping me fix this.) LINKS MKVToolNix homepage: http://www.bunkus.org/videotools/mkvtoolnix/ Matroska homepage: http://www.matroska.org Paul Smedley's OS/2 ports: http://smedley.info/os2ports/ My page for ported programs: http://www.cs-club.org/~alex/programming/ports/ -- Alex Taylor April 2007