From Helix Community
Last Update: 4/12/2004
- Symbian7.0 port
- MMF integration
- MSL integration
- Further Image Size Reduction
- Bug fixing for release
- Performance and stability improvements:
- Media Server Starvation
- GPRS rate cotrol tunning
- 3GPP datatype interop.
Text segment size reduction
- Access Point Configuration
- Send To...
Performance and stability improvements:
- Video Loss after seek
Transport buffer limiting (additional heap usage optimization for streaming case)
- Utilizing Access Point Configuration
TimedText porting to Symbian
Integration of SMIL datatype (.smil)
Http (1.0) support integration
- http streaming
- progressive download - no GUI support at this time (this feature was cut for this release)
.ram file and playlist support
Integration of AMR file format (.amr)
Integration of Image datatypes (png, gif, jpg, wbmp)
SMIL support in video site
SMIL datatype modularization & integration/li> Unused dll unloading
Basic Player GUI
Heap use reduction
Device 3GPP operation verification
Heap Use robustness
All memory allocations near memory peaks were checked at verified with a run-time heap profiling tool on linux and symbian emulator memory tool.
Audio/Video playback performance imporvements
Performance was affected by long blocking intervals audio writes take. This was unexpected as audio writes are issued in asynchronous mode.
THUMB+ARM mixed builds verification
3GPP and RM datatype plugins ported to Symbian/ARM (verification in progress)
- mp4 (3gp), rm file formats
- mp4, h263, RV video renderers
- RA audio renderer
- mp4 audio renderer (AMR)
- H263+ decoder, MP4-video decoder, RV7,8,9 decoders
- RA-G2 (Gecko), AMR-nb and AMR-wb audio decoders
Networking stack ported and verified on emulator and device
- NAT Poke port fuinctionality has been added to RDT and RTP stacks to allow UDP traffic.
- RTSP/RTP and RTSP/RDT streaming over TCP and UDP/IP has been verified with RA-G2 (Gecko) audio.
Video Site with 1:2, 1:1 and 2:1 scaling working on device and emulator
Operation has been verified on RV7 with RA-G2 A/V files.
Heap Use minimization completed Local RA player on device
splay now compiles and runs on the device for local RA playback. See the mailing list for build instructions.
Removal of writable global data
Global Manger has been finished and used to remove data from all modlues needed for local RA playback on the device.
Removal of floating point computations
Floating point resampler has been put into place. Floating points have been removed from all places needed for local RA playback on the device. Symbian does support emulated floating points.
Stub video surface/site
The mini site has been ported to symbian and it is running on the emulator as a NULL site (throws away the video frame).
ARM build configuration files
we now have all the .cf files needed to compile DLLS/APPS/EXEs on the emulator and the armi device.
Compiling client core for local RA playback (integration)
RealAudio files containing RA8LBR codec and mp3 files can be played with splay on the emulator.
File Format Exerciser (smplfsys + rmffplin + dtdrive)
Scheduler and Timer exerciser
Build System work
3 new Symbian .cf files have been checked into CVS. Symbian.cf, symbian-61.cf and symbian-61-emulator.cf. The correct SYSTEM_ID to use is symbian-61-emulator.cf. At a later date we will need to add a symbian-61-device.cf file that correctly compiles for the device.
NOTE: currently the helix.bif does not contain any targets that are set to build for symbian. One must manually add symbian to the
Compiling cross platform code (containers, utilities)
Changes were commited to get the common_container_test target compiling and running on the Symbian emulator. All container unit tests now pass.
A new INT64 bit class was written to support our INT64 datatype. It is a thin wrapper around Tint64.
File System Exerciser (local only)
common/fileio module has been proted to Symbain. The file object and directory object (includes file finding service) functionality has been varified with a unit test. Full-blown file system test will be performed along with file format tests in the data-type driver harness (datatype/tools/dtdriver). Current implementation has framework for managing access from multiple threads, but currently implements support for single thread access only. The additional support will be added if determined needed.
Audio project porting
Audio device was implemented and tested on the emulator. The test of complete audio chain will have to wait completion of client engine port. The audio unit test lives in audio/device/test and builds into a .lib with one entry point, audioTestEntry, that runs the whole test. Under symbian you can not just have a simple .exe that calls that function because the emulator will not start the media servers and all audio calls will fail. So, in /audio/device/test/platform/symbian is a MSVC project to build a simple symbian GUI to exercise the audio device unit test. The readme file in that directory will give you more info on how to build and run it.
HXThreads library has been ported and tested on the emulator. The only feature that is really missing is timed waits on HXEvents as Symbian does not provide timed waits on any of its synchronization objects. HXMutexes were implemented using critical sections in Symbian as they are faster if you don't need cross-process synchronization. We also had to roll our own recursive mutexes. Two versions of the HXAsyncTimer were implemented. One uses Active Objects to get callbacks and the other uses HXThreads and the message pumps to do it. The threads version is the only one compiled and used by default.
Plugin Loader Exerciser
Loading of DLLs has been ported to Symbain (DLLAccess). The functionality has been verified in a unit test on the emulator. The DLLAccess code expects to be able to extract symbols from a DLL by symbol name. Symbian DLLs only support the use of ordinals to retrieve symbols from the DLL. To fix this problem a symbol table is compiled into each DLL that maps it's exported symbol names to ordinal values. Ordinal function 1 of a plugin DLL contains a function that maps the symbol name to an ordinal. This function and the symbol map is generated by the build system when it makes DLLTargets for Symbian.
All other trademarks or registered trademarks are the property of their respective holders.