04

Multimedia

Multimedia processing is one of the most demanded and complex tasks in computing. It traverses all the software stack, ranging from the kernel up to the end-user application. Igalia has a strong team of multimedia experts with experience in all the layers of the stack, both on desktop environments and embedded devices.

GStreamer is the framework of choice for Linux-based multimedia and it has been powering multimedia embedded solutions for many years now. Our multimedia team includes many experienced GStreamer developers who are very familiar with the framework internals and contribute to its core and to many of its plugins.

We are the main developers and maintainers of the GStreamer-based multimedia back-ends of WebKit that are used by many of its ports, including WebkitGTK+ and WebkitEFL.

We also have experience bringing hardware acceleration to GStreamer, writing plugins and infrastructure required to use hardware accelerated multimedia such the case of asymmetric processing of media using multiple cores.

Beside media playback and recording, we are pioneers in digital media content discovery and browsing, and as a result, we are the main developers and maintainers of Grilo, a framework designed to provide application developers with tools that make digital media content integration extremely easy, scalable and highly maintainable.

Igalia can help you build top-notch solutions for media centres and players targeting TV, Set-top boxes and other multimedia enabled devices based on open source technologies. Our multimedia team can lead specific parts of the software development, provide advice and insight on the solutions used, join an in-house team to leverage its strenghts or help companies align their work and needs with the open source community.

  • Multimedia Middleware
  • Media Players
  • End-user Applications
  • Content Discovery
  • WebKit Multimedia
  • GStreamer
  • Grilo
  • PulseAudio
  • VAAPI/VDPAU
  • Kernel
  • V4L2

Featured Media

The GStreamer-VAAPI report (GStreamer Conference 2017)
Media Source Extensions on WebKit (GStreamer Conference 2017)
VA-API binding to Rust (GStreamer Conference 2017)
GStreamer VA-API. A year after (GStreamer Conferece 2016)
Streams API (Web Engines Hackfest 2015)
GStreamer-VAAPI: Hardware-accelerated encoding and decoding on Intel hardware (GstConf 2015)
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conference 2014)
WebKit: getUserMedia GStreamer implementation
WebKit and GStreamer (GStreamer Conference 2013)
WebKitGTK+ New media controls
Cairosink and GPU Buffer Sharing (GStreamer Conference 2013)
WebKitGTK+ Multimedia: HTML5 WebAudio API
Grilo: Enhancing the multimedia experience in MeeGo (SF 2011)
Grilo at ELC-E 2010
Browse your multimedia content
Browse your multimedia content
Browse and watch your videos from YouTube
Browse and watch your videos from YouTube
Combine media from different sources
Combine media from different sources
Manage your music, video and images with Grilo
Manage your music, video and images with Grilo

Updates

Víctor Jáquez 17/04/2018

How to setup a gst-build environment with Intel’s VA-API stack

gst-build is far superior than gst-uninstalled scripts for developing GStreamer, mainly because its meson and ninja usage. Nonetheless, to integrate external dependencies it is not as easy as in gst-uninstalled. This guide aims to show how to integrate...

Hyunjun Ko 05/04/2018

Improvements for GStreamer Intel-MSDK plugins

Last November I had a chance to dive into Intel Media SDK plugins in gst-plugins-bad. It was very good chance for me to learn how gstreamer elements are handling special memory with its own infrastructures like GstBufferPool and GstMemory. In this post...

Hyunjun Ko 05/04/2018

Support GstContext for VA-API elements

Since I started working on gstreamer-vaapi, one of what’s disappointing me is that vaapisink is not so popular even though it should be the best choice on vaapi installed machine. There are some reasonable causes and one of the reasons is probably it...

Hyunjun Ko 05/04/2018

100 commits in GStreamer

It’s been 3 years since I’ve started working on GStreamer, meanwhile I contributed over 100 commits fortunately! Let’s look at my commits in each project in GStreamer. gstreamer: 7 commits gst-plugins-base: 5 commits gst-plugins-good: 13...

Hyunjun Ko 05/04/2018

Libva-rust(libva binding to rust) in development stage

Since Rust language appeared in the world, I felt strongly this is the language I should learn. This is because: Rust guarantees to prevent from common bugs in C/C++ such as memory corruption and race condition, which are very painful to fix whenever...

Commits

Changeset in webkit [230565]: [GStreamer] Speed up GStreamer dependency build by removing examples ...

2 edits in trunk/Tools [GStreamer] Speed up GStreamer dependency build by removing examples compilation ​https://bugs.webkit.org/show_bug.cgi?id=184528 Reviewed by Philippe Normand. gstreamer/jhbuild.modules: Added --disable-examples for GStreamer...

Xabier Rodríguez12/04/2018

Changeset in webkit [230563]: Unreviewed, fix GStreamer builds * ...

2 edits in trunk/Source/WebCore Unreviewed, fix GStreamer builds platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::handleMessage): We were passing a String to a GST_WARNING call.

Xabier Rodríguez12/04/2018

fakevideosink: explicit type cast for max-lateness property setter

g_object_set() expects the parameters values to be the exact type of the property being set.

Philippe Normand10/04/2018

Changeset in webkit [228639]: [GStreamer] Crash in ...

4 edits in trunk/Source/WebCore [GStreamer] Crash in WebCore::MediaPlayerRequestInstallMissingPluginsCallback::complete ​https://bugs.webkit.org/show_bug.cgi?id=166733 Reviewed by Philippe Normand. There are a couple of issues to tackle...

Xabier Rodríguez19/02/2018

msdk: add missing files for dist target

https://bugzilla.gnome.org/show_bug.cgi?id=793563

Víctor Jáquez18/02/2018