Category Archives: Projects

DirectShow MPEG4 playback distorted; scrambled

When using DirectShow and Haali Media Splitter to playback MPEG4 or MKV videos encoded in H264, picture can be distorted or "scrambled".

mp4-scrambledIf your video looks like that, you need to adjust settings in the Haali Media Splitter.

haali_media_splitterUse the Media Splitter properties and select "Use custom media type for H.264" and value "Yes". This will properly tell the decoder filter  to decode H.264.

3D-Kinect controllable timetable (Untis3D)

Based on the electronic time-table solution (WebUntis) for schools from an Austrian company (, we implemented a 3D digital signage display of the time-table of our school, controllable via Kinect.untis3d_demo_1

The basis for data acquisition is a JSON-RPC-API from WebUntis, for which we developed a Java interface for use with the 3D display application.


Credits: Johannes Grünberger, Thomas Hasl, Theodor Seiser

Multichannel DirectShow ASIO Renderer

During an ongoing programming project in our school, I developed a multichannel ASIO-DirectShow filter. This filter provides ASIO multichannel output for any DirectShow source in Windows.
The filter can be used with almost any Windows media player that supports user-defined output filters (e.g. Media Player Classic, The Core Media Player, Zoom Player, RadLight, WinAmp, etc.).

Supported features:

  • Dynamic ASIO-Driver Selection
  • Supports up to 24 output channels
  • Waveformat conversion and detection
    • Mono, Stereo, Surround modes 4.0,4.1,,6.0,6.1,7.0,7.1
    • Sample rates up to 192kHz
    • Encoding PCM 16,24,32-Bits and PCM Float
  • FFT-Spectrum Analyzer
  • Output sample rate selection
  • Output volume control for master and separate output channels
  • N:N channel mapping (i.e. connect each input channel to arbitrary number of output channels)
  • Virtual speaker room (i.e. graphical interface to control volume of each speaker, using 2D-position of user within a virtual room)
  • Spatial FFT mapping feature that moves virtual user, and therefore sound based on frequency spectrum

In order to use the Multichannel ASIO Renderer Filter, just download and install the software. Prerequisite is .NET 4.

Version History

Version 1.46:

  • Fixed install issues with regasm
  • Deleted Mathnet, implemented Vector class
  • Modified setup routine
  • Fixed bufferlength for multichannel wav

Version 1.47:

  • Modified Pause/Start/Stop reinitialization of ASIO Drivers
  • Modified ClearBuffer

Version 1.50:

  • Re-implemented ASIO-output
  • Adaptive buffersize
  • Fixed sync- and click-issues
  • Fixed spectrum viewer


Version 1.65:

  • Included NAudio in Assembly
  • Eliminated Sourcegrid - now only one Assembly-DLL
  • Smaller footprint

Version 1.66 (10/04/2016):

  • Fixed synchronization

Version 1.67 (10/10/2016):

  • Fixed small bug in virtual speakerroom

Version 1.70 (10/14/2016):

  • Fixed small channel-mapping grid problem

Version 1.72 (10/28/2016):

  • Timestamp-based synchronization
  • Remember speakerroom settings
  • Modified ASIO driver initialization

Version 1.76 (12/03/2016):

  • Fixed bug where renderer crashed when switching drivers
  • Changed registry key to HKCU/Software
  • Fixed bug in channel mapping grid with channel names

Version 1.80 (12/19/2016):

  • Fixed serious memory leak in renderer 
  • Improved audio output
  • Fixed update bug in channel mapping grid

Version 1.81 (12/22/2016):

  • Fixed channel grid update bug when changing channels while displaying mapping

Version 1.91 (01/02/2017):

  • Fixed driver initialization
  • Fixed registry entries for channel mapping and driver selection
  • Fixed registry save and load

Version 1.94 (01/08/2017):

  • Updated to audio library
  • Modified driver initialization
  • Fixed bug in audio buffering
  • Added output samplerate selection

Version 1.95 (01/12/2017):

  • Modified Pause function

Version 1.96 (01/18/2017):

  • Fixed issue with default driver selection
  • Fixed concurrency issue in buffering

Version 1.98 (01/24/2017):

  • Fixed renderer disposal problem
  • Fixed memory leaks when renderer is removed from filter graph

Version 1.99 (02/23/2017):

  • Fixed compatibility with other player (KMPlayer, PotPlayer, etc.)
  • Fixed problem with speaker names
  • Reworked memory management

Version 2.00 (02/27/2017):

  • Fixed volume issue
  • Fixed issue in PotPlayer
LICENSING: Through donations, you are eligible to use this software for private, non-commercial purposes. If you intend to sell, include or distribute this software in connection or packaged with or within a commercial product, please contact the author for commercial licensing at:

PLEASE -DONATE- before using the software!

MultiChannelASIORendererSetup2.00.exe (29317 downloads)
softonic-logo-inlineDownload from Softonic
videohelpDownload from
Softpedia_LogoDownload from Softpedia
iuklgcndcDownload from

Please donate between $5 and $10 if you are using the software.   Thank you!

For a sophisticated description on configuring a media stack built with Potplayer, LAV filters and ASIO, please take a look at TennojiM's blog page:

When installed, just start your favorite  DirectShow media player and find the option to change the audio renderer (e.g. in MPC Menu->View->Options->Playback/Output):

After selecting the Multichannel ASIO Renderer, start playing the media. The filter properties window can be opened in almost any player, using the Filters-Menu:

The filter properties provide access to all the features of the Multichannel ASIO Renderer:

Additional Links on this topic: