Editing Documentation/Maemo 5 Developer Guide/Architecture/Changes

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
The Maemo 5 platform software is based on the Debian GNU/Linux distribution. While Debian provides a significant amount of our current code base, it also defines policies for build process, packaging, file system hierarchy and other processes.  
The Maemo 5 platform software is based on the Debian GNU/Linux distribution. While Debian provides a significant amount of our current code base, it also defines policies for build process, packaging, file system hierarchy and other processes.  
-
The intention is to follow current Debian code and processes as closely as possible, and deviate only when it is required due to technical or legal reasons. Differences between Debian and our policies and practices are documented in [[Packaging/Guidelines]].
+
The intention is to follow current Debian code and processes as closely as possible, and deviate only when it is required due to technical or legal reasons. Differences between Debian and our policies and practices are documented in [Policy].
==Architectural changes since Maemo 4==
==Architectural changes since Maemo 4==
Line 13: Line 13:
===Connectivity===
===Connectivity===
-
 
*BlueZ bluetooth stack updated to Bluez 4.x
*BlueZ bluetooth stack updated to Bluez 4.x
*New Bluetooth chip driver introduced which supports BT2.1 configuration, which implies that mandatory BT2.1 features are added to the kernel and userspace BlueZ stack.
*New Bluetooth chip driver introduced which supports BT2.1 configuration, which implies that mandatory BT2.1 features are added to the kernel and userspace BlueZ stack.
Line 19: Line 18:
===Multimedia===
===Multimedia===
-
 
* Clean split of decoders/sinks and encoders/sources
* Clean split of decoders/sinks and encoders/sources
**Audio
**Audio
Line 26: Line 24:
**Video
**Video
***DSP optimised video codecs (some via openmax)
***DSP optimised video codecs (some via openmax)
 +
*PulseAudio
*PulseAudio
**Audio routing and policy
**Audio routing and policy
Line 37: Line 36:
===UI framework===
===UI framework===
-
 
*Removal of left side Task Navigator and plugins.
*Removal of left side Task Navigator and plugins.
*Separate processes for status bar, home and desktop.
*Separate processes for status bar, home and desktop.
Line 48: Line 46:
===RTCOM===
===RTCOM===
-
 
*Farsight API break: Farsight upgraded/rewritten as Farsight2
*Farsight API break: Farsight upgraded/rewritten as Farsight2
*Mission control:  
*Mission control:  
Line 56: Line 53:
===Location Framework===
===Location Framework===
-
 
*Deprecated low level GPS libraries removed such as libgpsbt, libgpsmgr, gpsd daemon.
*Deprecated low level GPS libraries removed such as libgpsbt, libgpsmgr, gpsd daemon.
*gpsd replaced by liblocation API library and a set of on-request daemon processes for different location methods (Eg: gypsy-daemon for bluetooth GPS, location daemon for integrated GPS and network based methods)
*gpsd replaced by liblocation API library and a set of on-request daemon processes for different location methods (Eg: gypsy-daemon for bluetooth GPS, location daemon for integrated GPS and network based methods)
===Calendar Backend===
===Calendar Backend===
-
 
calendar-backend is a new component that provides a C++ calendar API for external applications. It interacts with SQlite database, implements the iCal RFC to store the calendar entries and handles the database transactions.
calendar-backend is a new component that provides a C++ calendar API for external applications. It interacts with SQlite database, implements the iCal RFC to store the calendar entries and handles the database transactions.
===Media Application Framework===
===Media Application Framework===
-
 
The Media Application Framework (MAFW) provides an open, flexible and extensible layer that eases the development of multimedia applications for the Maemo platform. It is a complement to the Multimedia framework that has been heavily improved in Fremantle. MAFW provides:
The Media Application Framework (MAFW) provides an open, flexible and extensible layer that eases the development of multimedia applications for the Maemo platform. It is a complement to the Multimedia framework that has been heavily improved in Fremantle. MAFW provides:
An extendable, pluggable framework interface, which allows to develop new plugins that provide integration with new multimedia services or rendering engines, that can be seamlessly integrated in all MAFW based applications.
An extendable, pluggable framework interface, which allows to develop new plugins that provide integration with new multimedia services or rendering engines, that can be seamlessly integrated in all MAFW based applications.
Easy to use APIs that speed up application developing, providing support for playback control, discovery and browsing of multimedia resources and playlist manipulation.
Easy to use APIs that speed up application developing, providing support for playback control, discovery and browsing of multimedia resources and playlist manipulation.
-
Independence of the technology. Since MAFW is a plugin based framework, it is not tied to a particular multimedia technology (GStreamer, MPlayer, Tracker). Plugin developers have freedom to choose the technologies they want to use in their plugins, and application developers do not need to know about them.
+
Independence of the technology. Since MAFW is a plugin based framework, it is not tied to a particular multimedia technology (GStreamer,MPlayer, Tracker). Plugin developers have freedom to choose the technologies they want to use in their plugins, and application developers do not need to know about them.
[[Category:Development]]
[[Category:Development]]
[[Category:Documentation]]
[[Category:Documentation]]
[[Category:Fremantle]]
[[Category:Fremantle]]

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)