PitfDLL is a GStreamer plugin that allows the use of binary files, such as Quicktime QTX or Directshow/DMO DLL files, for use as a playback codec in GStreamer-based media applications, such as Totem. With this plugin, people can playback proprietary file formats for which no free software implementation exists yet.
I started the project in 2005. Back then, we had no "native" decoders for
commonly used / popular media codecs such as Windows Media Video 9, Windows
Media Audio 9 (WMA-PRO) and alike. Back then, I had no idea how to "fix"
this codec deficiency. All we had was the Windows DLLs that provide playback
functionality to Windows Media Player or Quicktime Player.
I started this project so that people using GStreamer could use these Windows DLLs and use them to play back media in GStreamer. This worked, and still works. According to Google Analytics, I get +/- 100 page views per day on this page alone.
I discontinued development in 2007, and shortly after (early 2008), the project died. The remainders can be found on SourceForge and anyone is free to use them in whatever way you see fit, as long as you comply with the license (GPL). See below for downloads / etc.
I discontinued the project because I no longer believe this is the right way
to go. PitfDLL is based on a x86-only DLL loader from
Wine (also used in Xine, mplayer, avifile).
Although this might appear to work in practice, it fails in the long run:
- Technology: it provides us with no insight into how these codecs work, and as a result we can also not write native encoders for this format;
- Portability: it only works on x86 computers, and only on the few OSes that the Wine port works on;
- Bugs: it provides us with no way to fix bugs that exist in the original codebase;
- Development: we can not add new features to the codecs, because we don't have access to their source code;
- Optimizations: we can not add new optimizations to the codecs, because we don't have access to their source code.
The proper way to go - I decided - is to discontinue this project and focus on writing native implementations of those codecs of interest. I do that by contributing to FFmpeg. If you want to see native implementations of codecs, please contribute to FFmpeg.
PitfDLL currently supports:
- Windows Media Video 7, 8 and 9
- Windows Media Audio 7, 8 and 9
- QDesign Music 2 (QDM2)
- Intel Indeo 5 (IV50)
- GStreamer 0.8.6
- GStreamer plugins 0.8.8 (0.8.9 or CVS required for QDM2)
- DLL files, e.g. from the mplayer website
PitfDLL is hosted on SourceForge, and file releases are available from there, too. The latest available release is 0.8.2, which was released on November 14th, 2005. Information on CVS access is available on SourceForge, too.
- Where does the name come from?
The name stands for "pitfall", but with a 'd' instead of 'a' for obvious reasons. Any other naming associations are interesting, but unintended.