Append random on the swf to ensure it's always loaded fresh :P

good for testing when it changes a lot.
remove when production-ready
Some Flash microoptimization

Hard to measure, don't know if it makes a difference. :)
Use typed vectors in place of arrays, and avoid a slice() we don't need
Reduce number of calls into Flash

merged samplesQueued and playbackPosition into getPlaybackState()
partway through retooling the loop
tweak
retooling to expose audio and video decoding as distinct steps
more retooling to expose decoding as separate steps

Something's .... not right yet. Lots of visual corruption.
wheee, fixed the corruption
mostly works!
fix benching a little
benchmark separate out demux/video/audio/yuv/draw times
fix play/pause
put fudge factor back
simplify and tweak

Avoid audio processing "spikes" by going ahead and decoding
only one packet at a time...

On iPod and iPad this triggers a weird effect where the video
frames start getting decoded faster than audio for a while, then
it freezes for about 10 seconds while audio catches up. Don't
know what's going on there yet.
remove stray line
Workaround/fix for borken sync on iPad/iPod

th_granule_time() was returning 0 sometimes.
Why? NO FREAKING CLUE

Advance video time manually in this case...
Update readme that things are working on iPod/iPad at low-res
fix time reporting for video-only files
fix time reporting on audio-only files
sorta
adjust info panel to fit better on small displays