Description:
This is a Windows Media Foundation file source and decoder for FLAC format.
The source and decoder are implemented separately to enable FLAC decoding from other containers.
It should work with any player client which uses Media Foundation pipeline,
such as Windows Media Player 12. It's not a DirectShow source/filter, so it won't work
inside a DirectShow graph. It won't even load on windows XP, because it uses a newer API.
History:
22.11.2013 (v1.4)
Read-write support for FLAC tags.
20.11.2013 (v1.3)
Read-only support for FLAC tags.
Better integration with shell.
05.07.2011
Proper registration with Windows Media Player, including playlists
07.05.2011 (v1.2)
An antistutter measure is implemented -
now media source outputs samples 3 seconds long
04.05.2011 (v1.1)
Added Property Handler to show audio properties in windows shell
03.05.2011
MSI Installer able to associate an icon with FLAC type
30.04.2011 (v1.0)
Media Source and Decoder.
Tested on Windows 7, WMP12 32/64-bit.
System requirements:
Windows 7/2008/8/2012, x86/x64
A Media Player aware of Media Foundation, x86/x64.
Information for developers:
The media source asynchronously outputs a compressed data from a FLAC file
with the media subtype MFAudioFormat_FLAC, defined as follows:
#define WAVE_FORMAT_FLAC 0xF1AC
// {0000F1AC-0000-0010-8000-00AA00389B71}
DEFINE_MEDIATYPE_GUID(MFAudioFormat_FLAC, WAVE_FORMAT_FLAC);
Each media sample is approx. 3 seconds long and consists of whole FLAC frames.
The source should work correctly even when the metadata is absent.
The decoder synchronously accepts and decodes samples of the above media subtype,
containing any number of whole FLAC frames. Each frame is decoded into a single buffer
within a sample.
To visualize an MF graph, use TopoEdit - part of Windows SDK.