Go to Google Groups Home    microsoft.public.windowsmedia.player
Metadata from OGG, FLAC and zero duration

Cristian Adam <cristian.a...@gmail.com>

Hi,

I'm the current maintainer of Directshow Filters for Ogg Vorbis,
Speex, Theora and FLAC, and I would like to improve the Windows Media
Player user experience when it comes to these file formats.

Alex Zambelly wrote back in 2003 (http://tinyurl.com/bama4j)
"I believe getting the metadata promotion to work correctly might
require
a more WMP-friendly plugin, as opposed to just a DirectShow filter.
I'm
actually surprised no one in the Ogg development community has looked
into that yet."

I have dumped all the interfaces that Windows Media Player 11 queries
for the FLAC source filter:

INFO: NonDelegatingQueryInterface: {56A86895-0AD4-11CE-
B03A-0020AF0BA770}, [IBaseFilter]
INFO: NonDelegatingQueryInterface: {56A868A6-0AD4-11CE-
B03A-0020AF0BA770}, [IFileSourceFilter]
INFO: NonDelegatingQueryInterface: {8E1C39A1-DE53-11CF-
AA63-0080C744528D}, [IAMOpenProgress]
INFO: NonDelegatingQueryInterface: {F90A6130-B658-11D2-
AE49-0000F8754B99}, [IAMDeviceRemoval]
INFO: NonDelegatingQueryInterface: {0000010C-0000-0000-
C000-000000000046}, [IPersist]
INFO: NonDelegatingQueryInterface: {FA2AA8F5-8B62-11D0-
A520-000000000000}, [IAMNetShowExProps]
INFO: NonDelegatingQueryInterface: {3C43D14F-25B3-4E34-A36C-
F575DEEA29C0}, [Unknown GUID Name]
INFO: NonDelegatingQueryInterface: {56A868FE-0AD4-11CE-
B0A3-0020AF0BA770}, [IAMPlayList]
INFO: NonDelegatingQueryInterface: {DFDFD197-A9CA-43D8-
B341-6AF3503792CD}, [IMFVideoRenderer]
INFO: NonDelegatingQueryInterface: {56A868B5-0AD4-11CE-
B03A-0020AF0BA770}, [IBasicVideo]
INFO: NonDelegatingQueryInterface: {81A3BD32-
DEE1-11D1-8508-00A0C91F9CA0}, [IMixerOCX]
INFO: NonDelegatingQueryInterface:
{095CAB33-2B11-46F7-8107-6B67D4065CD6}, [IWMPVideoNodeInternal]
INFO: NonDelegatingQueryInterface: {36B73880-
C2C8-11CF-8B46-00805F6CEF60}, [IMediaSeeking]
INFO: NonDelegatingQueryInterface: {56A868B2-0AD4-11CE-
B03A-0020AF0BA770}, [IMediaPosition]
INFO: NonDelegatingQueryInterface: {2DD74950-A890-11D1-
ABE8-00A0C905F375}, [IAMFilterMiscFlags]
INFO: NonDelegatingQueryInterface: {56A868B4-0AD4-11CE-
B03A-0020AF0BA770}, [IVideoWindow]
INFO: NonDelegatingQueryInterface: {56A868B3-0AD4-11CE-
B03A-0020AF0BA770}, [IBasicAudio]
INFO: NonDelegatingQueryInterface: {B8E8BD60-0BFE-11D0-
AF91-00AA00B67A42}, [IIPDVDec]
INFO: NonDelegatingQueryInterface: {C1960960-17F5-11D1-
ABE1-00A0C905F375}, [IAMStreamSelect]
INFO: NonDelegatingQueryInterface: {B45DD570-3C77-11D1-
ABE1-00A0C905F375}, [IID_IMpegAudioDecoder]
INFO: NonDelegatingQueryInterface: {5738E040-B67F-11D0-
BD4D-00A0C911CE86}, [IPersistMediaPropertyBag]
INFO: NonDelegatingQueryInterface: {0BB53976-978F-41F9-A66B-
A29CC318A817}, [Unknown GUID Name]
INFO: NonDelegatingQueryInterface:
{55272A00-42CB-11CE-8135-00AA004BB851}, [IPropertyBag]

There are two unknown interfaces {3C43D14F-25B3-4E34-A36C-
F575DEEA29C0} and {0BB53976-978F-41F9-A66B-A29CC318A817}, are they
responsible for querying metadata? maybe, maybe not.

This metadata should be added by somebody in the database, like Jim
Travis suggested on this
thread http://tinyurl.com/c3aqur by using IWMPMedia::setItemInfo. Is
there a possibility that Windows Media Player would ask somebody about
the metadata?

WMP Tag Support Extender (http://wmptagext.sourceforge.net/) project
has created a Windows Media Player plugin which spies on events and
adds the metadata, is this the only way to add metadata for 3rd
parties? by creating an Windows Media Player plugin?

Windows Media Player 10 Mobile uses information acquired from
IAMMediaContent interface - http://tinyurl.com/abpvhe is this an
accident?

Another problem I'm facing is that if I try to play a FLAC file
directly from the Library the duration is set to 00:00 and seeking is
not possible.

If I play the file directly by invoking "%programfiles%\windows media
player\wmplayer.exe" file duration is determined correctly, seeking
works.

If I have made a playlist and play the file from there the duration is
set correctly and seeking works.
How can I overcome this problem?

Many thanks,
Cristian.