Older blog entries for rbultje (starting at number 38)

Crap, I've spend all day on AVI A/V sync issues that I didn't get to commit the Totem patches. Anyway...
* Most AVI A/V sync issues fixed (some crude hacks in the AVI demuxer such as non-lineair chunk processing and subchunk processing if needed). Not yet committed.
* Several people have reported random issues that are unreproduceable for me. I just cannot understand. When you code tree *and* config is the same, how can behaviour be random?
* Will do Totem when all that's taken care of.

So I went over to Barcelona for some head-to-head talks this weekend, and there was some huge party going on with all sort of parties at random places in the city, including a huge concert at Place de Catalunya. We had a lot of fun, even though I can't recall the name of the band that we saw playing.

My head did hurt Sunday evening...

* AVI A/V sync is close to impossible.
* I need MXF specifications.
* Playbin (and Totem based on playbin) rocks. Will commit to Totem CVS monday. More news then.

We'll try some Fedora Core 3 rampage, if that appears realistically possible. :).

New house:
So I moved. Large new house, fancy new kitchen and bathroom, separate sleeping room, two televisions (one in the sleeping room) and two luxeous couches and ... no internet yet. Argh!

Havoc, yes, that is ALSA fault. there's no sane way to fix that in userspace apart from a large database of device-specific settings. And that's exactly why we need a generic kernel-/userspace interface: a generic way of controlling bery different devices.

If their default is unusable, then ALSA failed. After a new install, users will have to configure their sound card once in order to work. I don't know how to fix it apart from blaming the ALSA people.

Note that, all the lame ALSA disclaimers aside, OSS worked just fine in this respect. If we're going to fix it, let's just admit that ALSA is at fault and fix ALSA.

Media playback:
Current CVS of GStreamer has OGM support. Some autoplugging funkiness pending. Will now work on improving Matroska support, fixing AVI A/V sync issues and error+tagging forwarding.

New GNOME cycle:
The nice thing about a GNOME-2.8 release, apart from the release itself, is that you can branch it off and do new cool things in the 2.9 branch. So, I committed the new volume control (gnome-media), volume applet (gnome-applets) and closed around 10 bugs in mere hour which mostly consisted of patch management and CVS surgery.

GNOME-2.8 is dead, long live GNOME-2.9!

Media playback in GStreamer:
Noticed that ASF support in GStreamer is crappy. Will fix sometime soon.

Playing around...
... with Totem, based on the new PlayBin object for playback using GStreamer. Patch for Totem available here, but mind you, this is pre-alpha stuff! Some quickly-noticed bugs:

* xvimagesink/aasink default sizing seems broken. All works fine after a manual resize.
* some AVI-with-mp3 files hang after 1-2 seconds. For those two seconds, audio plays far too fast.

However, most stuff appears to work quite nicely. I hope to get into some media testing next (#138435).

13 Sep 2004 (updated 13 Sep 2004 at 20:46 UTC) »
At work:
Playing around with a video backend that will make people love Totem even more. (Oh, that handsome over there is Thomas, not me. ;-).) I'll port Totem over to it later this week. Tested various problematic (with previous Totem) media files later on and noticed that we're actually getting somewhere. Should ask Johan to explain me the media testsuite tomorrow so I can close bug reports again.

Oh, and released GNOME media 2.8.0. Gnome-CD no longer crashes.

[edit] Alan, booting a ISO is simple:
chainloader hd(0,0)/image.iso
...in GRUB is enough. However, for an installation, you need three, and that might be trickier, because when CD#1 is finished, you might not have a loopback module available to mount CD#2. It's easier to start a network install from CD#1.

New job:
From today on, I'll be working for Fluendo's new, yet-to-be-announced, daughter company for several days a week (along with finishing the remaining bits'n'pieces from my studies). Those people looking at the live stream will notice that I'm not in the office very often; that's correct, I'll mostly work from the Netherlands for now. I'll be in the office regularly for meetings, though. We'll be working on embedded end-user multimedia solutions (think a set-top-box video player/recorder), and we'll be working on GNOME/GStreamer desktop software.

As my first task, I will make Totem with its GStreamer backend kick ass. Be affraid, Helix. Be very affraid.

GNOME Volume Applet:
People have once tried to teach me to not be negative about others. Well guess what. They failed! Of all code that I've seen in my life, the current GNOME Mixer Applet has to be by far the worst. Actually, that's not true, I've seen Win32 driver code that was worse. But it's almost as bad.

So I rewrote it. Still looks the same, but the code is maintainable now. Screenshot (kinda useless, because it didn't change, but just so I have something to show off with). I dropped all the different backends, so it depends on GStreamer's mixer interface now. I also removed all instances of the word "Mixer" from the user interface, similar to GNOME Volume Control. And I enhanced the preferences screen a bit.

I was having some doubts on where to go from here. Some people have requested the possibility to display multiple sliders (e.g. one for Line-in, one for Master volume; "because now I need two applets and the icons are indistinguishable"), whereas others consider this the most embarassing violation of the usability guidelines. Maybe I just need to show the device + track name in the tooltip and leave it at that?

I also figured that it'd be cool to use the GNOME Volume Control slider widget in the applet, but most people seem to dislike that: the applet should be simple. I suppose they have a point, so I probably won't do this.

Seth suggested to add a 'fake' track to the GStreamer mixer interface which is a representation of several master-tracks together (PCM, Master, Speaker) and use that in the applet. This'd prevent people having to open GNOME Volume Control because ALSA mutes everything by default, and it'd control all 'end user audible volume' in a single track. I don't know if it's a good idea, seems like a lot of effort to prevent users from falling in the gap that we created ourselves by accepting ALSA in Linux 2.6. Distros like Red Hat save mixer settings on shutdown and restort on startup anyway, so if you set all volumes to an acceptable default on first boot, you only need to modify one track (the master track) afterwards, right? I'm interested in what others think of this.

GNOME Volume Control (again!):
And as I promised, I'd work on something that looks like Eugenia's UI proposal: my implementation of something she proposed.

People seem to think the previous one is more intuitive.

Took me 90 minutes, which included a nice long coffee-and-peanuts break of one hour. This, my dear students, is why you learn object-oriented programming with code reuse. :).

GNOME Volume Control (yes!):
This should mostly work:
* screenshot 1.
* screenshot 2.
Maybe I need to fix some terminology (ALSA? PCM?) and - like I said yesterday - hide some/most tracks by default. But otherwise, it seems finished and usable.

On to Eugenia's UI.

29 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!