Monday 13 July 2009

The mess that libass is

With 'recent' inclusion of proper ASS/SSA subtitles support into gstreamer via libass, it became a necessity to package this library separately. There seems to be one official upstream at sourceforge, but mplayer ships it's own patched version of libass, vlc as well and to make the mess even bigger, there's greg's version... As I've taken upon myself the task to provide this package for fedora, I'm trying to find the best solution to this but I don't have a single clue what the best approach would be there. Also, we seem to be on the head of separate packaging of this library separately (I've found debian, ubuntu and gentoo packages) and it would be probably good to solve this issue before other big distros start to package it and make the mess even bigger...

The gentoo package seems to be 0.9.6 unpatched, debian includes mplayer's batch patch against 0.9.6 and ubuntu is pretty much identical to debian...

Now vlc's patches seems to be taken from mplayer + one or two other fixes, however the greg's version deviates further from the official 0.9.6 version and is not API compatible with previous versions. All of those include critical, as well as non-critical, fixes and feature enhancements. Now the question is what to do about this mess? Yes, I could do the same as gentoo and just wait till 0.9.7 is released (and who knows how long will it take), or I can follow debian and just add the mplayer patch and make a note in the spec file where it originates from. That would be both an easy workarounds leading practically nowhere.

I could also review in full all the changes that the patches/greg's version carry, try to understand what does what and back-port fixes as well as submitting the (smaller) patches upstream.

I could also switch to greg's version in rawhide and hope it will not break anything... It seems almost all development is happening there, but on the other hand I'd rather not use git snapshot... Although after quick look at his changelog, it seems he might be releasing 0.9.7 soonish...

Ideally vlc and mplayer would switch to system libass, greg's version merged with upstream and do a release and everyone would be happy...

Now the basic question, are there people willing to help in any way with solving this issue?

UPDATE: The mess is beginning to clean up now. The official page now suggests Greg's git as the main version and I have been told that mplayer has plans to link dynamically against this version as well and vlc is switching over to this one as well. This means that I'll switch to greg's version in Rawhide in near future as well and if it works well, I'll use it also in stable releases.

1 comment:

greg said...

Hi there!

libass home is now at http://code.google.com/p/libass/

I'll hopefully release 0.9.7 (or maybe it'll be 1.0 or something else, because there have been a huge number of changes) soon. I'm working on a MPlayer patch as well and VLC is going to use the new version too. I'm sure everyone will move to the new standalone libass and the mess should clear up a bit. :)