Quantcast
Channel: Zeroth Code » programming
Viewing all articles
Browse latest Browse all 10

Movie Module Progress: Week 6

$
0
0

So, week six. I devoted this entire week to exhaustive testing and bug fixing. Its just good software development to take some time, and test and fix bugs. No new features, nothing. I also took the time in the process to refactor a section of code I felt was extremely hacky and brittle. The benefit is that I ended up creating a couple of special-purpose functions which can be reused in multiple areas in the code for the future, possibly. As I found small bugs or issues, like deadlocks, I fixed them. There were a few that remained by Friday:

  • Unpausing doesn’t work right. The video would jerk and stutter after unpausing.
  • Audio and Video would drift out of sync within about 8 minutes on my test video.
  • Sound would not restart on a replay

As of today(Monday), I fixed the sound restart issue, thanks to Rene’s advice, and the unpausing issue. Ironically enough, the unpausing issue was an extremely simple fix. The sound restart issue required me to simply play sound buffers of no sound while the sound was stopped. For the audio and video drift issue, I know why its happening, which is because I unlinked video timing from being synced to the audio. I knew I would have to fix this eventually, but it was an issue for later on. I implemented a first kind of draft solution today, which caused the video+audio to jerk and stutter. Very strange.

Once I have these issues fixed, and a lot of the slightly jury-rigged code from various attempts to fix or examine the various issues, I’ll begin adding new features.
I will add for the Beta release:

  • Subtitle support. This way you can have your in-game video with subtitles for the deaf and hard of hearing. Trust me on this, its necessary. I’m hard of hearing myself, and I’m seeing more and more games that don’t have subtitles as an option.
  • Rect assignation support. You can assign a rect, along with the surface of choice, to dictate which portion of the video image will be written to the surface you give.
  • Seeking support. Now, you should be able to seek to (somewhat depending on the format) arbritary points in the video file
  • Fix a couple of minor issues, like delayed resizing of the image
  • Begin working on a sound api, for developers that choose to redirect the sound samples to the sound system of their choice.
  • Adding more backends(like mplayer), and updating the backends we currently have to work better and faster
  • With the mplayer backend, the plan is to have the video streamed as frames over pipes, so the smart programmer can do…whatever they want with those.
  • Try to clean up the code, make it more readable, add a lot more updated documentation, including flow-charts!
  • And other features as requested by the community members. If there’s a feature you want, email me at either zeroth AT oddco.ca or trinioler AT gmail.com. They both go to the same mailbox. :)

And checking with the schedule I gave the mentors, it appears I’m actually a week ahead of schedule! Granted, I’ve had to change my plans and ideas for the module as I learned more, but thats how the world works. :) I will predict Beta release in 3-4 weeks, including this week, which will give me time to update and fix bugs in all the other backends, as well as testing and bug fixing, after the beta release. In addition, after that I will begin the work of making the code work and compile on Windows and with Python 3.


Viewing all articles
Browse latest Browse all 10

Latest Images

Trending Articles





Latest Images