请教wince5.0下开发filter流程

时间:2021-08-19 17:33:17
前段时间开始学习directshow下的filter的开发,买了陆老师的 directshow 开发指南,在window XP上做了些试验,能够用上自己注册的filter
现在想在wince5.0下开发filter,比如说MPEG2 video decoder filter 请教各位高手:
1、库的问题
在wince 下开发是在EVC下吧,在VC 6.0开发需要的库如strmbasd.lib,该如何生成?
如果不生成库,把bassclasses的源码放在工程里面一起编译能行吗?
2 假如生成的.ax的文件,在wince5.0下应该怎么注册,在run 里还可以运行regsvr32.exe    XXXX.ax类似注册吗?
如果没有,该怎么办?

网上没有搜到,谁知道给点提示吧 
谢谢 !!

2 个解决方案

#1


1. strmbasd.lib等文件在wince500下的相关文件夹里搜索的到,用evc开发或者pb都可以

2. 需要自己写注册表文件,即.reg文件,格式你参考你的directx.reg里的格式


; @CESYSGEN IF QUARTZ_MPGSPLIT

; MPEG-1 Stream Splitter

[HKEY_CLASSES_ROOT\Filter\{336475d0-942a-11ce-a870-00aa002feab5}]
@="MPEG-I Stream Splitter"

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}]
@="MPEG-I Stream Splitter"
"Merit"=dword:00600000

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\InprocServer32]
@="quartz.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Audio Output]
"Direction"=dword:00000001
;"IsRendered"=dword:00000000
"AllowedZero"=dword:00000001
;"AllowedMany"=dword:00000000

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Audio Output\Types\{73647561-0000-0010-8000-00AA00389B71}\{E436EB80-524F-11CE-9F53-0020AF0BA770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Audio Output\Types\{73647561-0000-0010-8000-00AA00389B71}\{E436EB81-524F-11CE-9F53-0020AF0BA770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Input]
;"Direction"=dword:00000000
;"IsRendered"=dword:00000000
;"AllowedZero"=dword:00000000
;"AllowedMany"=dword:00000000

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Input\Types\{E436EB83-524F-11CE-9F53-0020AF0BA770}\{E436EB84-524F-11CE-9F53-0020AF0BA770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Input\Types\{E436EB83-524F-11CE-9F53-0020AF0BA770}\{e436eb85-524f-11ce-9f53-0020af0ba770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Input\Types\{E436EB83-524F-11CE-9F53-0020AF0BA770}\{e436eb86-524f-11ce-9f53-0020af0ba770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Input\Types\{E436EB83-524F-11CE-9F53-0020AF0BA770}\{e436eb87-524f-11ce-9f53-0020af0ba770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Video Output]
"Direction"=dword:00000001
;"IsRendered"=dword:00000000
"AllowedZero"=dword:00000001
;"AllowedMany"=dword:00000000

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Video Output\Types\{73646976-0000-0010-8000-00AA00389B71}\{E436EB80-524F-11CE-9F53-0020AF0BA770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Video Output\Types\{73646976-0000-0010-8000-00AA00389B71}\{E436EB81-524F-11CE-9F53-0020AF0BA770}]

; MEDIASUBTYPE_MPEG1SystemStream
[HKEY_CLASSES_ROOT\Media Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{e436eb84-524f-11ce-9f53-0020af0ba770}]
"0"="0, 16, FFFFFFFFF100010001800001FFFFFFFF, 000001BA2100010001800001000001BB"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

; @CESYSGEN ENDIF

#2


谢谢,终于有点方向了!!

#1


1. strmbasd.lib等文件在wince500下的相关文件夹里搜索的到,用evc开发或者pb都可以

2. 需要自己写注册表文件,即.reg文件,格式你参考你的directx.reg里的格式


; @CESYSGEN IF QUARTZ_MPGSPLIT

; MPEG-1 Stream Splitter

[HKEY_CLASSES_ROOT\Filter\{336475d0-942a-11ce-a870-00aa002feab5}]
@="MPEG-I Stream Splitter"

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}]
@="MPEG-I Stream Splitter"
"Merit"=dword:00600000

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\InprocServer32]
@="quartz.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Audio Output]
"Direction"=dword:00000001
;"IsRendered"=dword:00000000
"AllowedZero"=dword:00000001
;"AllowedMany"=dword:00000000

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Audio Output\Types\{73647561-0000-0010-8000-00AA00389B71}\{E436EB80-524F-11CE-9F53-0020AF0BA770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Audio Output\Types\{73647561-0000-0010-8000-00AA00389B71}\{E436EB81-524F-11CE-9F53-0020AF0BA770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Input]
;"Direction"=dword:00000000
;"IsRendered"=dword:00000000
;"AllowedZero"=dword:00000000
;"AllowedMany"=dword:00000000

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Input\Types\{E436EB83-524F-11CE-9F53-0020AF0BA770}\{E436EB84-524F-11CE-9F53-0020AF0BA770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Input\Types\{E436EB83-524F-11CE-9F53-0020AF0BA770}\{e436eb85-524f-11ce-9f53-0020af0ba770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Input\Types\{E436EB83-524F-11CE-9F53-0020AF0BA770}\{e436eb86-524f-11ce-9f53-0020af0ba770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Input\Types\{E436EB83-524F-11CE-9F53-0020AF0BA770}\{e436eb87-524f-11ce-9f53-0020af0ba770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Video Output]
"Direction"=dword:00000001
;"IsRendered"=dword:00000000
"AllowedZero"=dword:00000001
;"AllowedMany"=dword:00000000

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Video Output\Types\{73646976-0000-0010-8000-00AA00389B71}\{E436EB80-524F-11CE-9F53-0020AF0BA770}]

[HKEY_CLASSES_ROOT\CLSID\{336475d0-942a-11ce-a870-00aa002feab5}\Pins\Video Output\Types\{73646976-0000-0010-8000-00AA00389B71}\{E436EB81-524F-11CE-9F53-0020AF0BA770}]

; MEDIASUBTYPE_MPEG1SystemStream
[HKEY_CLASSES_ROOT\Media Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{e436eb84-524f-11ce-9f53-0020af0ba770}]
"0"="0, 16, FFFFFFFFF100010001800001FFFFFFFF, 000001BA2100010001800001000001BB"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

; @CESYSGEN ENDIF

#2


谢谢,终于有点方向了!!