2007年9月30日 星期日

2007年9月21日 星期五

Windows Media Player與副檔名

Windows Media Player在播ASF, MP3 WMA和WMV時,不是用DirectShow(不確定PC上的是不是也一樣)。硬要用DirectShow的話,要改註冊檔:
[HKEY_CLASSES_ROOT\Media Type\Extensions\.xxx]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.xxx]
其中Runtime和和Permissions請看: File Name Extension Registry Settings

這裡也要加,不過好像也沒差...
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\MLS\Extensions]

2007年9月20日 星期四

Windows CE Build筆記 (未完)

wince.bat

blddemo.bat invokes: sysgen, build, buildrel, and makeimg.
first 2 are invoked indirectly through cebuild.bat

Generating WinCE System: Sysgen.bat
sysgen.bat executes cesysgen.bat, where the modules and components.
include modules
CE_MODULES=coredll filesys nk
component included in a module
set COREDLL_COMPONENTS=coremain coreloc lmem thunks

BIB(Binary Image Builder Files) files specify the name and location of modules that must be included in the image.

filesys module initializes the Windows registry.

2007年9月12日 星期三

WindowsCE的printf

WindowsCE裡有些值用printf印不出來,要用DEBUGMSG, RETAILMSG, 或ERRORMSG

等巨集,NKDbgPrintfW


The debug printf messages are invaluable at some stages of development. However, we found drawbacks when using the non-Pocket PC reference platform. Basically, ActiveSync and EVC Remote Tools were frustratingly unreliable. After a successful build and download of a Rawether sample application and the PCANDIS4 driver the EVC Remote Tools may simply refuse to connect again until the PDA was rebooted.



http://www.pocketpcjunkies.com/Uwe/Forum.aspx/wince-pb/806/May-I-print-message-via-serial-port-instead-of-using-RETAILMSG



2007年9月11日 星期二

3GPP和3GPP2

3GPP3GPP2是不同的組織。
以通訊協定來看3GP是GSM,3GPP2是CDMA2000
從檔案格式來看:3GP/3GPP可視為簡化的MP4檔案格式

2007年9月10日 星期一

要連WindowsMobile6請先裝SP1

用Visual Studio 2005的工具Remote Registry Editor連不到WindosMobile 6的機器,沒有錯!又要裝VS 2005 Service Pack 1 (SP1)

2007年9月7日 星期五

OpenMAX API

OpenMAX是一套Khronos Group 推出的跨平台多媒體API,由上到下分為三層:Application Layer(AL)、(Integration Layer) IL和Development Layer (DL),免收權利金。目前有六個部門在管理:
(1)帶頭 - TI
(2) AL - Nvidia
(3) IL - TI
(4) Video DL - Motorola
(5) Still Image DL - ARM
(6) Speech/Audio - Intel。

IL顧名思義就是可以整合各種media framework之下,如Microsoft DirectShow、SDL、Linux GStreamer、Symbian MDF和MMAPI (JSR 135),我猜IL應該就像DirectShow的Filter。DL介於個codecs和CPU、DSP或硬體加速之間。

示意圖:
-----------------
| Application |
| OpenMAX AL |
| OpenMAX IL |
| Codecs |
| OpenMAX DL |
| Physical H/W |
-----------------

OpenMAX白皮書 - OpenMAX和DirectShow、Gstreamer和MDF的整合。

2007年9月6日 星期四

WindowsCE除錯


Platform Builder的Target Control Debugging Commands

WindowsCE介紹

WinHEC 2004裡的Embedded Design: Architecture and Engineering Advances有佷多WindowsCE架構的投影片。

Windows Mobile 5和6的比較
最主要好像是Exchange、Windows Live和一些messaging的東西...
from: Jason Langridge's WebLog

Windows CE5.0不支援midi的DirectShow Filter

看到這個才恍然大悟:
Effective with Windows CE 5.0, Windows CE no longer provides a MIDI filter for DirectShow. Third party solutions for MIDI support through DirectShow are still possible.
DirectShow Migration

用到dynamic_cast運算子時要加/GR

程式build可以過,但是run到dynamic_cast運算子時,會出現access deny(coredll.dll),然後hang住。

Sources檔要要加上/GR的compile option才可以。

讀更多: Compiler Options照字母排