Grilo

Grilo is a framework designed to ease access to multimedia content provided by heterogeneous sources.

Nowadays there is a huge amount of multimedia content available for end users to consume: YouTube, Jamendo, Last.FM, Shoutcast, Flickr, Podcasts, Vimeo, etc. are just some examples of sources of multimedia content.

However, implementing applications capable of consuming content from all or various of these sources is a a time consuming task: all of them expose different APIs, require developers to use different technologies, have different limitations or peculiarities, etc. As the amount of services to be integrated grows, the amount ot work to be done -and the code to be maintained- increases dramatically.

Grilo solves this problem by exposing a single, high-level, easy to use API for application developers. This API hides the underlying complexity, the differences among multimedia content providers, from application developers, easing integration of multimedia content.

By using Grilo multimedia application developers only have to learn one technology / API to access multimedia content, while Grilo and its plugins take care of the underlying complexity and the differences among the various providers.

The benefits of using Grilo are:

  • Lower learning curve: developers only have to learn and use one API / technology to access multimedia content.
  • Lower implentation and maintenance efforts: a lot of the code that would usually be developed in the application scope is now pushed to the Grilo framework and is maintained there.
  • Application developers don't have to design, implement and maintain application specific solutions for integrating multimedia content.
  • New plugins and services integrated in Grilo would be available to applications for free, no need to change the application or recompile it.
  • Application developers write code for browsing or searching multimedia content once and that code works for all the services supported by Grilo.

Igalia started the development of Grilo after its collaboration in MAFW for Maemo 5, which targetted the same problem in the scope of the Maemo platform and the Nokia N900 mobile phone. What makes Grilo different from MAFW in this regard is that it aims to provide a generic solution for media content integration useful in more contexts than Maemo and the Nokia N900.

Grilo is kindly hosted by the GNOME project.

Updates

jasuarez

Grilo core and plugins 0.1.18 released http://ur1.ca/6jjn6 http://ur1.ca/6jjn7 # # # at 19:15 Dec 9th 2011 by Juan A. Suárez

jasuarez

Jonathan Matthew has written a Grilo plugin for Rhythmbox # # # # at 18:24 Sep 12th 2011 by Juan A. Suárez

Igalia 03/08/2011

Igalia goes to the Desktop Summit!

This year 18 igalians will be attending the 2011 Desktop Summit in Berlin, Germany from 6th to 12th August!

jasuarez

Grilo documentation now online http://goo.gl/ZPCgc # # # at 17:53 Sep 5th 2011 by Juan A. Suárez

jasuarez

grilo-plugins 0.1.17 released http://goo.gl/lxwrO # # # at 17:02 Sep 5th 2011 by Juan A. Suárez

Screenshots & Screencasts

Commits

doc: Update Copyright notice

Signed-off-by: Juan A. Suarez Romero

Juan A. Suárez16/12/2011

test-ui: Load settings from file

Besides the hard-coded settings in Grilo Test UI application, we load settings stored in $HOME/.config/grilo-test-ui/grilo.conf file. Thus, user can store it his own settings to be used. Signed-off-by: Juan A. Suarez Romero

Juan A. Suárez13/12/2011

wc-test: Remove it

Actually, this application was used as a tool to develop GrlNet, but actually it isn't real test. So let's remove it. Signed-off-by: Juan A. Suarez Romero

Juan A. Suárez23/11/2011

build: conditional creation of grl-net.pc files

If libsoup is not available, then the grl-net library will not be built. Hence we shall not create the grl-net.pc files. Otherwise we will compile plugins that will not be able to be loaded. Signed-off-by: Víctor Manuel Jáquez Leal

Víctor Jáquez22/11/2011

build: avoid the export of NETCACHE variable

NETCACHE variables is not used for compiler tasks, so the PKG_CHECK_MODULES can be replaced by a PKG_CHECK_EXISTS, which does not export an automake variable, as we only need to know if cache operations are supported in libsoup given the version...

Víctor Jáquez22/11/2011