RidgeRun Mobile Framework

From RidgeRun Developer Wiki



Introduction

RidgeRun's Mobile Framework is a library that eases multimedia solutions for Android and iOS operating systems. It's based on the GStreamer project therefore it inherits all of its power, exposing a custom and robust design, allowing an easy usage of audio and video features like streaming, recording, playback, and others. The main idea behind the framework is to accelerate the time-to-market of media based products by abstracting all the GStreamer complexities into simple OS specific classes, which any mobile developer may instantiate.

 Ideal for any mobile developer since no prior GStreamer knowledge is required

Using our Framework can give you the following advantages:

  • Leverages the features of the GStreamer framework in a mobile application!
  • Hardware resources usage instead of Software algorithms: less power consumption and higher performance.
  • Real encapsulation and efficiency with low-level C code.
  • Several stream and containers formats.
  • Improved portability to match your own ARM-based platform.
  • Complete documentation.

Architecture

RidgeRun's Mobile Framework provides a common layer on top of GStreamer for the different mobile operating systems. This layer abstracts low-level media handling into high-level object-like streams. On top of these stream objects the Framework provides language specific bindings for each OS, exposing classes which users can instantiate in their custom application. These classes are delivered in the OS standard packaging system: AAR for Android and Framework for iOS. Figure 1 summarizes the architecture described above. The layer in blue represents the software distributed in the Mobile Framework.

Figure 1. Mobile Framework software architecture. Layer in blue represents software provided by the Framework.

The solution proposed above provides a scalable and modular solution for users who wish to deploy their multimedia product on multiple OS. This is achieved by maintaining a common code base with the media logic and encapsulating it in OS specific classes.

Multimedia

The multimedia section is encapsulated in a set of classes, each one representing a different functionality. For example, encoding format, stream protocol and render mechanism, are all represented by orthogonal classes implementing common interfaces, allowing the user to change each of them independently without breaking the rest of the code. Moreover, additional formats and protocols may be implemented by extending the proposed interfaces, again, without breaking existing code.

The class hierarchy is documented in a standard UML class diagram, which is distributed along with the code.

Autodiscovery

Device autodiscovery is a mechanism by which a set of devices find themselves in a network based on certain criteria, without the need for the user to specify the device's IP addresses. Multimedia streaming usually requires one device knowing the address of the other, therefore device auto discovery is a very common use case in media solutions. As such, RidgeRun's Mobile Framework exposes a module dedicated to autodiscovery which will, underneath, use the OS specific facilities. This is, mDNS in Android and Bonjour in iOS.

Table 1 summarizes OS specific bindings and the technology behind them.

Table 1. Summary of OS specific binding layers
OS Language Binding Distributed as Device Autodiscovery
Android JAVA AAR MDNS
iOS Objective-C Framework Bonjour


Mobile Framework Support

The Framework supports its install on both Android and iOS, and it's a straight forward process. The requirements are just a few and they are summarized on the setting up documentation. The next wiki-pages can guide you with the set up and the development process once you get the Mobile Framework.

Android

All the information you need to know in order to start your Android Development with our Framework can be found here:

iOS

Also, the iOS version provides the same documentation for the apple brand, to ease you in the process of bring up a powerful application:

API

Last, we provide you a complete API Documentation that can serve as reference for your own custom application that uses our Mobile Framework.

Note: This API reference is for iOS but RidgeRun also offers an Android version, please send us an email to support@ridgerun.com and we will be glad to help you!

Mobile Framework Demos

Our Framework works! and to show you how it looks we prepared two videos, one for each supported OS. The videos can be found here:

Mobile Media Framework -- Android Demo



Mobile Media Framework -- IOS Demo





For direct inquiries, please refer to the contact information available on our Contact page. Alternatively, you may complete and submit the form provided at the same link. We will respond to your request at our earliest opportunity.


Links to RidgeRun Resources and RidgeRun Artificial Intelligence Solutions can be found in the footer below.