HelixPlayer for Windows Mobile 5.0 Build Instructions

HelixPlayer for Windows Mobile 5.0 Build Instructions

Summary:

The Pocket PC port of the player is provided for developers to make builds for the Windows CE/ARM device. The documentation here covers the environment settings, and discusses the module dependencies, and supported functions (codecs for playback).

Windows'Mobile'SDKVersion 5.0 'Target Device:Cingular 8525

  • Download and install the Windows Mobile 5.0 Developer Resource Kit
  • http://www.microsoft.com/downloads/details.aspx?familyid=3baa5b7d-04c1-4ec2-83dc-61b21ec5fe57&displaylang=en

Download and install Windows CE 5.0: Standard Software Development Kit (STANDARD_SDK)

  • Download and install Windows Template Library (WTL) -> wtlce.zip
  • http://www.pocketpcdn.com/libraries/wtl.html


Assumptions:

o Windows 2000 or XP system

o Preinstalled Microsoft Visual Studio 2005 (Helix build only cares of VC8 compilers and linker there)

o Preinstalled Microsoft Windows Mobile 2005 SDK (Helix build now only cares of Pocket PC SDK installation there and WM2005 arm compiler)

o Current build setup assumes WM2005 SDK is installed under "C:\Program Files\Windows CE Tools" folder.

o Current build setup assumes Pocket PC 2005 SDK is installed under "C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK" folder


  • Download and set-upthe Helix build system.
  • Execute the build.py at the place you want the source to be checked out, you will get the menu after the build system updates the bif files:
[0] Set BIF branch (hxclient_3_1_0_atlas_restricted) 
[1] Set Target(s) (wince_wm50_play) 
[2] Set Profile (helix-client-wince-wm50) 
[3]run: build -trelease -tnodll 
[4] Toggle make depend & makefiles (-e -n) 
[5] Toggle release (-trelease) 
[6] Toggle 'make clean' (-c) 
[7] Toggle clobber (Dangerous!) (-C) 
[8] Toggle halt-on-error (-p green) 
[9] Toggle verbose mode (-v) 
[10] Toggle static build (-tnodll) 
[11] Checkout source for selected target now 
[12] Set Tag/Branch/Timestamp 
[13] Help Page (full help in build/doc/index.html) 
[Q] Quit 

  • You may enter a "q" option if you want theBuildStart.bat batch file(uploaded) to check out the source for you. Or you may choose option 11 to checkout the source code with the BIF, Target and Profile.
  • Note:

Target of hxclient_3_1_0_atlas_restricted requires access to restricted source code. Access requires you to have a codec source code license from both Microsoft and Real. More information can be found the Helix Licensing FAQ and contact licensing@helixcommunity.org. Without such access, BIF branch "hxclient_3_1_0_atlas" can normally be used which leverages pre-built binaries or a target in the client/build/BIF/hxclient_3_1_0_atlas.bif that does not require any restricted modules. Since this port is in rather early stages, the pre-built binaries or the target excluding restricted modules may not be available.

  • 'Build for Pocket PC':

Set SYSTEM_ID= wince-500-ppc-arm Toggle release [5] for debug version Option [3] to build

  • You may use the BuildStart.bat batch file uploaded. The build batch files are set up so that developer does not have to deal with PATH and other system variables. You may want to place this file peer to the folder you want your source should go in, as internally it will go inside the source folder. You may modify the batch file as per your machine path.
  • Modify the path settings for Cygwin and Python if your install location is different from the default install location.
  • Helix build will be started on hxclient_3_1_0_atlas_restricted branch. Target wince_wm50_play is built using profile helix-client-wince-wm50.
  • Build will produce Release bits. If this was to change to Debug build, BuildStart.bat would need to be modified. (build_option_flags ---> removing '-t release' . By default (or no option) is a debug build.
  • All folder paths can be changed if appropriate modifications are provided within .buildrc and BuildStart.bat files
  • Once you get the source code, you may modify the batch file to make a local build by adding -y -k flags for set common_flags=


  • You may also need to add the following variables in the .buildrc file
  • atlce: Path for atl. You may find atl in the downloaded and installed STANDARD_SDK
  • wtlce: Path for wtl. Should be mapped to the downloaded and installed wtlce
  • gapi: Simply Needs to be defined as the build for device does not require GAPI
  • evc5_visual_tools: Should be mapped to the VC8 x86_arm compiler : C:/Program Files/Microsoft Visual Studio 8/VC/ce/BIN/x86_arm
  • windows_ce_tools: Should be mapped to Windows CE Tools. : C:/Program Files/Windows CE Tools


  • The .buildrc file should look something like
AddMultiCVS("helix",":ext:<helix_id>@cvs.helixcommunity.org:/cvsroot/")
AddBIFPath("common", "[helix]/common/build/BIF")

AddBIFPath("client", "[helix]/client/build/BIF")

AddBIFPath("client-restricted", "[helix]/client-restricted/build/BIF")

AddBIFPath("common-restricted", "[helix]/common-restricted/build/BIF")

SetSDKPath("atlce", "C:/SDKs/ATLCE")

SetSDKPath("wtlce", "C:/SDKs/WTLCE")

SetSDKPath("gapi","Just_Need_To_Be_Defined_For_Device_Build")

SetSDKPath("evc5_visual_tools", "C:/Program Files/Microsoft Visual Studio 8/VC/ce/BIN/x86_arm")

SetSDKPath("windows_ce_tools", "C:/Program Files/Windows CE Tools")

You may modify the paths as per location of your tools


  • Further Information:
  • AtlCom.h
  • AtlWin.h

Please update the following files in wtlce. Patch uploaded - wtl_include_patch.diff.txt

  • AtlApp.h
  • AtlDlgs.h
  • AtlMisc.h


  • Install Instructions:
  • Make Helix build
  • Connect the Desktop computer to the device via ActiveSync
  • Create \Helix folder on the device (this could be any folder path except ROM folders like \Windows).
  • Download built Helix binaries (helixplayer.exe) from the release\debug folder and place them in the \Helix folder
  • Launch HelixPlayer.exe on the device.
  • Exit the Helix player (please use Exit menu item at the bottom on the GUI window)
  • From now on, use the Helix Player as a regular Pocket PC application


  • GUI tips:
  • Bottom Exit menu item will close the app and release all the memory. The top X button will only hide the GUI. The app will remain open. If Helix Player is launched again, it will automatically discover the running instance and switch to it
  • Use Select menu item to browse to a file for local playback.
  • Use "little earth with arrow" icon (3rd item on the bottom menu) to get to the Open URL dialog and type in an rtsp: or file: protocol link directly (useful for network playback).
  • Use the "screen" icon at the left hand of Exit menu item to switch the Player in Full Screen mode.
  • Clean up your System:

If you have already done some development with Pocket PC before you may need to pay attention to any lingering versions of the SDK or other programs listed here that could conflict with the precise order of your PATH. Also, make sure you have plenty of disk space.


  • Queries / Questions:

Please email to wince-dev@helixcommunity.org mailing list regarding further guidance