@Override
    public void setDisplay(SurfaceHolder sh) {
        mSurfaceHolder = sh;
        Surface surface;
        if (sh != null) {
            surface = sh.getSurface();
        } else {
            surface = null;
        }
        _setVideoSurface(surface);
        updateSurfaceScreenOn();
    }
Sets the {@link SurfaceHolder} to use for displaying the video portion of
the media.

Either a surface holder or surface must be set if a display or video sink
is needed. Not calling this method or {@link #setSurface(Surface)} when
playing back a video will result in only the audio track being played. A
null surface holder or surface will result in only the audio track being
played.

@param sh
           the SurfaceHolder to use for video display
IjkPlayerDemo/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java