@Override public void run(){
  Looper.prepare();
synchronized (mReadyFence) {
    mHandler=new EncoderHandler(this);
    mReady=true;
    mReadyFence.notify();
  }
  Looper.loop();
  Log.d(TAG,"Encoder thread exiting");
synchronized (mReadyFence) {
    mReady=mRunning=false;
    mHandler=null;
  }
}

@ Override public void run ( ) { Looper . prepare ( ) ; synchronized ( mReadyFence ) { mHandler = new EncoderHandler ( this ) ; mReady = true ; mReadyFence . notify ( ) ; } Looper . loop ( ) ; Log . d ( TAG , "Encoder thread exiting" ) ; synchronized ( mReadyFence ) { mReady = mRunning = false ; mHandler = null ; } }
encoder thread entry point . establishes looper / handler and waits for messages . < p >
