public void pause() {
   if (nativeMode) {
     mVideoView.pause();
     mVideoView.setKeepScreenOn(false);
   } else {
     mVlcPlayer.pause();
     mSurfaceView.setKeepScreenOn(false);
   }
 }
 public void play() {
   if (nativeMode) {
     mVideoView.start();
     mVideoView.setKeepScreenOn(true);
   } else {
     mVlcPlayer.play();
     mSurfaceView.setKeepScreenOn(true);
     // work around losing audio when pausing bug
     int sav = mVlcPlayer.getAudioTrack();
     mVlcPlayer.setAudioTrack(-1);
     mVlcPlayer.setAudioTrack(sav);
     //
   }
 }
  public void start() {
    if (nativeMode) {
      mVideoView.start();
      mVideoView.setKeepScreenOn(true);
      normalWidth = mVideoView.getLayoutParams().width;
      normalHeight = mVideoView.getLayoutParams().height;
    } else {
      if (!mSurfaceReady) {
        TvApp.getApplication().getLogger().Error("Attempt to play before surface ready");
        return;
      }

      if (!mVlcPlayer.isPlaying()) {
        mVlcPlayer.play();
      }
    }
  }