Jul 4
Movie Module Progress: Week 7
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 comment1 Comment so far
Like many others (i assume), i’m attempting to get video playback to work with pygame (with OpenGL).
My first attempts were to use pystreamer to get image buffers that i’d convert into textures, etc.
Today i’ve learned about your project to “resurect” the movie extension. So, in an attempt to test your progress, i’ve written the following code[1] derived from your testcase _movie_test.py.
After converting my movie using the mencoder command suggested in movie_test.py (just in case…), executing my code results in X, xcb or double free errors (vary from time to time).
Using the examples/data/blue.mpg triggers the same result.
Reading your recent blog entries I can only think that i’m hitting that X bug you’ve mentioned. Is it the case?
In any case, i wish you all the best!
PS: I had to modify config_unix.py in order to have it find ffmpeg[2].
[1] http://pastebin.com/m22f12947
[2] http://pastebin.com/m79c43921