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
In 2012 I started to work in a video renderer for GStreamer which uses directly the DRM/KMS kernel subsystem to display images. I even blogged about it, but I didn’t finished it. Nonetheless, in December last year, a customer asked us to finish the...
Yes, it happened again: the Gstreamer Spring Hackfest 2016! This time in the beautiful city of Thessaloniki. Thanks a lot, Vivia and Sebastian, for making it happen. My objective this time was to work with dma-buf support in gstreamer-vaapi. Though it...
On march 23th GStreamer 1.8 was released, along with all its bundled modules, and, of course, one of those modules is gstreamer-vaapi. Let us talk about this gstreamer-vaapi release, since there are several sweets! First thing to notice is that the...
In this post I am going to talk about the implementation of the Media Source Extensions (known as MSE) in the WebKit ports that use GStreamer. These ports are WebKitGTK+, WebKitEFL and WebKitForWayland, though only the latter has the latest...
During 2014 I started to become interested on how GStreamer was used in WebKit to play media content and how it was related to Media Source Extensions (MSE). Along 2015, my company Igalia strenghtened its cooperation with Metrological to enhance the...
vaapipostproc: check ANY caps at transform_caps() When transforming downstream caps we should check for ANY caps from peer pad, otherwise we get a segmentation fault. Signed-off-by: Víctor Manuel Jáquez Leal...Víctor Jáquez12/07/2016
vaapisink: ignore frame if its upload failed When gst_vaapi_plugin_base_get_input_buffer() fail to copy the input buffer into a VAAPI buffer, the return value is GST_FLOW_NOT_SUPPORTED, and it was ignored by the vaapisink, leading to a segmentation...Víctor Jáquez12/07/2016
texture: detect GL version and use the proper API When receiving the texture from the application or the video sink, we must know it size and border. To query the texture the API has changed according to the OpenGL version used in the GL context of the...Víctor Jáquez12/07/2016
texture: check for expected target and format gst_vaapi_texture_glx_new_wrapped() only handles a GL_TEXTURE_2D target and formats GL_RGBA or GL_BGRA. This patch adds a debugging verification of those values. Signed-off-by: Víctor Manuel Jáquez Leal...Víctor Jáquez12/07/2016
libs: add gl3_bind_texture_2d() Since OpenGL3.1 removed the fixed pipelines enabling 2D textures is not needed. In particular, the Intel's Mesa implementation complains if it is called. This patch add a new binding function for 2D textures, without...Víctor Jáquez12/07/2016