GStreamer Conference 2013 – Haggis edition

So we are quickly approaching the time for GStreamer Conference 2013. This year we will be in Edinburgh, Scotland and the conference will be hosted at the Edinburgh International Conference Centre alongside the Embedded Linux Conference Europe and the Automotive Linux Summit.

The GStreamer Conference 2013 Schedule is now live and as you can see there are a lot of great talks this year too, ranging from OpenGL integration, embedded hardware, new codecs and more. As always the GStreamer Conference is the best place to be to discuss the challenges of multimedia.

The conference will be held on the 22nd and 23rd of October so I strongly recommend you get yourself registered. If you want to attend ELCE or the Autotmotive summit make sure to register for those too and extend your stay in Edinburgh to also cover the 24th and 25th of October.

Looking forward to seeing you all there.

And last but not least, a big thank you to this years sponsors of the GStreamer Conference, especially Platinum sponsor Collabora. Also a big thank you to sponsors Fluendo, Google and for the first time this year Cisco.

And as always a big thank you to Ubicast who as always will be recording and publishing the conference for us. Be sure to check out their recordings from earlier years to find out what the GStreamer Conference is about.

More movements around Wayland

Thought I post another update with some more news on what we are doing here at Red Hat in preparation for our continued push forward for Wayland on Fedora. Peter Hutterer posted his first draft of the Wayland protocol extension to handle Wacom tablets, you can find more details in his Google Plus post. This effort is also a good illustration of our approach to the Wayland switchover, it is not just about working on some high level bits to port them over to existing APIS or protocols provided by Kristian Høgsberg and the other core Wayland devs, but actively contributing to the whole stack where needed.

Giovani Campagna continued his great work on porting the needed GNOME stack over, with his patches to Clutter now being available in a release.

Our biggest challenge currently is with XWayland, due to some internal projects that had to get priority we have not had the amount of time we hoped to worked on it yet, but we hope to rally a bit in order to get it to a state in F20 where we can at least have our GDM Wayland session working.

I would also like to point out that I seen some headlines around the web where people are excited about the Wayland work happening in Fedora and around GNOME 3.10. And it is exciting as things are falling into place very fast these days for Wayland, but still I ask people to keep their cool a bit as we are branding it a tech preview in F20 for a reason. So for developers we hope that this tech preview will provide an easy to use harness for running Wayland and testing your applications against Wayland, but in no way is this tech preview going to be something that an end user would even want to run. So when I see Slashdot headlines like “GNOME 3.10 Is Now Properly Supported On Wayland” I get a little worried because to me such a headline implies that things are in a much more mature state than they actually are. Our expectation and hope is to have something that can be considered fully working and ready for end users in the Fedora 21 and GNOME 3.12 timeframe, and that is the releases in which I feel such headlines are likely to be warranted.

So yes, the Wayland stuff we are working is cool and I think we have some killer features planned to be deployed on top of it, but lets do this right and not jump the gun here.

Fedora Wayland update

So our team here at Red Hat have been working intensively with our counterparts at Intel to merge and stabilize the patches to enable Wayland support in GNOME and at the same time looking into what further improvements are needed in the stack. Enabling Wayland support means essentially turning the GNOME Shell into a Wayland compositor as we are not going to be using the sample compositor Weston. Porting to Wayland isn’t just about replacing X calls with Wayland calls, in many cases there is also functionality that was in X that will be done as a separate library for use with Wayland or settings that used to be handled by X that now needs to be stored elsewhere. The development work is starting to come together now and tarballs are being released with initial Wayland support or core modules such as Mutter.

The goal we are still pursuing is to have a tech preview ready for Fedora 20. So what do we mean with a tech preview? Well there will be a quite a few things missing or maybe not working as expected. What we hope to have ready is a system where you can have the option of a Wayland session available in GDM, so that instead of logging into your normal X based session you log into one running Wayland instead. Once in that session you should be able to launch and run some applications, but stability is likely to not be great and we don’t know how well XWayland will work by then, so you will also likely having limited mileage with applications that still rely on X. The goal for the tech preview is not to create something an end user is likely to find very useful, rather it is about lowering the barrier for developers and contributors to get involved and start preparing for the Wayland future.

But we do think that it will at least be in a state where developers can easily start playing with it and where the community can help us find issues and bugs, so that we can reach our goal of having a full featured and stable GNOME running on Wayland ready for Fedora 21.

As a sidenote, our top priority is to make sure that the transition from X to Wayland becomes something an end users doesn’t really need to care about. So the final switch to Wayland over X will only happen once we are as sure as we can be that our users will not be negatively affected by the change. So if we default to Wayland or X for Fedora 21 is still an open question, we hope to default to Wayland of course, but staying with X as the default for one more release is not considered unreasonable if it will help us ensure a smooth transition experience for us users. We have of course also not forgotten that many of our users use the binary graphics drivers so we are working on making sure we have an answer ready for that going forward.

You can find details on the status of the tech preview if you go to this website.

GUADEC, Wayland, Transmageddon and more

So GUADEC is kicking off on Thursday here in Brno. The upcoming event is creating quite a bit of excitement here in the office as many members of the Red Hat team here in Brno has been helping out with the organization of the conference this year, being in the hometown of our biggest engineering office in the world. A series of last minute meetings, calls and arriving banners and packages help create a good buzz ahead of the opening of the conference. We have managed to get a bigger contingent of the Red Hat Desktop team this year than usual, including some members of our X.org/Wayland team, our Spice team and our LibreOffice team, so it will be a great opportunity for our global team to meet face to face in addition to meeting the other members of the community.

One of the items I am looking the most forward to during this GUADEC to is to be able to talk our friends at Intel and figure out how we can effectively work together on Wayland. We have put together a team to accelerate Wayland development inside Red Hat, with the goal of getting it ready for deployment in Fedora. There are of course a lot of things that needs to happen in preparation for this, like getting the GNOME Shell ready to work as a Wayland compositor. We will be looking at a long range of items, but among the more important ones is dealing with input devices in Wayland, like handling multiple mice, touch or Wacom tablets and making sure XWayland works so well that our users will not need to realize they are using Wayland instead of X once we transition over.

Anyway, I hope to share more details on our Wayland plans in the coming weeks and Months, so stay tuned.

I have also been trying to find some spare moments during the last few weeks so that I could celebrate GUADEC here in Brno with a new release of Transmageddon. There are basically three new features I am trying to polish up currently. Handling of files with multiple audiostreams is the most important, with DVD ripping support coming in as a close second and finally being able to tag the language of the audio streams as the third one. As you might imagine the first is also a pre-requisite for the second. I am getting there, although there are still some heavy lifting to do in terms of dealing with multiple audio streams inside Transmageddon in the case where the output doesn’t support multiple audio streams, like in the case of the FLV container format or if you are just stripping off the video to make a mp3 file.

Apart from that I think git master is starting to feel like working code again, I just need to test the hell out of it to catch all regressions my code re-organisation has caused. The new features feel small in some ways, but they took an awful lot of re-factoring as they obliterated some assumptions my code made. I am also quite happy to have managed to hide these new features pretty well for people who don’t need them, so if you are just loading a normal file without multiple audio tracks the UI should look and behave almost exactly as it did before. The same is true if you don’t have a DVD player on your system, you will not get any DVD items in the UI. I still need to make the code check for the availability of the libraries it needs for DVD support since they will not be shipping by default with most distros, and thus I will check for them and only make the DVD handling features available in the UI if they are installed.

So looking forward to seeing you here in Brno in the coming days!!

Brno GUADEC Call for Papers!

I would like to give everyone a friendly reminder that Saturday the 27th of April is the official deadline for the GUADEC 2013 Call for Papers. So make sure to get your proposal submitted.

We hope to have a wide range of talks this year, including talks on related subjects such as Wayland and Multimedia, so don’t automatically assume that you will not get a talk approved because its not ‘pure GNOME’.

GUADEC this year will be in Brno in the Czech Republic, so I hope to see as many of you as possible here.

No GStreamer in this years Google Summer of Code

Some sad news, GStreamer did not get accepted to the 2013 Google Summer of Code. We don’t know the exact reasons, but all we can do at this point is redouble our efforts to get accepted again next year.

In the meantime not all hope is lost. You can still do a Google Summer of Code involving GStreamer with some of the other organisations that did get approved. For instance if you have an idea for a great multimedia desktop application using GStreamer you can try submitting that to for instance GNOME or KDE depending on your UI toolkit of choice as one example. In the past GNOME has also been open to hosting some pure GStreamer projects so you can always try submitting such too. In general I recommend people to take a look at the list of accepted organisations and see if there are projects which technologies would be relevant to the GSoC project you want to do and the apply with them. Also remember you can submit the same project to multiple organisations if it fits multiple projects.

Also the PiTiVi video editor did get approved so I strongly encourage you to take a look at their wonderful ideas page and submit a proposal to do a PiTiVi project.

Open Source software and crowdsourcing

So thanks to crowd sourcing we are getting a lot of linux games coming out, titles such as Double Fine Adventure, Wasteland 2, Spaceventure, Project Eternity, Hero-U: Rogue to Redemption, Godus, Torment: Tides of Numenera,Arcade Racer and a lot more are all coming to the Linux platform thanks to crowdsourcing.

The question that one would want to answer is if crowd sourcing can work for open source projects creating useful software or other kind of tools. One project I am really hoping gets funded currently is Geary, the open source email client from the great guys at Yorba. Not that I personally are desperate for a new email client, I am a happy user of the Evolution email client, but I also know that email is a very personal thing for many people and an area where having different client offering different experiences might make a difference. Also proving that a non-profit outfit like Yorba can fund themselves through crowdsourcing is an important thing to demonstrate. So I have already pledged to Geary and I hope you will too.

They are not the only such project out there of course. Another project I have pledged to is the Phantom Open Emoji project which wants to create a full set of liberally licensed emoji/smileys covering the Unicode 6.0 set of over 800 such things. They only need to reach 25,000 USD in funding to create the full set, so I hope they can make that goal and we can then include support for these in Empathy.

The final project I want to mention is the OpenShot kickstarter. While I do think the best solution would be a GStreamer based one like PiTiVi for various reasons I am still happy that this kickstarter has reached is minimum funding goal already as it is does show success at funding open source development projects.

That said what strikes me is that the 3 open source projects above are all actually quite cheap, in the sense that the funding amounts they ask for are not high at all. And when you consider that games such as Torment reach 4 million USD in crowd sourcing funding one could wish that people would be a bit more prepared to bankroll open source projects. That said I guess just like games had their breakthrough moment with the Double Fine Adventure kickstarter, maybe open source development needs its own shinning star to lead the way. So if you haven’t already please pledge to one or more of the open source efforts above.

There will be more attempts of exploring this space though I am sure, I am even planning to be involved in one such effort myself, but more details on that later.

GStreamer Hackfest in Milan

As those of you following the GStreamer development mailing list or the GStreamer Google Plus profile know, we have been having a GStreamer hackfest in Milan over the last few days. We have 17 people here, all hammering away at our laptops or discussing various technical challenges sitting at a nice place called the Milan Hub.

A lot of progress has been made during these days with some highlights including work on fixing the use of Gnonlin with GStreamer 1.0, which is a prerequisite for getting PiTiVi and Jokosher running with GStreamer 1.0. Jeff Fortin, Thibault Saunier, Nicolas Dufresne, Edward Hervey, Peteris Krishanis and Emanuele Aina has all been helping out with this in addition to fixing various other issues in PiTiVi and Jokosher.

Sebastian Dröge has put a lot of work during the hackfest into providing the basic building blocks for doing hardware codecs nicely in GStreamer, and Víctor Jáquez has been working on making VAAPI work well using these building blocks, with the plan among other things to make sure you have hardware accelerated decoding working with WebKit. In that regards Philippe Normand has spent the hackfest investigating and improving various bits of the GStreamer backend in Webkit, like improving the on-disk buffering method used. Also in terms of hardware codec support Edward Hervey also found a bit of time to work a little on the VDPAU plugins.

Speaking of web browsers Alessandro Decina has been working on porting Firefox to GStreamer 1.0, he has also been our local host making sure we have found places to eat lunch and dinner that where able to host our big group. So a big thank you to Alessandro for this.

Wim Taymans has been working on properly dealing with chroma keying in GStreamer, improving picture quality significantly in some cases, in addition to being constantly barraged with questions and discussions about various enhancements, bugs and other challenges.

Edward Hervey has in addition to help out with GNonlin also been working on improvements in our DVB support and improving encodebin so that you can now request a named profile when requesting pads, the last item being a crucial piece in terms of allowing me to proceed with Transmageddons multistream support.

Stefan Sauer spent time on fixing various bugs in the GStreamer 1.0 port of Buzztard and a first stab at designing a tracing framework for GStreamer.

Arun Raghavan was working on various bugs related to Pulse Audio and GStreamer and also implemented a SBC RTP depayloader element for GStreamer.

Tim-Philipp Müller has been working on implementing a stream selection flag in order for GStreamer player to be able to follow any in-file hints about which streams to default to or to not default to for that matter.

As for myself I been mostly working on Transmageddon trying to get the multistream and DVD support working. Thanks to some crucial bugfixes from Edward Hervey and Wim Taymans I was able to make good progress and I have ripped my first DVD with Transmageddon now. There is still a lot of work that needs doing, both in terms of presentation, features and general robustness, but I am very pleased by the progress made.

transmageddon1
Title selection screen, needs a bit more polish, but getting there.

Transmageddon screenshot ripping a DVD
As you see above you can now choose to transcode to different codecs for each sound stream, or drop the streams you don’t care about. The main usecase for different codecs is to you a different codecs for surround sound as opposed to stereo or mono streams.

A big thank you to Collabora and Fluendo for sponsoring us with dinner during the hackfest.

Also a big thank you to Collabora, Fluendo, Google, Igalia, Red Hat and Spotify for letting their employees attend the hackfest.

Taking on a new job at Red Hat

So I assume most of you have read Jonathan Blanfords blog post about leaving Red Hat and me taking over for him as head of the Red Hat desktop team. First of all I would like to thank Jonathan for both his contributions to GNOME and Red Hat, but also for being a good friend for over a decade now. Luckily Linux is also a major piece of his new job, so I am certain we have not seen the last of Jonathan in the community.

For the outside observer I wouldn’t expect any immediate visible changes to happen as part of this transition. My job is to follow up on the many great initiatives that Jonathan started here together with the rest of the team. One major piece I will be tackling is making sure we in the Red Hat desktop team work even closer with the Fedora community to bring forth some great improvements to Fedora and created an even more integrated and seamless experience for those wanting to use the Fedora desktop. This ranges from working with the Fedora team on a new software installer to working on getting Wayland ready for deployment in Fedora. Apart from that we will of course continue to work with the GNOME community on pushing GNOME 3 forward. I strongly recommend following Matthias Clasens blog to get the latest and greatest news on our efforts around GNOME 3.

I hope to post to my blog more frequently going forward to highlight exciting developments the many great projects the Red Hat Desktop team contribute to, like GNOME, LibreOffice, Firefox, Spice, Evolution, X Window/Wayland and more.

Steam on Fedora – Lets get gaming!

As you probably already know Steam is now available for Linux. While it is currently officially only available for Ubuntu you can run it on Fedora too. Tom ‘Spot’ Callaway has made this yum repository available. So just put the .repo file you find there into your ‘/etc/yum.repos.d/’ directory and you should be able to do ‘yum install steam’. I been running this repository through the beta period and the games I tried so far works great. Crusader Kings 2 is my clear favourite so far.

A screenshot of Steam running on my Fedora 18 desktop –Screenshot of Steam running on Fedora