Older blog entries for rbultje (starting at number 63)

Something different
The traitor, the trojan horse - or just a great gift? Given the recent invasion of the KDE camp by GStreamer, I decided to enlighten KDE and write a simple version of a Totem-like video player with a GStreamer backend. I present you: Kiss (screenshot).
4 Dec 2004 (updated 4 Dec 2004 at 10:42 UTC) »
For hardcore testers
Lately, I've been in the lucky position to have several people test CVS of GStreamer and Totem for me regularly and give me feedback on bugs. Because of them, I've been able to make Totem's GStreamer backend improve so much lately. We're far from finished, but we're gradually moving on from fixing downright crashers to fixing timing issues and adding user-requested features.

Now, you can help! In this blog, you'll find this RPM repo which regularly provides new RPMs of the current CVS of GStreamer and Totem for Fedora Core 3. Use at your own risk, and don't forget to report bugs! Many thanks to Felix for doing this.

For those that want to report bugs, here's a list of known ones (from the top of my head):

  • I've recently noticed that our AC-3 decoder doesn't handle incoming timestamps correctly. The consequence is that if you have an AVI with AC-3 sound, then it will play back correctly, but if you seek to halfway the movie, the time slider will just continue ticking as if no seek happened (even though it did). A/V sync might also be slightly affected by this (still researching that). A quick but correct fix is being worked on.
  • You cannot seek (yet) on MPEG-1/-2 video-only (.m1v, .m2v), FLC video (.flc/.flx), raw AC-3. raw MPEG-2/-4 AAC (.aac) and raw DTS streams. You will also not be able to get position information from those formats, or the information will be highly incorrect. Please note that this has nothing to do with DTS, AC-3 or MPEG embedded in Quicktime/MP4, AVI or MPEG streams.
  • mms://, rtp:// (input protocols), WMV9 (video codec), WMA3 and QDM2 (audio codecs) and most Real-formats are not yet supported.

Now that I'm at this topic anyway, can I please publically request Real to either back down from the free software community or make it possible for us to communicate with their Real-format modules? I've seen enough split tongues in my life already. Real is an extremely bad player in the free software community. It solely abuses the community to add features to their so-called open Helix project (with forced permission to steal code) to consequently really steal this code and embed it in the actually somewhat useful but closed-source and highly-IP-protected Real player. Open up so we can embed Real content in GStreamer. Legally. Thank you.

Edit: if any of the Real people reads this, also re-read this message on desktop integration. To add up to that, also note that we've now been chosen as default for KDE(-4.0), too.

Pictures that make you cry
Garrett, thanks for this piece of beauty. It makes me fall in love. Again. Here's my version of the picture, a few streets more to the west though.

Ah, Manhattan...

29 Nov 2004 (updated 29 Nov 2004 at 09:41 UTC) »
Using GStreamer for channel upmixing
herzi, the short answer is "gst-launch-0.8 filesrc location=file.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioscale ! audio/x-raw-int,channels=6 ! alsasink" if your soundcard supports 5.1 playback. It assumes that your 'default' device in alsa (/etc/asound.conf) is set to hw:0 or plughw:0, but not dmix! Dmix only handles 2 channels so it'll fail gracefully (or maybe even not). If you want more media types, then simply use "gst-launch-0.8 filesrc location=$file ! decodebin ! audioconvert ! audioscale ! audio/x-raw-int,channels=6 ! alsasink".

I'm planning to hook up the 'audio channel configuration' widget in Totem into the GStreamer backend too during one of the next few days. That should automate this behaviour for most people. Maybe Rhythmbox should get such a widget too (and maybe we should therefore move it somewhere to the preferences at some point?).

28 Nov 2004 (updated 28 Nov 2004 at 21:40 UTC) »
Surround Sound a la Dolby
Ehw, patents! So I won't call it Dolby. But it really is. Well, almost. I implemented a channel mix-matrix in GStreamer today, which makes 5.1 DVDs play fine on a 2.0 soundcard (which, in my case, is connected to a 4.0 receiver/speakerset). Joy and fun! Thanks to those people that emailed me with hints and sample code for channel up- and downmixing.

GNOME-nl revisited
So I blogged about it once and the whole IRC channel (yes! we have one) was flooded by new visitors today. I guess people actually read Planet GNOME. :). OK, so I'll try to take the hints from Rodrigo in my mind. We have an IRC channel on GIMPnet (irc://irc.gimp.net/#gnome-nl), we have a website (http://nl.gnome.org/) and a mailinglist (gnome-nl-list@gnome.org). For all those dutch GNOME users and developers that would like to do something for GNOME in your own country: please join us! We'll be happy to welcome you aboard.

And it's fair to mention that it wasn't my idea. GNOME-nl basically evolved from the dutch GNOME translation project. Credit goes to them. GNOME-nl, however, is no longer only about translations - we're trying (like GNOME-es) to be more like a community thing.

DVD & Surround sound
Pieces are falling in place. I'm able to watch DVDs here, and they have working surround sound. The bad part is that if you downsample to stereo (and that's what I do, because my cheap-ass soundcard is connected to the receiver using a simple stereo cable), the thing currently drops unused channels. This means that my beautiful 5.1 DVD is downsamples to 2.0 by dropping the surround and bass, which is not_cool[tm], because you miss half of the audio. I guess I'll need to write a channel mixer sometime soon. Does anyone have papers on how that should be done (e.g. 5.1 to 2.0; 2.0 to 5.1; 4.1 to 5.0; etc.)? How should I balance front/rear? How to balance stereo/center? How to balance bass into the other channels? Etc.

Given the success of GNOME-es, we decided we could do that as well, so we, dutch GNOME users and developers, have set up GNOME-nl. We're intending to have a lot of fun together, and maybe some of us will even be present at a Novell conference in the Netherlands early december to demo the GNOME desktop.

25 Nov 2004 (updated 25 Nov 2004 at 22:26 UTC) »
Release (and what's next)
Thomas released GStreamer Plugins 0.8.6 today. This makes me really happy because I've been bugged all over the place for like two weeks now by Sebastien, Arjan and several others on when we were finally going to do this long-awaited new release. Now's the time! The same as always: if you have media files that don't play back, please file bugs! We'll gladly fix more media playback bugs. Currently known issues:
  • No WMV9 (hmm, where's the source?). No QDM2. No MMS (Maciej is working on this).
  • Some old AVI files (from the very early divx3 era) created by Virtualdub (and clones) have A/V sync issues
  • ASF files cannot pause.
  • Ogg radio will sometimes hang for no apparent reason. This is a threading bug in GStreamer core that's fixed in CVS.

    And now that all this is done, I can finally break CVS. Yay! Today, I fixed/added:

  • SVCD/VCD support (#158704)
  • Surround sound support (#151624)
  • APE v1/2 tag reading support
  • Properties page in Nautilus (Totem; #156689)

    Pending, will be committed in a few days (first two; need only some minor adjustments) or are being worked on and will be ready in a few weeks (last two):

  • Visualization support (Totem; won't be on-the-fly yet, though; screenshot)
  • Buffering support (Totem & GStreamer; screenshot)
  • DVD support (Totem; no menus, though)
  • Rewritten Application Development Manual

    Now, on to stuff that I'd like to advocate. I'm working a lot on Totem, however, you can make a difference too. We're looking for more people that would like to help adding new features to Totem or Totem's GStreamer backend. Here's a list of things that need doing:

  • Language selection support (for both subtitles and audio streams; Arjan said he might look at this)
  • Subtitle support
  • DVD support with menus (I know Martin Soto is working on this, but I still want to advocate it so more people help him; it's apparently not as easy).
  • Support for new media types or input types (such as mms, which Maciej is working on, and RTP, which Ramon is working on; but there's also many that nobody's working on yet!).

    We have a full Plugin Writer's Guide that can guide you in your first steps. We'll gladly assist you as you move on from there. Come on IRC or mail one of the developers, we'll gladly help you finding a long-lasting solution to one of the issues. In the end, all this is simply to create the best possible movie player for the GNOME (-2.10) desktop. You're not seriously gonna tell me mplayer looks good, uh?

    All happy with the release, I forgot about something that I really wanted to blog about. Apparently, Xiph thinks media frameworks are a cool idea so they are doing one themselves! Best of all, it's Ogg-only. Can someone please explain how this is not completely stupid? Dudes, waste your time on something else and just use GStreamer, or for that matter something else (NMM, Xine, MAS, ...). But do not redo it. It's a waste of your time. You guys have done so many way cooler things (Ogg, Theora, Vorbis), don't make us feel like you're idiots after all.

  • And then you're home and...
    ... you find an Apple iPod Mini in your postbox. :). Thank you IBM. Took me an hour to figure out why Fedora would continuosuly fail to even read the thing in fdisk (with all sort of I/O errors in the kernel log), until I found a post on the Fedora mailinglists suggesting to turn off a kernel option (EFI partitions) that screws up things. Did that and it all works like a charm now. I apparently have a HFS+ iPod, I'm not sure if that's good or bad. I do know that it plays music. No Ogg/Vorbis, unfortunately, there goes half my collection. Screw you, Apple. GtkPod could also use some UI love, but I guess I should use Rhythmbox for this instead. I'll try that tomorrow, I was happy enough to see/hear anything at all. :).
    (S)VCD support in Totem
    Got a SVCD. Fixed SVCD support in both Totem and GStreamer, including querying, seeking, resyncing and so on. Send me more! :). I'm currently working on updating the application development manual of GStreamer, the current one stems from the 0.4 era or so. A first update should be available soon, when the FDO website is up again.

    Related, I'll probably rewrite the ASF demuxing element. I recently noticed that the current one cannot even handle a simple sequence of PLAY-PAUSE-PLAY. Related, it does not resync on a broken stream, although ASF is perfectly suited for that. I'll probably take a long weekend off to do this sometime soon.

    And two weeks later...
    ... politicians suddenly wake up. Oh my, v. Gogh is dead! Max van der Stoel, minister of state in the Netherlands, has commented on the issue by saying that we need to build upon having better relations and contact with immigrants.

    When I left for the USA, I had to do all this myself. I had to find people to get in contact with, I had to make new friends, and for all that, I had to speak the language and interact with the inhabitants. It's a natural process for newcomers to adapt, not the other way around - it just tells me there's too many of them already and we've screwed up for too long already. Get real, dude, is this what you get paid for?

    13 Nov 2004 (updated 13 Nov 2004 at 16:00 UTC) »
    What? HCC! HCC is originally a weekend dedicated to computers, in the centre of Utrecht (Jaarbeurs Hallen). People from all around the country come to see new stuff from companies such as IIyama, Creative, Microsoft, etc. It was quite sad to see the amount of "foldersnollen" (those are 17-year-old girls dressed in slut-like clothes that are trying to make you read advertisements; if I wanted to see that I'd have been in Tivoli last friday), "gilmeesters" (those are stages with men screaming about everything and nothing, and a whole crowd behind the stage that screams back when he tells them to; he usually gives away free keycords, or he has foldersnollen at the corners of the stage to do this for him) and the amount of bad-quality (too loud) noise (especially in GameExpo) in this year's edition.

    There was a small corner for Linux-based computing, organized by NedLinux (an online Linux-oriented forum), NLLGG (Dutch Linux user group) and KDE-NL. Unfortunately, no sign of life from GNOME-NL there, but at least something positive. Partly my own fault, I could (should) have helped organizing if I expected GNOME-NL to do something visible... Ohwell.

    54 older entries...

    New Advogato Features

    New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

    Keep up with the latest Advogato features by reading the Advogato status blog.

    If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!