现在想在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. 需要自己写注册表文件,即.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. 需要自己写注册表文件,即.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
谢谢,终于有点方向了!!