[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#741935: Is the avbin package still being maintained?



Wow, until now I didn't even know there was a Debian package for avbin.  I've been the maintainer since I picked up the abandoned project in 2011.

Let me answer the questions in this thread in chronological order:

I'm wondering if this package is still actively maintained?

Not really at the moment.  I would like it to be maintained...read on for the messy details.

But maybe on linux they're fine?

No, there is a problem with the fundamental changes in ffmpeg (before it forked libav and we switched to it) that occurred after the project was abandoned but before I tried to rescue it.  The core symptom is visual artifacts and audio/video syncing issues with video.  I spent a couple hundred hours researching and experimenting (and made all sorts of _other_ improvements to the project [web site, build system, binary installers]) but simply don't have enough C knowledge to figure this out...yet.  I thought I had it figured out a dozen times.  In fact, I *might* correctly understand the underlying problem, but all my attempts to refactor the thin wrapper to address the problem resulted in equivalent or worse behavior.  I'm not certain if I misunderstood the problem, made an error refactoring avbin in the C code, or made an error refactoring Pyglet in the integrate-with-avbin Python/C code, or some combination of the above.

(I did fix a lot of other issues along the way though...)

The even bigger problem is that I stopped using avbin (and Pyglet) myself in 2013, so even though I could probably brute-force my way through figuring the problem out in another couple hundred hours...I don't _want_ to spend another couple hundred hours on it.

If someone with a lot of C and/or Libav experience could lend a hand in fixing the dang core bug, I would be willing to fix the build system (at least on OS X, Apple manages to break compilation every dang release - the Linux/Windows builds may still work) and put out new binary installers.  I may actually just fix the build system and issue a version 11 anyway, as Juan Martinez requested.  Audio decoding was working well when I left off almost exactly a year ago.

I took a brief look at it. It seems that the new upstream doesn't believe in a system provided libav...

Well, ya.  The entire point of the project is to supply a 1) self-contained, statically-linked, 2) 100% consistent (as in acts exactly the same way on any distro) portable (across distros) binary library whose ABI doesn't change 3) with an LGPL license (Libav needs to be configured a specific way for it to be LGPL instead of GPL).

In a nutshell, the point of the project is to provide a single binary library for all the platforms Pyglet supports so Pyglet can use it to decode audio and video.

I'm not sure that goal fits very well with Debian's packaging system.  I'm surprised it got in the system in the first place, quite frankly.

> Maybe one of the four pyglet maintainers are interested in adopting it? If not, I'd still rather see it removed, at least from testing for now.

I've offered to the pyglet community to transfer maintainership to anyone willing to take on the responsibility.  So far no one has come forward.  The offer still stands.

I'd also be happy to stay on in a merge-contributed-patches and make-the-installers role.  I'm just not willing/capable to do the research/refactoring necessary to fix the outstanding core issue in the C code.

I don't have any opinion one way or the other as to whether avbin remains in the Debian package system.  If you decide you want the binary version that we build, I'm willing to follow whatever QA steps you have for the packaging system.  If you decide that it doesn't belong in the Debian packaging system, that's okay with me too.  If you really want a build-it-from-source-on-debian version, then someone else will need to step up and do the work.

---

Now that Libav seems to have stabilized on versioned branches, another option is for Pyglet to refactor its "avbin" python module to integrate with libav directly on the various systems.  Then there would be no need for the avbin project at all, and we could simply close down the project.  As far as I am aware, no project other than Pyglet uses avbin.  (Though many projects use Pyglet).

~ Nathan

Reply to: