Developers Downloads Licenses Products Help symbian
Home Page SummaryForumsBugsListsDocsNewsCVSFiles


From Helix Community

Jump to: navigation, search

Project Status

Last Update: 4/12/2004

Current Activity:

  • 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

Player GUI:

  • Access Point Configuration
  • Send To...

Performance and stability improvements:

  • Video Loss after seek

Transport buffer limiting (additional heap usage optimization for streaming case)

Phone integration

  • 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., and The correct SYSTEM_ID to use is At a later date we will need to add a 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 tags for the targets you wish to build with ribosome. (You can still manually build modules by running umake and make.)

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.

Threads porting

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.

Copyright © 1995-2004 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.

This page was last modified 02:56, 25 February 2008.This page has been accessed 2,771 times.

Site Map   |   Terms of Use   |   Privacy Policy   |   About Us   |   Contact Us

We have performed maintenance on Helix Community that turned off deprecated accounts. To re-apply for access, please contact

Copyright © 1995-2015 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.