Archive for July 4th, 2009

Movie Module Progress: Week 7

July 04th, 2009 | Category: Uncategorized

Okay, so that was a long week of bug fixing. There were three major bugs, and I fixed all of them over this week. I did run into one more bug, which was a crash after the movie looped. Because this bug showed up unreliably if ever while being debugged, which led to some fun issues! Fun in retrospect. I have to say, I’ve learned a lot this summer, in only seven weeks of development. I did eventually figure out the issue… after about seven hours of fussing with code. What it was, was the way I turned off sound when the movie was ended was the culprit. The way I was doing this, was by sending empty buffers to the sound subsystem. However, apparently when I try to play a new buffer, while some sound is already playing, the sound subsystem(sdl_mixer in this case) would call the callback registered… which would try to play another empty buffer… this causes some severe crashes. So I just needed to put in a check if sound was already playing, and skip if this is so.

There’s a few more bugs I’ve found, like sometimes the video plays really quickly after being unpaused. I’ll work on those over the next week, and bring the vlc and dummy backends up to compatibility. Then I can start adding new features if I deem its ready to do so. Then after this week, and the next, I will be taking a semi-vacation, seeing family and friends, and probably working on code when I’m bored. So there’ll be some progress then. I’ll make this up by working a week later into August than projected. Well… I was already planning to work longer than the 12 weeks I’m supposed to do, just to get the code ready for general use by the end of the summer. Plus, I don’t have much else to do during that time, so I may as well code!

So quick overview:

  • Fix the bugs that show up now, and there’s nothing I can do about the X11 bug I ran into…
  • Update VLC and dummy backends to match the movie interface, make them more stable
  • Add ffmpeg backend.
  • Begin adding new features
  • Testing of new features
  • Make other backends match
  • Port code to windows

That is the 2 mile high plan for the next…5-7 weeks of development.

1 comment