Grilo

Embed Size (px)

DESCRIPTION

This presentation talks about Grilo, the framework to provide access to multimedia content. It provides access to different source and a high level API.

Citation preview

  • 1. 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, GUADEC-ES, A Corua, July 2010 Xabier Rodrguez Calvar [email_address] GRILO Easing integration of multimedia content in applications

2. Objectives

  • High level, easy to use APIs

3. Lowers learning curve. 4. Lowers implementation effort. 5. Hide complexity to UI developers 6. Reduces and shares maintenance needs. 7. More efficient approach to development 8. Free Software 9. A solution for Maemo - MAFW - 10. MAFW and Maemo

  • Developed for its Fremantle version, targetting the N900.

11. MAFW provides platform support in Maemo for the integration of multimedia content in applications. 12. Provides access to different sources 13. MAFW and Maemo

  • But it is too Maemo / Fremantle / N900 specific.
      • Developed with Maemo, Fremantle and the N900 in mind.
    • 14. Not so easy to reuse that work in other platforms / products.

Its development is not as open as it could be.

    • Decissions are not made through public channels.
  • 15. It is not easy for community developers to get involved.

16. A solution for everyone: Grilo - Overview - 17. Grilo: Overview

  • A framework for easing access to multimedia content from applications.

18. Platform / application agnostic. 19. Open development model. 20. Free Software, licensed under the LGPL. 21. C, Glib, GObject. 22. Grilo: Overview 23. Grilo: Current Status

  • Basic APIs are defined:
    • Browse
  • 24. Search

25. Query 26. Cancelation 27. Metadata resolution 28. Configuration 29. Source / plugin loading and lookup But it is not API stable yet

  • We are still fine tunning the APIs

30. We are still adding more features 31. Grilo: Current Status

  • Available plugins:
      • Youtube
    • 32. Vimeo
  • 33. Jamendo

34. Apple Trailers 35. Flickr 36. Podcasts 37. SHOUTCast 38. UPnP 39. Bookmarks 40. Filesystem

      • Last.fm album art
    • 41. Metadata store

42. Grilo: Current Status

  • Bindings
    • Vala support
  • 43. Experimental introspection support

Documentation

    • Available in the project repository (--enable-gtk-doc)
  • 44. Overview

45. Quick start guide 46. Code examples 47. API documentation 48. Grilo: Current Status

  • Test UI (grilo-test-ui)
    • A GTK+ playground application.
  • 49. Useful for plugin testing.

Related sub-projects:

    • Totem plugin.
  • 50. Rythmbox plugin.

51. Grilo-mediaserver (rygel-grilo) 52. MAFW-grilo 53. Clutter Grilo player 54. Demos 55. Conclusions

  • High level, easy to use APIs

56. Access to many multimedia sources 57. Hide complexity to UI developers 58. Reduces and shares maintenance needs. 59. Free Software 60. Thanks! 61. Collaborate with us!

  • Project hosted by GNOME
    • Wiki:http://live.gnome.org/Grilo
  • 62. Git repositories:
  • git://git.gnome.org/grilo

63. git://git.gnome.org/grilo-plugins 64. git://git.gnome.org/rygel-grilo IRC: grilo @ GIMPNet 65. Mailing list:

  • http://mail.gnome.org/mailman/listinfo/grilo-list

Bugzilla:

  • http://bugzilla.gnome.org

66. Category: Other, Product: grilo