Thursday, August 23, 2007

Develop mws like filter

mws.RingBuffer.tlb
mws.servlet.tlb
mws.Icf
mwssource.ax - MWS Source Filter
mws.exe

How to make the media player to support new URL type like
mws://localhost:8080/NNS100_H


Process of playing the Custom File Format in a windows media player :

Here the new protocol or own file format is specified in mws.reg.

They also specify the Source Filter for the MWS in a registry.
So that whenever the user enters the mWS URL the windows media player
creates the Source Filter instance and passes the URL to the specified source Filter.


It is just the process of playing our own format on windows media player.

mws.reg file is as follows :

REGEDIT4

[HKEY_CLASSES_ROOT\mws]
@="MWS : Media WAN Server Protocol"
"EditFlags"=hex:02,00,00,00
"URL Protocol"=""
"Source Filter"="{0641BDB6-FBB3-446a-AFC5-C49F64B276B3}"

[HKEY_CLASSES_ROOT\mws\DefaultIcon]
@="c:\\Program Files\\Windows Media Player\\wmplayer.exe,0"

[HKEY_CLASSES_ROOT\mws\QuickView]
@="*"

[HKEY_CLASSES_ROOT\mws\Shell]
@=""

[HKEY_CLASSES_ROOT\mws\Shell\open]
"EditFlags"=hex:01,00,00,00

[HKEY_CLASSES_ROOT\mws\Shell\open\command]
@="C:\\Program Files\\Windows Media Player\\wmplayer.exe %1"


we can define our own network protocol or file writer...



Custom File Formats :

If you have a custom mux or file-writer filter that supports your own file format, you can specify the CLSID as the first parameter of the SetOutputFileName method:

IBaseFilter *pMux = 0;
IFileSinkFilter *pSink = 0;
hr = pBuild->SetOutputFileName(&CLSID_MyCustomMuxFilter,
L"C:\\VidCap.avi", &pMux, &pSink);

For more information about this usage, see ICaptureGraphBuilder2::SetOutputFileName.


mws registry entries:
--------------------------------
1.mws.client.MWSClient class
2.mws.DiskRingBuffer.DiskRingBuffer
3.mws.protocol.cmd
4.mws.protocol.PrmAVBufferingStatus
5.mws.protocol.PrmAVEndOfStream
6.mws.protocol.PrmBeginRead
7.mws.protocol.PrmCreateStream
8.mws.protocol.PrmDeleteStream
9.mws.protocol.PrmError
10.mws.protocol.PrmGetStreamInfos
11.mws.protocol.PrmUpdatableStreamInfos
12.mws.protocol.PrmUpdateDisplayStreamInfos
13.mws.protocol.RbFormatterBuilder
14.mws.protocol.TrackInfos
15.mws.protocol.MemRingBuffer
16.mws.protocol.RingBufferReplicator
17.mws.WmDateTime.WmDateTime

No comments: