Background:
As of now, MediaCodec API is the only public interface which enables us
to access low level HW resource in Android. ViEMediaCodecDecoder will be
used for further experiments/exploration.
TODO:
To fix known issues. (detaching thread from VM and frequent GC)
Review URL: https://webrtc-codereview.appspot.com/933033
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3233 4adac7df-926f-26a2-2b94-8c16560cd09d
- stopCPULoad is incorrect; since mIsBackgroudLoadRunning isn't declared
volatile, the empty while loop in the background thread isn't required to do a
memory read (as opposed to reading the value just once and caching it). The
result is that stopCPULoad() may never return as the .join() waits forever.
- startCPULoad isn't guaranteed to tax the CPU; the JVM is free to replace the
while loop in startCPULoad() with a thread pause since it can prove it'll
never exit the loop once entered (b/c of the previous item).
It's not clear what correct behavior here would be so I'm deleting the code
rather than trying to make it work. This was responsible for at least most if
not all of the hanginess of start/stop'ing multiple calls in series.
BUG=1162
Review URL: https://webrtc-codereview.appspot.com/972008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3202 4adac7df-926f-26a2-2b94-8c16560cd09d