                          VLC media player for OS/2
                         ---------------------------
                         
1. Introduce
------------

  This program is a port of VLC media player to OS/2.
  
2. Features...
--------------
  
  .Support Qt4 interface
  .Support DART/UNIAUD
  .Support SNAP/WarpOverlay!/VMAN/DIVE
                             
3. Requirements...
------------------
  
  .kLIBC v0.6.6
  .Qt v4.7.3GA2

4. How to launch
----------------

  1) Add 'x:\vlc2\usr\local\lib' to LIBPATH in CONFIG.SYS
     (x is the drive letter where VLC is installed)
  
  2) Reboot
  
  3) Launch 'vlc.exe' on command line or on WPS

5. Limits or Known Bugs...
-------------------------
  
  .When using SDL vout driver, VLC exits abnormally after playing a movie 
   file.
   
6. TODOs...
-----------
  
  .Support all the plugins
  .Merge into the official source tree
  
7. History specific to OS/2...
------------------------------

  - vlc-3.0.12 (2021/01/19)
    .Sync with VLC v3.0.12 sources

  - vlc-3.0.11 (2020/07/18)
    .Sync with VLC v3.0.11 sources
    .KVA_AUTOMODE can be used to set default video mode(using libkva v1.2.4)
     For example, SET KVA_AUTOMODE=DIVE, SNAP, WO or VMAN

  - vlc-3.0.10 (2020/04/30)
    .Sync with VLC v3.0.10 sources

  - vlc-3.0.8 (2019/08/23)
    .Sync with VLC v3.0.8 sources
    .qt: actions of 'View' menu keeps growing. Issue #16. Fixed.
     Reported by mrwarper.

  - vlc-3.0.7.1 (2019/06/29)
    .Sync with VLC v3.0.7.1 sources

  - vlc-3.0.7 (2019/06/08)
    .Sync with VLC v3.0.7 sources

  - vlc-3.0.6 (2019/01/12)
    .Sync with VLC v3.0.6 sources

  - vlc-3.0.5 (2018/12/31)
    .Sync with VLC v3.0.5 sources

  - vlc-3.0.4 (2018/09/03)
    .Sync with VLC v3.0.4 sources

  - vlc-3.0.3 (2018/06/19)
    .Sync with VLC v3.0.3 sources
    .qt: percent encoded file name(%XX) is shown. Fixed.
    
  - vlc-3.0.2 (2018/05/08)
    .Sync with VLC v3.0.2 sources
    .console: print messages in system locale
    
  - vlc-3.0.1 (2018/03/22)
    .Sync with VLC v3.0.1 sources

  - vlc-3.0.0 (2018/02/10)
    .Sync with VLC v3.0.0 sources
    .Some GUI features may be limited(Qt4 is not supported any more)

  - vlc-2.2.8 (2017/12/17)
    .Sync with VLC v2.2.8 sources
    .Added libass plugin(using libass v0.13.7 and fribidi v0.19.7)
    .Use rpm version of fontconfig instead of mzfntcfgft version
    .faad: when playing audio,
     `faad warning: PNS not allowed in DRM data stream' message is printed.
     As well as, jerky sound is generated. Fixed. Reported by Heikki Kekki
     ( Use avcodec plugin instead of faad plugin )
    .Packaging error(snapwrap.dll missed). Fixed. Reported by Heikki Kekki
    
  - vlc-2.2.6 (2017/06/05)
    .Sync with VLC v2.2.6 sources
    
  - vlc-2.2.4 (2016/06/06)
    .Sync with VLC v2.2.4 sources

  - vlc-2.2.3 (2016/05/06)
    .Sync with VLC v2.2.3 sources
    
  - vlc-2.2.2 (2016/02/11)
    .Sync with VLC v2.2.2 sources
    .core : sometimes waiting for a conditional variable fails. Fixed
    .httplive : CPU load peaks to 99.9% when playing youtube live stream. Fixed
                (Conditional variable waiting failure was the cause)

  - vlc-2.2.1 (2015/04/25)
    .Sync with VLC v2.2.1 sources
    
  - vlc-2.2.0-fix1 (2015/03/10)
    .Fail to play DVD(dvdcss2.dll missed). Fixed.
     Issue #9. Reported by DavidMcKenna

  - vlc-2.2.0 (2015/02/28)
    .Sync with VLC v2.2.2 sources
    .Added gnutls plugin
    .Support https
    .skins2 : SIGFPE occurs. Fixed.
    .lua : Search in a wrong directory. Fixed. Reported by Maurice GUERON
    
  - vlc-2.1.5-r2 (2014/07/31)
    .Packaging error(bin directory missed). Fixed. Reported by Harald Kamm
    
  - vlc-2.1.5 (2014/07/30)
    .Sync with VLC v2.1.5 sources
    
  - vlc-2.1.3 (2014/02/15)
    .Sync with VLC v2.1.3 sources
    
  - vlc-2.1.1 ( 2013/12/07 )
    .Sync with VLC v2.1.1 sources
    
  - vlc-2.1.0 ( 2013/10/09 )
    .Sync with VLC v2.1.0 sources
    
  - vlc-2.0.7 ( 2013/06/16 )
    .Sync with VLC v2.0.7 sources
    .Added skins2 plugin
    
  - vlc-2.0.6 ( 2013/04/14 )
    .Sync with VLC v2.0.6 sources
    
  - vlc-2.0.5 ( 2013/01/01 )
    .Sync with VLC v2.0.5 sources
    .core : support 'One instance' feature( Suggested by Jerry Rash )
    .kva : support 'Always on top'

  - vlc-2.0.4 ( 2012/10/20 )
    .Sync with VLC v2.0.4 sources
    .stream_out_rtp : DLL name is longer than 8 bytes. Fixed
    .straem_out_raop : DLL name is longer than 8 bytes. Fixed
    .kva : image is sometimes not displayed on vman mode. Fixed
           ( using libkva v1.2.1 )
    .qt : focus is changed when timetooltip occurs. Fixed

  - vlc-2.0.2 ( 2012/07/14 )
    .Sync with VLC v2.0.2 sources
    .core : 'Open directories...' does not work. Fixed 
            ( reported by Andrew Elzenaar )
    .kai : the crash occur if uniaud.dll is present even if Uniaud driver is 
           not loaded. Fixed( using libkai v1.1.2, Reported by Erick )
    
  - vlc-2.0.1 ( 2012/03/30 )
    .Sync with VLC v2.0.1 sources
    .Added mkv plugin( using libebml, libmatroska )
    .Added os2drive plugin
    .kva : support vman
    .kva : support BGR4( dive/vman )
    .kva : auto-detect snap > wo > vman > dive 
    .qt4 : auto-detect CD/DVD drive
    .Mozilla plugin removed

  - vlc-1.1.13 ( 2011/12/24 )
    .Sync with VLC v1.1.13 sources
    .Make a name of a few plugins short
    .Sometimes fail to identify AMD CPU ID. Fixed

  - vlc-1.1.11 ( 2011/08/07 )
    .Syn with VLC v1.1.11 sources
    
  - vlc-1.1.9 ( 2011/05/14 )
    .Sync with VLC v1.1.9 sources
    .Added mux_ts plugin( using libdvbpsi )
    .Added ts plugin( using libdvbpsi )
    .Added access_realrtsp plugin( Support rtsp:// )
    .Added live555 plugin( Support rtsp:// )
    .Added a plugin for Mozilla( NOT RECOMMENDED ) 

  - vlc-1.1.7 ( 2011/02/06 )
    .Sync with VLC v1.1.7 sources
    .kai: system hangs on when audio is played before video is initialized     
          with uniaud mode and snap mode pair 
    .kai: sounds are distorted on uniaud mode 

  - vlc-1.1.5 ( 2010/12/05 )
    .Sync with VLC v1.1.5 sources
    .core : NLS is not supported if VLC is installed on the other place than 
            /usr/local
            
  - vlc-1.1.4 ( 2010/11/20 )
    .Sync with VLC v1.1.4 sources
    .Added cdda plugin
    .Added vcd plugin
    .Added freetype plugin
    .Added lua plugin
    .Added xml plugin
    .kai : Support dart/uniaud mode selection
    .kai : Support shareable/exclusive mode selection
    .kva : Support embedded video mode Áö¿ø
    .kva : Support snap/wo/dive mode selection
    .kva : Support workaround for T23 
    .kva : Support Aspect Ratio, Crop
    .kai : SIGFPE occurs when playing AAC audio. Fixed
    .kva : Playing is not stopped even if closing a window on a stand-alone 
           window mode. Fixed
    .dvdnav : Play does not work. Fixed
    .Codepage should be specified into LANG env. var. Fixed 
     ( Use a current codepage )

  - vlc-1.0.5-beta1 ( 2010/05/30 )
    .Added KVA vout module
    .Files whose name is consisting of DBCS chars cannot be played. Fixed
    .'\' does not work in DBCS env. Fixed
    .--plugin-path is required. Fixed
    .Audio is not played. Fixed
    .DVD device is stored in wrong chars when specifying it. Fixed
    .SYS3171 occurs in LIBC063, When playing DVD. Fixed
    .SIGSEGV occurs when playing a music file using KAI aout driver. Fixed
    .VLC hangs on when trying to play a non-existent file if using Qt4 
     interface. Fixed (Use Qt 4.6.2GA)

  - vlc-1.0.5-tp2 ( 2010/04/11 )
    .Support libavcodec, libavformat, libswscale, libpostproc, liba52
    .Added KAI aout module
    .Convert '/' to '\' of 'HOME' env. var.
    .Assertion failed in input thread. Fixed
     ( call vlc_thread_join() before vlc_object_release() )

  - vlc-1.0.5-tp1 ( 2010/03/14 )
    .Technology Preview 1

8. How to compile
-----------------

8.1 Requirements
----------------

  Refer to the following site.
  
	http://wiki.videolan.org/Contrib_Status

8.2 Buld tools used for OS/2 port...
------------------------------------

  .GCC v9.1.0
  .binutils v2.25
  .GNU Make v3.81-k2
  .wl(Open Watcom Linker) v2.0beta1
  .GNU coreutils v8.31
  .GNU sed v4.7
  .GNU grep v3.3
  .mksh R59b
  .autoconf v2.69
  .automake v1.16.1
  .pkg-config v0.29.1
  .libtool v2.4.6
  .OS/2 ToolKit v4.5
  .gettext v0.20.1
  .flex v2.6.4

8.3 Libraries used for OS/2 port...
-----------------------------------

  .libvorbis v1.3.5
  .ligogg v1.3.2
  .flac v1.3.2
  .x264 0.150.4482
  .a52 v0.7.4
  .libmpeg2 v0.5.1
  .faac v1.29.9.2
  .ffmpeg N-82896-gff8b17c
  .libmad v0.15.1b
  .libdvdcss v1.4.2
  .libdvdnav v6.0.1
  .libdvdread v6.0.2
  .libcddb v1.3.2
  .libcdio 0.81
  .libgpg-error v1.26
  .libgcrypt v1.7.5
  .libxml2 v2.7.8
  .libpng v1.6.28
  .freetype2 v2.10.1
  .fontconfig v2.13.1 rpm version
  .zlib v1.2.11
  .Qt4 v4.7.3GA2
  .lua v5.1.4
  .pthread rpm version
  .libkva v1.2.4
  .libkai v1.3.0
  .libdvbpsi v1.3.0
  .live555 2012.10.16
  .libebml v1.3.9
  .libmastroska v1.5.2
  .gnutls 3.5.8
  .gmp v6.1.2
  .nettle v3.3
  .libass v0.13.7
  .fribidi v0.19.7

8.4 Compilation
---------------

8.4.1 Applying patches
----------------------

  First of all, you should download the sources from VLC 
homepage(http://www.videolan.org/vlc/download-sources.html), and extract them 
into any directory what you want. Then extract 'src.zip' into the directory. 
And apply 'os2.diff' to the sources as the following.

    patch -p1 < os2.diff
  
8.4.2 setting a linker to WLINK
-------------------------------
   
  Set linker to WLINK.
  
    ex) gccenv gcc-usr-directory WLINK

8.4.3 Modifying 'QtCore.pc/QtGui.pc/QtSvg.pc'
---------------------------------------------

  Modify QtCore.pc/QtGui.pc/QtSvg.pc in a source package as the following.
  
    .Modify 'prefix' to the path where Qt4 is installed
    .Copy QtCore.pc/QtGui.pc/QtSvg.pc to the pkgconfig directory(for example, 
     /usr/lib/pkgconfig)

8.4.4 Modifying 'configure.cmd'
-------------------------------

  Modify configure.cmd in a source package as the following.
  
    .Modify 'LIVE555_PREFIX' to the path where live555 is installed
        
8.4.5 Compiling and Installing
------------------------------

  Copy configure.cmd to the top source directory of VLC. Then run 
configure.cmd in the top source directory.
  
  After configuring, run the following.
  
    make SHELL=/bin/sh
    
  After compiling, run the following.
  
    make SHELL=/bin/sh install
    
  Then, VLC is installed in /usr/local.
  
9. Official homepage of VLC media player
----------------------------------------

  The official homepage of VLC media player is

    http://www.videolan.org/vlc/
    
  Refer to the following for the basic use of VLC( Reported by Ed Durrant )
    
    http://www.videolan.org/doc/play-howto/en/ch03.html
    
10. Reporting...
----------------

  If you encounter a problem, send me the following,
  
  - Problem
  - SMP usage
  - Audio driver name ( Uniaud, SBLive and so on ) and its version
  - Video driver name ( SNAP, Panorama and so on ) and its version
  - Log file
  
  You can generate log files as the following,
  
      vlc.exe -vvv --file-logging media-filename > vlc-err.txt 2>&1

  Open a ticket at GitHub issue tracker with both vlc-log.txt and vlc-err.txt, 
please.

    https://github.com/komh/vlc-os2/issues
  
11. Donation
------------

  If you are satisfied with this program and want to donate to me, please visit
the following URL.

    http://www.os2.kr/komh/os2factory/

  Or, please click the Ads in the following blog.

    https://lvzuufx.blogspot.com/
      
12. Contacts...
---------------

  Please use a issue tracker of github.
  
    https://github.com/komh/vlc-os2/issues

KO Myung-Hun
