Grilo: enhancing the multimedia experience in MeeGo (MeeGo Conference Dublin 2010)

8
static void _f_do_barnacle_install_properties(GObjectClass *gobject_class) { GParamSpec *pspec; /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, "Barnacle code.", "Barnacle code", 0, G_MAXUINT64, G_MAXUINT64 /* default value */, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_PRIVATE); g_object_class_install_property (gobject_class, F_DO_BARNACLE_PROP_CODE, MeeGo Conference Dublin, November 2010 Iago Toral Quiroga [email protected] GRILO Enhancing the multimedia experience in MeeGo

description

By Iago Toral Quiroga. Users all over the world consume massive amounts of media content every day: enjoying personal media collections, watching videos on Youtube, listening to music from services like Jamendo, Shoutcast or Last FM, or being up-to-date by subscribing to podcast services are just a few examples of this trend. Unfortunately, existing platforms don't provide developers with proper tools to manage this situation and application developers interested in integrating multimedia content from these services are in for a lot of hard work: learning about the different APIs, protocols and technologies involved and coding application specific solutions for each individual service. Grilo is a new project which aim is to provide a solution for this problem, providing a framework capable of abstracting the differences among media providers and hiding them from application developers, easing remarkably the effort required on the application side to integrate media content from various sources. Session Abstract: Grilo was born with the aim of being a generic solution for the problem of media integration, filling a technological gap present in modern platforms. Traditionally, multimedia was focused mostly on providing solutions for application developers to deal with the various media formats and codecs available: ogg, mp3, avi, matroska, theora, vorbis, mpeg, h264, etc. That was the main target behind projects like the GStreamer framework. However, due to the growth of the Internet and technological progress in general, a new problem is rising: there are lots of different media content providers and people all over the world are regular users of many of them. This changes the way application developers face the development of multimedia software today, it is all about content integration: youtube, jamendo, flickr, podcasts, internet radio,... users want all of this, well integrated and exposed in an homogeneous way, so they can interact and consume all this content seamlessly, enjoying the same user experience no matter the service they consume the content from and the device they use to consume it: personal computers, smartphones, connected TVs, Set-Top-Boxes, etc. Unfortunately, modern platforms do not provide tools or technology aimed at solving this issue. As a result, the whole media integration problem must be solved by application developers on their own, who must design, code and maintain application specific solutions for each individual media provider. This is the situation of many well known open source media applications like Totem, Rhythmbox, Amarok, XBMC and many others. The Grilo project addresses this problem by exposing a single, high level API for application developers that hides the differences among all these different media providers. Using Grilo application developers don't need to worry about how the media providers work and they can code generic solutions once, that work for all of them.

Transcript of Grilo: enhancing the multimedia experience in MeeGo (MeeGo Conference Dublin 2010)

Page 1: Grilo: enhancing the multimedia experience in MeeGo (MeeGo Conference Dublin 2010)

static void_f_do_barnacle_install_properties(GObjectClass

*gobject_class){

GParamSpec *pspec;

/* Party code attribute */ pspec = g_param_spec_uint64

(F_DO_BARNACLE_CODE, "Barnacle code.", "Barnacle code",

0, G_MAXUINT64,

G_MAXUINT64 /* default value */,

G_PARAM_READABLE | G_PARAM_WRITABLE |

G_PARAM_PRIVATE);

g_object_class_install_property (gobject_class,

F_DO_BARNACLE_PROP_CODE,

MeeGo Conference

Dublin, November 2010

Iago Toral [email protected]

GRILOEnhancing the multimedia experience in MeeGo

Page 2: Grilo: enhancing the multimedia experience in MeeGo (MeeGo Conference Dublin 2010)

Tons of media providers...

Page 3: Grilo: enhancing the multimedia experience in MeeGo (MeeGo Conference Dublin 2010)

...and all sorts of gadgets

Page 4: Grilo: enhancing the multimedia experience in MeeGo (MeeGo Conference Dublin 2010)

How are we dealing with all this?

➔ Platforms lack specific support.

➔ Solutions developed from scratch by individuals. ➔ Solutions not reusable in other projects / contexts.➔ Not efficient.

➔ Lots of services, APIs and technologies involved.

➔ High development and maintenance costs.➔ High learning curve.➔ Not scalable.

Page 5: Grilo: enhancing the multimedia experience in MeeGo (MeeGo Conference Dublin 2010)

What can we do about it?

➔ Platform level solution for accessing media content.

➔ A place where interested actors can collaborate.

➔ Reduce and share maintenance efforts.➔ Efficient and scalable approach.

➔ Faster development cycle.

➔ Faster time to market.

Page 6: Grilo: enhancing the multimedia experience in MeeGo (MeeGo Conference Dublin 2010)

Grilo

Page 7: Grilo: enhancing the multimedia experience in MeeGo (MeeGo Conference Dublin 2010)

Grilo in MeeGo

➔ Having Grilo in MeeGo would make this platform more appealing for media developers.

➔ Writing media solutions for MeeGo would be faster more efficient!

➔ Grilo is based on GLib and GObject, so it is a natural fit for the MeeGo platform.

➔ Installing Grilo in MeeGo is straight forward.

Page 8: Grilo: enhancing the multimedia experience in MeeGo (MeeGo Conference Dublin 2010)

Thanks for listening!

Check out our demos of Griloon MeeGo in our technology

showcase!

http://live.gnome.org/Grilo