TI introduces optimized port of GStreamer

May 20, 2009
Posted by: tovmas

LinuxDevices reports that TI has released an optimized port of GStreamer, a multimedia framework for Linux.
From the article:

Aiming to improve Linux multimedia development using its processors, Texas Instruments (TI) has released a version of the open source GStreamer media plugin for its OMAP35x and DaVinci system-on-chips (SoCs). The Linux-based GStreamer library supports development of audio and video playback, audio and video synchronization, and recording capabilities, says TI.

More information can be found at the project website.

Thanks to forum member marshal for finding this.



  1. Exciting news! It gets better and better every day…

  2. Would somebody mind translating this into the advantages it provides for those of us less smartiful.

  3. Just getting a grip on it myself. The way I’m reading it, this will give our devs a major leg up in producing audio/video software. Not just for playback, but input & processing as well. Here comes a long post:

    Multimedia, by definition, means a variety of media types. You can store audio, video, and metadata in a myriad of file formats. However, this also means learning to use many tools to manipulate such diverse content.

    This is where GStreamer comes to the rescue. By hiding all the different tools and libraries inside its plug-ins and using the general concept of a media pipeline, GStreamer is able to present the manipulation of different types of media in a uniform way. This allows you to concentrate on the media at hand, instead of wondering what pipe diameter your plumbing should have.

    The benefits of such a unified approach are immediate. Instead of writing an MP3 player or an AVI/DivX player, you can write a music or a video player. When you want to support another format, you don’t need to learn and then code for a new library. Instead, you simply install a plug-in for that format.



    ^^ Definitely worth a read

    Also, some excerpts from the wikipedia page:

    GStreamer allows a programmer to create a variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming, and editing. The pipeline design serves as a base to create many types of multimedia applications such as video editors, streaming media broadcasters, and media players.

    Plugin libraries get dynamically loaded to support a wide spectrum of codecs, container formats, input/output drivers and effects.


  4. I have never used GStreamer in one of my programs, but its a library so developers don’t have to do everything themself if its related to av processing. Instead of loading and processing video and audio files themself they pass them to GStreamer which will give you ready-to-present data (doing the hard stuff internally).
    The cool thing about this is, that TI ported GStreamer to the DSP (which is the DaVinci). The DSP (Digital Signal Processor) is another part integrated into the OMAP and its designed to work with media data.
    That way you (the developers) can push most of the core stuff to the DSP and the CPU can do other things and almost stays idle if you just want to listen to music for example.
    Before we had this DaVinci port we had to run GStreamer on the CPU itself, which – ofcourse – slows it down.
    Expect more HD compatibility stuff and similar things because a lot of media players use GStreamer.
    Some apps which will probably increase performance and profit from this:
    amaroK, Gnash, Kaffeine, Rhythmbox, Totem (taken from the GStreamer homepage)
    – possibly some games will also want to have their music stuff going on on the DSP, so this is good news

  5. Sweet! Thanks for the extra info Jay.

  6. Summary of JayFoxRox post is that this will give immediate performance benefits in video playback for all apps using GStreamer as the back-end, as it pushes the work of the CPU to the DSP chip, right?

    So a win for HD movie playback, right?

  7. From what I understand – yes
    – The GStreamer port is not too new though, atleast I have a quite old one on my HDD (but that might not be by TI).
    Also we won’t profit from the HD video part of GStreamer yet, check the table on the projects homepage: It’s still marked as “TODO” for the “OMAP35x”
    Its probably a matter of weeks tho.

  8. Couldn’t say it better than JayFoxRox šŸ˜‰
    There are a lot of promising “TODOs” marked on the GStreamer TI port webpage, so I guess this can open up gates to some relatively high-performance multimedia applications on the Pandora. In other words: COOL! šŸ˜€

  9. Are there optimizations in term of codecs? I’m not very familiar with gstreamer, but isn’t the benefit of it mainly if the various codec plugins are also optimized and made available? (like ogg, mp3, h264, etc.)

    If so, how much can/will be made free, given the number of codecs which are patented or copyrighted?

  10. Definitely top news šŸ™‚

  11. wow, things are really falling into place nicely =]

  12. This is the only benefit of all the delays – Pandora will have a passable software library by the time it comes out. I’m not too concerned about HD playback (what’s the point, really?) but energy efficient divx and low-bitrate X264 playback would be a big bonus.

  13. There’s no point in HD obviously, except that most downloadable video content is 720p these days which would require you to re-encode videos which is a waste of time and makes things less convenient.

  14. GStreamer is rather pointless without the proper plugins and codecs. All I see TI supporting here is “containers”, which merely contain of course.

    I’m not going to get too excited until I see them specifically mention supported audio and video foramts.

  15. Jacob, I think that’s a task mostly for codecs, not a higher level framework API.

    I don’t understand all the hype behind Gstreamer, it can be interesting for developers that want faster results in certain multimedia stuff but nothing more. I see *A LOT* more important projects like FFMpeg or x264 very underrated, when they are the important part used by frameworks like this.

    FFMpeg already provides video acceleration for different DSP families as the one included inside the OMAP3530 used by Pandora, not sure about audio but probably too. I think it uses the SIMD unit of the OMAP 35xx too.

    Keep in mind the really important stuff is done by audio and video codecs, being the enormous FFMpeg family of codecs, x264, theora or propietary highly optimized ones for specific platforms.

    Even less techy people in matter of knowing the programming should be able to differenciate what projects provides the relevant features, or underlying APIs will become more publically aware because of buzzwords and some kind of marketing because presentation and news in computing sites.

    I appreciate projects like Gstreamer, but others like FFMpeg or x264 deserves a lot more recognition.

    I prefer not be overloaded with abstraction layers and follow only stuff based on FOSS without giving the option of using binary blobs. I think binary blob drivers must disappear ASAP (we must live with it until certain companies understand FOSS, like as now AMD does), binary-only only makes sense for certain commercial software like games and some maybe professional software because the developer choosing. Anyway, good luck šŸ˜‰

  16. I wasn’t aware there was much hype around Gstreamer. Anything that simplifies codec porting to the DSP is a good development. If you can get a FFMpeg based player with DSP support working on the Pandora – kudos to you. You can be sure that you will get a LOT more hype than this.

    About binary blobs – practicality will always trump ideology. Manufacturers can binary blob their code to their heart’s content as long as they provide a recompilable interface. Only special customers with very specific needs and a handful of zealots would care.

  17. About binary blobs, it’s not just about idology or zealotism (don’t mix both, there are people that belive in the FOSS ideology but without stupid zealotism) but about freedom to programming.

    Even if the “interface” is public, something can change that would need a change to that binary blob. Or you must wait for fixing/improving something for the developer of the driver, sometimes this is a total PITA.

    There’s the problem about alternative platforms or operating systems. Let’s see PowerPC, SPARC, or certain custom for the future.

    What happens when the company stops supporting your hardware in future versions of the driver and then a new kernel has problems with that old binary blow? You must change the hardware, something the hardware manufacturer loves but the user not.

    Usually binary blobs are quite problematic, even the well tested ones from Nvidia GPUs. If the developers are not well enough, it can be a total nightmare for the user like the Intel Poulsboo drivers for Intel Atom systems.

    And there’s the broadcom nightmare too…

    if those drivers were a total crap, but FOSS… then they could be improved by the community.

    Do you see the facts? It’s not just about ideology, but technical superiority like Linus Torvalds says…


  19. rite!

  20. @poisonedv

    WTF? Seriously, I don’t get it…

    What do you mean? Is this an impersonator trolling with your username, is some kind of hideous message or a joke?

    Please ellaborate…

  21. least it stops the bickering. šŸ™‚

  22. Why did you delete the Pandora Google Checkout post?

  23. ^ Because it was a false alarm. Resumption of credit card ordering has not been announced.

Comments are closed.

%d bloggers like this: