Productive day

Got a lot of little issues fixed today. Wim fixed the RTSP element taking us one step closer to RTSP stream protocol support in the players. Edward ported the ffmpeg demuxer plugin, adding support for tons of new formats. Tim checked in his cdxa plugin port and the dvdread plugin port, giving VCD support and making a big step forward towards DVD support in Totem for 0.10. And Thomas fixed many small issues to polish of our mobile phone streaming for Flumotion.
I ended up doing some thumbnailing testing with Totem after a claim it was broken. Worked nicely for me. Only format which didn’t thumbnail at all was Real, but hopefully that is a small bug to sort out. Nice to see even the Flash files getting thumbnailed :)

Things are also starting to fall in place for our media center solution. Will blog more about that after the weekend, with some screenshots of our current proof-of-concept.

Community help for Surround Sound

Tim has been working on a patch to
enable Surround Sound in GStreamer 0.10. Due to limited hardware available we really need people in the community to help out with testing it so we can make sure its 100% before merging it into an official release. So if you have surround sound hardware (not spdif) with your computer please grab that patch and gst-plugins-base CVS and compile and report back your findings to that bug report linked above.

Pitivi is now in GNOME CVS and in GNOME bugzilla

So Edward got Pitivi, the worlds coolest non-linear editor project moved over to GNOME CVS and added to the GNOME
bugzilla. Which means you can now check out pitivi using your favourite GNOME CVS account. Also to make sure I went down in the history books I made sure to file the first Pitivi bug report ever. Also getting a bit envious of all those people with developer this or that behind their name I spiced up my own description a bit.

Continued stream testing

Thanks to Tim, Bastien and James from Virgin Radio we where able to resolve a lot of issues with the streams today.

None of the streams ‘bork’ out anymore. Those that don’t work will nicely tell you so. A pleasant suprise today was that with the playlists and their parsing fixed, the Real streams worked nicely. The AAC+ stream also got nicely fixed today by Tim.

The RTSP only streams (like the one called Real 10 AAC) still doesn’t work and won’t start to work until we get someone interested in helping with the RTSP support.

Also have some weird WMA or MMS issues which makes the WMA stream not work properly atm. Need to have Julien to look into that I think in order to figure it out. Although not having any firm proof I do suspect mmssrc, but I guess that is partially cause I know libmms is as good as orphaned and in desperate need of someone to come and adopt and love it.

Still all in all some good progress today, and once again a big thanks to Tim, Bastien and James for their efforts.

Testing GStreamer 0.10 and Totem

Seems Virgin Radio UK are streaming in every possible format known to the Gods above and probably a few even the gods don’t know about. Anyway I figured it be a good test for GStreamer and Totem, so I went through their streams to see which work and which needs more work. Things aren’t quite as rosy as I had hoped, but apart from the issue with chained oggs there wasn’t anything I would consider embarasing either. Most if the issues where related to our RTSP support being early stage though. Wim did write a rtspsrc element some time ago, but there has been little RTSP client side work happening since then. Hopefully someone with an interest in RTP and client side support for it will take a look at these streams and totem and start hacking to get them working. Should be doable within a week or two, including writing the needed depayloaders, but it of course depend upon how much RTP and general programming experience one got.

Of course everthing wasn’t about missing functionality in GStreamer. Two issues where one which needed to be resolved by Totem’s playlist parser, one of them which bastien fixed right away. Tried mailing Virgin Radio reporting that their playlist needing fixing, wonder if they will ever get back to me on that :).

In related news I managed to view a windows media video in Mozilla using the Totem browser plugin today using the Fluendo Windows Media plugins. the MadModMike demo video from Nvidia worked fine. Was a tiny stride issue in the wmv decoder, but that should be a quick fix for Julien and David. As soon as that issue is fixed I will send out the Windows Media plugins to our beta testers.

Since I am on the media support issue. Got a new issue of Red Hat magazine today. Was happy to see that the Ogg format was back among the video formats supported and that it was of good quality this time. Good going Red Hat!

Finally Ogg Vorbis works on the 770

Edgard Lima did it again, after a lot of hacking on his side and a lot of testing on my we finally got Ogg Vorbis playback working on the 770 using GStreamer 0.10 and the Tremor (Integer Vorbis decoder) working.

Using a pipeline like this:
gst-launch-0.10 gnomevfssrc location=http://stream.fluendo.com:8841 ! tremor ! dsppcmsink

I was able to listen to the Europa Plus Ogg stream. The CPU usage was about 25-30% on the ARM, but turning of some of the debug stuff etc., should cut it down a little more.

GNOME Board

Attended my last board-meeting on Wednesday. It was the transition meeting between the new and the old board. We talked about what had happened over the last year, what experiences we had both good and bad in terms of work processes and so on. And some discussion about funding levels and sources of income.

I have great hopes for this new board and I think that they are in an excelent position to make good things happen this year. Meanwhile those of us not on the board will continue with the most important part, making sure GNOME rocks and moves fast forward.

GStreamer 0.10 and multimedia playback

Edward have been working on a mediatestsuite for GStreamer 0.10. It contains a ton of files which we use to test GStreamer’s performance in terms of playback. You can
see a relativly new test result ouput here
. These files are a collection of the worst and thoughest files around (some easy pickings to of course), horribly muxed and badly/non-standard encoded. We are working our way through them, by making first none of the files cause a crash first and then making sure as many as possible suceed. Of course a lot of the crasher fixes also fix playback issues so even the short term crasher work help with the long term sucess percentage. I think its safe to say that your own playback percentage should be much better unless you are getting most of your media clips from a really horrible source :)

Building the Perfect Audio Editor

Jono Bacon blogs about the new Audio editor project he is trying to kick of. Jono has done some really nice design and planning work and I really hope he manages to get this project of the ground. It is sad that they are stuck using Windows for recording their LUG Radio show. So any developers out there who want to get involved in a really cool multimedia project should head over to Jono’s page to read up and then get in touch with Jono about contributing.

Making stuff look good

These mockups
with proposals for what GNOME could/should look like have caused some stir. Currently they do some stuff not yet possible with GTK+, but I think they are a great starting point for current and potential GTK+ developers to get an idea of what kind of features to add to upcoming GTK+ releases. I think mockups is the only plausible way to get an idea of what theming features are worth going after.

A very pleasant experience

Some time ago I asked about the ‘best’ http library to use. In the end we had to decide between libsoup and neon. I was partial to libsoup, but since part of the reason we wanted this new http element for GStreamer was to have an element to offer non-gnome projects like Amarok, the choice ended up being neon.

Anyway the incredible Edgard Lima did the hacking and today we have a sparkling neonhttp plugin in our CVS repository. It turns out however that Shoutcast servers aren’t 100% http compliant, having a slight variation of http called the ICY protocol. libneon didn’t like this very much. Luckily the libneon maintainer Joe Orton was willing to make libneon accept even ICY traffic as soon as we explained the issue to him and the next version of libneon will accept also ICY traffic.

A big thanks to Edgard for making the plugin and to Joe for being so helpful and pleasant to work with resolving the issue we had.

One step closer to world domination :)

Fluendo MP3 plugin and Sun

Also nice to see Brian and Sun looking into using our MP3 plugin with JDS. One thing which I think some people missed is that you can of course use the code to add mp3 support to your system, even without signing a contract with Fluendo, as long as you have your own mp3 license from Frauenhoffer/Thomson, which Sun do. Regarding the the other points of Brian posts, I did merge the sunaudio plugin patches to both our 0.8 and 0.10 trees yesterday, and the missing file is taken care of long ago :)

Friday morning web development

To get an easy start of my day I fixed the Project Schrodinger
pages to be fully w3c compliant. Fixed a lot of other stuff as part of it too, like splitting out the header and footer for the pages into separate shared files.

Only thing I am not 100% happy about atm is the video reel’s visual appearance. They actually looked a bit better before my fixes. Not sure how to fix them properly as it was a kinda dirty trick I used to have then look ok before. I think if I could make the reels be a separate class applied to the TR element instead of the TD elements that would give me perfect looking reels, but my experiements so far have failed me (I am not a very good web developer).

Was happy to see the Schrodinger project mentioned in the LWN weekly summary as part of their development section.

What is the ‘best’ http library

So we want to add a http plugin in GStreamer which is desktop neutral.
I first wanted to use libsoup, but it will start depending on gconf soon, so unfortunatly that takes it of the table.

It seems to me that Curl and Neon are the two main options to build our plugin upon. My current idea is to go with Neon, but if anyone have some good arguments for Curl or something else, please let me know :)