Tuesday, 28 July 2009

Windows Embedded CE Live Chat

Hi folks,

just in case you missed the Windows Embedded CE Live Chat today and because poor Sue has to go through a lot of trouble to put this online - manually! - you can find the transcript of todays chat here:

Sue Loh [MS] (Moderator)[18:14]: Hi, I'm Sue Loh, a developer on the Windows Mobile team with file system, kernel and perf tools experience.
rajran[MS] (Expert)[18:14]: Hi, I'm Rajeev Rangappa , PM for CE group.
Sing Wee [MS] (Expert)[18:14]: Hi I'm Sing Wee, part of the General Embedded BSP/Core OS Test Team.
FBLANQ_MSFT (Expert)[18:14]: Hi, I'm Francisco Blanquicet, part of the General Embedded CoreOS/BSP Test Team.
kurtken_msft (Expert)[18:14]:
Q: [2] Does anybody have experience with Marvells PXA320 Platform in conjunction with more than 256 MB RAM or know anybody who is successfully using more than 256MB RAM with the Marvell Platform?
A: I believe that some companies that provide reference platforms for the PXA320, such as Logic, BSquare, etc have experience with using more than 256MB of RAM. Windows CE 6.0 and previous can only support a theoretical maximum of 512MB of RAM.
santoshh_MSFT (Expert)[18:14]:
Q: [1] Does someone know a MP4/M4V (or any) Direct Show Source Filter for WINCE500 that splits media into h264 and mp3?
A: Hi eric this is an MPEG-4 container correct?
Sue Loh [MS] (Moderator)[18:14]:
Q: [11] When will the chat transcripts be archived. The last archived chat under http://msdn.microsoft.com/chats is from 2008
A: Sorry, that's my fault. It is a manual process to reorganize the conversations into understandable threads, and it has been hard to make time. Plus I left all the old files on a PC that I can't access at the moment. I will try to get this wrapped up in the next month.
Sue Loh [MS] (Moderator)[18:15]: Hi all, just a friendly reminder that anything you post without clicking "ask the experts" is likely to be missed by our experts. Our tools mainly show those messages.
kurtken_msft (Expert)[18:17]:
Q: [3] here http://msdn.microsoft.com/en-us/library/aa931918.aspx, it is named a REGION_TYPE parameter. Its possible values are
A: XIP is for execute-in-place code (NOR Flash). Readonly_FileSys is for flash that holds a file system that filesys can read from but not write to, and filesys is for a read/write persistent file system.
santoshh_MSFT (Expert)[18:19]:
Q: [17] @[1]: hi santossh: no matter what container it is. the decoder filter input pin is typeof MEDIATYPE_VIDEO, MEDIASUBTYPE_H264
A: unfortunately we dont have a demultiplexer which can parse an mp4 container and feed the decoder the h.264 file.
kurtken_msft (Expert)[18:19]:
Q: [7] located at C:\WINCE600\PLATFORM\COMMON\SRC\SOC using the MIPS compiler!
What is happening? How can I fix that?
A: It is possible that your BSP is not setting the CPU type appropriately. When you open a build window from within PB (Build->Open build window in release directory), check the values in the environment to see what they have been set to. If they are set to ARM correctly then I believe that you may have a corrupted installation of windows CE.
kurtken_msft (Expert)[18:19]:
Q: [4] Unfortunately I could not find a good description about these values. How to use them?
A: see previous response
kurtken_msft (Expert)[18:19]:
Q: [6] I installed 2 new third party ARM BSP under Windows CE 6.0. When I work using a BSP based on MIPSII and sysgen my solution,
then it tried to build the components from the ARM BSPs...
A: see previous response
PaulT (Expert)[18:20]:
Q: [14] We have notices that the NETUI_USERPWD_AUTH_FAIL flag is already set even when the GetUsernamePasswordEX function is called the first time. Unforuntaly we are running into problems accessing a shared network resoures for a longer period of time
A: So, what you're saying is that, rather than asking you to show the dialog saying that "authorization is necessary" the first time, it always shows "authorization failed", yes? It's probably trying the Network ID information from the System Control Panel applet and, finding that this failed, then calling the NETUI function. I'm surprised that this is different than how it worked in CE5. Maybe you'd already set the Network ID in some way in CE5 previously?
kurtken_msft (Expert)[18:20]:
Q: [5] The surface blt function in wince 6.0 is delivered in object code so we don't have any visibility about it. How does wince 6.0 provides support for accelerated blitting functionality?
A: The display driver in windows CE is a virtual C++ class. When GDI wants to blit, it calls into virtual functions in the display driver. if those virtual functions are overridden by your acceleration code, then you have access to the ability to do hardware blitting.
Sue Loh [MS] (Moderator)[18:21]:
Q: [24] @ Sue Loh: Regarding chat transcript: Would you mind if I put the "Answers from the experts" on my blog afterwards until you have found the time to do so?
A: That seems reasonable... It's public knowledge anyway.
kurtken_msft (Expert)[18:23]:
Q: [26] The XIP concept is a little bit confusing in the FMD examples. More than the NOR XIP concept it is used to provide access to the whole Flash, for example accesing the FMD code in the bootloder.
A: for XIP, your flash is partitioned very carefully. is there a specific question you have? I was not able to see one in your comment.
David Boyce [MS] (Moderator)[18:23]:
Q: [21] @[1]: i have h264 encoded MOV/MP4/M4V files and need to decode by MEDIASUBTYPE_H264. Visit the Embedded BSP search page for help http://www.microsoft.com/windowsembedded/en-us/msdn/bspsearch.aspx
A: Windows CE doesn't include a H.264 decoder. You'll need to work w/ the BSP/OEM about a DirectShow wrapper for their H.264 Decoder
santoshh_MSFT (Expert)[18:25]:
Q: [27] @[1]: what source filters do you have? what a container do you use?
A: we have an ASF source filter which can handle wma,wmv files
Sue Loh [MS] (Moderator)[18:25]:
Q: [25] My question is: what are the rules of overlaying the files brought within the Nk.bin over the same files (same path and name) residing on CF storage? For example, if my CF card has \Windows folder with some file X on it and the same file is in Nk.bin?
A: If you have mounted your CF as root "\" then any file in the \Windows folder on your CF will shadow (overlay) a file by the same name in ROM.
kurtken_msft (Expert)[18:25]:
Q: [19] Cannot boot WinCE with a bootable CF which is more than 4 GB. Does WinCE 6.0 support this?
A: i'm assuming that you mean boot x86. Windows CE should support this, but you would have to use the exFat file system.
santoshh_MSFT (Expert)[18:25]:
Q: [27] @[1]: what source filters do you have? what a container do you use?
A: we also can handle MPEG1 and AVI containers
Sue Loh [MS] (Moderator)[18:26]:
Q: [25] My question is: what are the rules of overlaying the files brought within the Nk.bin over the same files (same path and name) residing on CF storage? For example, if my CF card has \Windows folder with some file X on it and the same file is in Nk.bin?
A: Note however that this only applies to \Windows and not sub-directories. All of ROM shows up in \Windows so there's no such thing as shadowing in sub-directories of \Windows, like \Windows\Start Menu.
kurtken_msft (Expert)[18:26]:
Q: [20] @k2: Is there a chance of getting a contact to one of these guys. Our customer ist still having problems getting 512MB to run - you may remember?
A: bsquare, logicpd, etc are all available on the internet. You may also try the windows ce newsgroups - developers from those companies troll on them.
kurtken_msft (Expert)[18:26]:
Q: [22] Thanks for your answer. "...a file system that filesys can read from but not write to..." Which ones?
A: For example, if you have a pre-built TFAT file system that you do not want anyone to write to. The format doesn't matter, in essence. The flash driver is just told "don't write-cache or allow writes to this region".
kurtken_msft (Expert)[18:27]:
Q: [32] Yes, I am trying to boot x86, but I always used FAT OR NTFS. Will try exFat
A: NTFS is not supported by CE unless it is done by an outside OEM or SI. I am not aware of an implementation of that right now.
PaulT (Expert)[18:28]:
Q: [28] NETUI-Problem: I am working with a clean system, so no credentials should be available at all. The "authorization failed" dialog is not displayed before the GetUsernamePasswordEx function is beeing called.
A: Yes, I don't think that's unexpected. What I'm thinking is that, when the network resource is going to be connected (you didn't tell us what you're connecting to, by the way), the code that makes that connection first will try the default information that it has (no dialog presented). If that fails, it would then pop up the dialog and tell the user, hey, you need to tell us what user name and password to use. At least in the case of the redirector (network share access), this is exactly what it does. It tries to connect as the default network ID or the ID that you previously used when connecting the resource. No UI is attempted in that case. If that fails, though, it then asks for a user name and password and, since an authentication attempt has failed (the default one), that flag makes at least some sense. Of course, if that's different than it used to be, you'll have to figure out what to do about it, but I wouldn't call it a bug. Does it work the first time you hit the resource?
santoshh_MSFT (Expert)[18:29]:
Q: [23] Need MPEG 1 (50) codec
A: Please enable SYSGEN_DSHOW_MPEGV that should bring the MPEG-1 video codec
Sue Loh [MS] (Moderator)[18:31]:
Q: [33, 38] Another question regarding the notifyDB. Is there any reason why there are added duplicate entries? We are running a (huge) .NET application and each time the board is beeing started there is a new entry available in the notifyDB.
So far we could not detect any location within our application that could add this entry.
A: I am guessing this is coming from the CF, then - can you tell what the entry is? We don't have any CF experts on this chat but we might be able to puzzle out what is going on.
kurtken_msft (Expert)[18:31]:
Q: [34] @ [25]: OK, so if my CF card has \Windows\StartUp subfolder, will its content appear in the OS filesystem under \Windows\StartUp or will the StartUp folder definition in the Initobj.dat replace that folder's content entirely?
A: That depends on the type of your file system. If your file system is a persistent one, then the object store (stuff in initobj.dat) will shadow whatever is in the persistent file system.
santoshh_MSFT (Expert)[18:32]:
Q: [23] Need MPEG 1 (50) codec
A: the error is a standard MPEG 1 audio codec error. Can you
and SYSGEN_DSHOW_MP3 and try again ?

David Boyce [MS] (Moderator)[18:32]:
Q: [37] Can't play WMV on my computer without the MPEG-1 (50) codex, where do I find this??
A: Make sure you have the MPEG-1 Video Codec added to your image: SYSGEN_DSHOW_MPEGV
http://msdn.microsoft.com/en-us/library/aa451458.aspx. Another trick is to walk the filter using enum to see at what point the graph is failing to build.
Sue Loh [MS] (Moderator)[18:36]:
Q: [40] On an "empty" CE6 system the notifyDB stays valid all the time, so the reason must be within our application SMILEY :). But maybe your have any hint to start searching.
A: What do you mean by it being "invalid"? NotifyDB is used for CeRunAppAtTime and CeRunAppAtEvent - basically applications register for notifications of certain events. If there's a new entry then someone must have registered to be notified sometime in the future.
Travis Hobrla [MS] (Expert)[18:36]:
Q: [35] Is there any tutorial to port a direct draw library from wince 5.0 to 6.0?
A: Do you mean a display driver? If not, what is the function of the library?
David Boyce [MS] (Moderator)[18:38]:
Q: [41] Dern think needing MS MPEG-1(50) even stumps the experts!! Am I SOL????
A: MPEG-1 is included in Windows CE. Video: SYSGEN_DSHOW_MPEGV and Audio: SYSGEN_DSHOW_MP3. Will include the DirectShow support for handling these mpeg-1 formats.

David Boyce [MS] (Moderator)[18:44]:
Q: [39] @[1]: we are oem for arm-based wince devices. we need to play high quality videos based on h264. our platform can decode h264 in hardware. but we can not tell wince to parse containers including h264 data to connect to the input pin of your h264 decoder
A: WinCE doesn't include a software Demux filter for parsing H.264 Codec data from a M4V container.
Travis Hobrla [MS] (Expert)[18:44]:
Q: [45] The direct draw function we are troubling to port from wince 5.0 to 6.0 is the CreateSurface, in particular when creating Off screen surfaces, the same function works on wince 5.0, whereas crashes on 6.0.
A: Did you follow the steps in the migration guide here: http://msdn.microsoft.com/en-us/library/aa913866.aspx
David Boyce [MS] (Moderator)[18:45]:
Q: [13] I need a source filter (dshow) that i reference from HKEY_CLASSES_ROOT\Media Type\Extensions\.m4v that parses a m4v file for a h264 decoder dshow transform filter
A: Windows CE doesn't include a software Demux filter for parsing M4V containers.
David Boyce [MS] (Moderator)[18:51]:
Q: [29] how do experts decode mp4 or mv4 or mov files on WINCE500 / WINCE600
A: Windows CE includes container support for ASF, MPEG, AVI, MP3, WAV, WMA/WMV, and others but doesn't include MP4 or M4V container support in DirectShow. http://msdn.microsoft.com/en-us/library/ms940098.aspx
David Boyce [MS] (Moderator)[18:53]:
Q: [42] Can we replace the MicroSoft Image Sink Filter with our own Sink Filter in WM 6.5?Which are all the applications will be using the Image sink filter other than pimg.exe?
A: The directshow filter is loaded based on the merit in the registry. To have a custom Image Sink Filter load you'll need to register the subtypes and make sure the merit is higher than any other filters w/ the same media types. http://msdn.microsoft.com/en-us/library/aa920889.aspx.
PaulT (Expert)[18:54]:
Q: [51] I guess there is no person familiar with WinCE 5.0 USB stack SAD SMILEY :( Maybe someone knows the proper contact, so i can ask my question?
A: Post to the newsgroup microsoft.public.windowsce.platbuilder.
David Boyce [MS] (Moderator)[18:55]:
Q: [54] I posted, but there is still no answer.
A: We are tracking down a resource to assist with your questions.
PaulT (Expert)[18:56]:
Q: [54] I posted, but there is still no answer.
A: Then you need to add more information, continue updating the thread as you localize the problem. If you can't localize the problem or get any peer support in the newsgroup, you'll either have to use one of the support requests that comes with Platform Builder and call Microsoft or just try to fix it yourself. I think that it's very likely a problem unique to you, so you may find that no one else has ever done precisely what you describe. Have you gotten ZERO replies? That's very unusual.
David Boyce [MS] (Moderator)[18:56]:
Q: [31] @[21]: I do have the h264 decoder (decodes in hardware). what i need is a source filter that parses to MEDIASUBTYPE_H264. How do you play mp4 (or any h264 encoded) files with windows ce?
A: Windows CE doesn't include a DirectShow demux for MP4 container format w/ H.264 Codec
Travis Hobrla [MS] (Expert)[18:58]:
Q: [52] I get a lot of warning after porting my BSP from WinCE 5.0 to 6.0, is it "normal"?
A: Do you mean compiler / linker warnings? Can you give an example?
David Boyce [MS] (Moderator)[19:01]: Thanks for the chat there were some great questions. There are several questions that require more research so if questions were not answered please email me (davbo@microsoft.com) and restate your question and will try to follow up with answers as they come in. Thanks David
Sing Wee [MS] (Expert)[19:03]:
Q: [54] I posted, but there is still no answer.
A: Hi Antion, I've found your "USB Device Select Configuration" question online that you posted on 7/17. I'll try to find someone to go up on the newsgroup and answer the question for you.
David Boyce [MS] (Moderator)[19:08]: Signing off thanks for joining. Look for the next chat session next Month.

So long and thanks for all the fish!

No comments: