First stab at making Xuggler work as a media player.
Merge branch 'master' into xuggler
Video and audio are playing, but poorly. If I disable seeking and audio then video plays OK. Audio probably needs to go into its own thread somehow so it isn't blocking while trying to play.

Seeking is trickier. Fairly difficult timebase conversion needs to be checked, and actually getting the playback controller and xuggler's times to sync up is going to be a huge pain. going to have to be very careful with threading inside of the media player.
Merge branch 'master' into xuggler
two new functions to XugglerDataViewer to conform with additions to DataViewer interface
Use FPS to calculate timebase, not the stupid timebase
Merge branch 'master' into xuggler
Testing some stuff with OpenCV's ffmpeg interface compared to xuggler
Merge remote-tracking branch 'origin/xuggler' into xuggler
Remove OpenCV testing stuff. Split Xuggler player video and audio decoding into multiple threads. There are now issues with decoding video (not sure why yet).
Plays video and decodes audio properly now. However, the producer thread is decoding way too quickly and finishes decoding the entire video and adds it to the queue rather than decoding on the fly.

Found out that using SynchronousQueue blocks on the audio too often: since the audio is being played on the current thread. Might need to move audio playback to yet another thread and then go back to SynchonousQueue so that we are only decoding as fast as we can play.
Implement playing. Seek doesnt work.
Seek only half works.
WIP commit for xuggler seeking
Seeking now works. Frame generation when seeking is broken. Even though I am seeking to the previous keyframe and then keeping frames until I get to the desired timestamp, the picture isn't generating properly. But progress!
Seeking now works. Frame generation when seeking is broken. Even though I am seeking to the previous keyframe and then keeping frames until I get to the desired timestamp, the picture isn't generating properly. But progress!
Commit before creating a display thread and a buffering thread
WIP buffers
Video buffer implementation now works for small videos where we can buffer the entire frame. Need to fix dynamic buffering still.

Audio buffer not yet implemented.
Video buffering now works better. There are some cache issues to solve still, however. It currently isn't buffering enough around the timestamp, only ahead of it, and the buffer isn't continuously buffering, it buffers only when it needs to.

Image distortion has been solved though.