Android Open Source - kickflip-android-sdk Egl State Saver






From Project

Back to project page kickflip-android-sdk.

License

The source code is released under:

Apache License

If you think the Android project kickflip-android-sdk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package io.kickflip.sdk.av;
//  w  w w.j  av a 2  s .  com
import android.opengl.EGL14;
import android.opengl.EGLContext;
import android.opengl.EGLDisplay;
import android.opengl.EGLSurface;
import android.util.Log;


/**
 * @hide
 */
public class EglStateSaver {
    private static final String TAG = "EglStateSaver";
    private static final boolean DEBUG = true;

    private EGLContext mSavedContext = EGL14.EGL_NO_CONTEXT;
    private EGLSurface mSavedReadSurface = EGL14.EGL_NO_SURFACE;
    private EGLSurface mSavedDrawSurface = EGL14.EGL_NO_SURFACE;
    private EGLDisplay mSavedDisplay = EGL14.EGL_NO_DISPLAY;

    public void saveEGLState(){
        mSavedContext = EGL14.eglGetCurrentContext();
        if(DEBUG && mSavedContext.equals(EGL14.EGL_NO_CONTEXT)) Log.e(TAG, "Saved EGL_NO_CONTEXT");
        mSavedReadSurface = EGL14.eglGetCurrentSurface(EGL14.EGL_READ);
        if(DEBUG && mSavedReadSurface.equals(EGL14.EGL_NO_CONTEXT)) Log.e(TAG, "Saved EGL_NO_SURFACE");
        mSavedDrawSurface = EGL14.eglGetCurrentSurface(EGL14.EGL_DRAW);
        if(DEBUG && mSavedDrawSurface.equals(EGL14.EGL_NO_CONTEXT)) Log.e(TAG, "Saved EGL_NO_SURFACE");
        mSavedDisplay = EGL14.eglGetCurrentDisplay();
        if(DEBUG && mSavedDisplay.equals(EGL14.EGL_NO_DISPLAY)) Log.e(TAG, "Saved EGL_NO_DISPLAY");

    }

    public EGLContext getSavedEGLContext(){
        return mSavedContext;
    }

    public void makeSavedStateCurrent(){
        EGL14.eglMakeCurrent(mSavedDisplay, mSavedReadSurface, mSavedDrawSurface, mSavedContext);
    }

    public void makeNothingCurrent(){
        EGL14.eglMakeCurrent(mSavedDisplay, EGL14.EGL_NO_SURFACE, EGL14.EGL_NO_SURFACE, EGL14.EGL_NO_CONTEXT);
    }

    public void logState(){
        if(!mSavedContext.equals(EGL14.eglGetCurrentContext()))
            Log.i(TAG, "Saved context DOES NOT equal current.");
        else
            Log.i(TAG, "Saved context DOES equal current.");

        if(!mSavedReadSurface.equals(EGL14.eglGetCurrentSurface(EGL14.EGL_READ))){
            if(mSavedReadSurface.equals(EGL14.EGL_NO_SURFACE))
                Log.i(TAG, "Saved read surface is EGL_NO_SURFACE");
            else
                Log.i(TAG, "Saved read surface DOES NOT equal current.");
        }else
            Log.i(TAG, "Saved read surface DOES equal current.");

        if(!mSavedDrawSurface.equals(EGL14.eglGetCurrentSurface(EGL14.EGL_DRAW))){
            if(mSavedDrawSurface.equals(EGL14.EGL_NO_SURFACE))
                Log.i(TAG, "Saved draw surface is EGL_NO_SURFACE");
            else
                Log.i(TAG, "Saved draw surface DOES NOT equal current.");
        }else
            Log.i(TAG, "Saved draw surface DOES equal current.");

        if(!mSavedDisplay.equals(EGL14.eglGetCurrentDisplay()))
            Log.i(TAG, "Saved display DOES NOT equal current.");
        else
            Log.i(TAG, "Saved display DOES equal current.");
    }

}




Java Source Code List

io.kickflip.sdk.FileUtils.java
io.kickflip.sdk.Kickflip.java
io.kickflip.sdk.Share.java
io.kickflip.sdk.Util.java
io.kickflip.sdk.activity.BroadcastActivity.java
io.kickflip.sdk.activity.GlassBroadcastActivity.java
io.kickflip.sdk.activity.ImmersiveActivity.java
io.kickflip.sdk.activity.MediaPlayerActivity.java
io.kickflip.sdk.api.KickflipApiClient.java
io.kickflip.sdk.api.KickflipCallback.java
io.kickflip.sdk.api.OAuthCallback.java
io.kickflip.sdk.api.OAuthClient.java
io.kickflip.sdk.api.OAuthConfig.java
io.kickflip.sdk.api.json.HlsStream.java
io.kickflip.sdk.api.json.Response.java
io.kickflip.sdk.api.json.StreamList.java
io.kickflip.sdk.api.json.Stream.java
io.kickflip.sdk.api.json.User.java
io.kickflip.sdk.api.s3.S3BroadcastManager.java
io.kickflip.sdk.api.s3.package-info.java
io.kickflip.sdk.av.AVRecorder.java
io.kickflip.sdk.av.AndroidEncoder.java
io.kickflip.sdk.av.AndroidMuxer.java
io.kickflip.sdk.av.AudioEncoderConfig.java
io.kickflip.sdk.av.AudioEncoderCore.java
io.kickflip.sdk.av.BroadcastListener.java
io.kickflip.sdk.av.Broadcaster.java
io.kickflip.sdk.av.CameraEncoder.java
io.kickflip.sdk.av.CameraSurfaceRenderer.java
io.kickflip.sdk.av.Drawable2d.java
io.kickflip.sdk.av.EglCore.java
io.kickflip.sdk.av.EglStateSaver.java
io.kickflip.sdk.av.EglSurfaceBase.java
io.kickflip.sdk.av.FFmpegMuxer.java
io.kickflip.sdk.av.Filters.java
io.kickflip.sdk.av.FullFrameRect.java
io.kickflip.sdk.av.GlUtil.java
io.kickflip.sdk.av.HlsFileObserver.java
io.kickflip.sdk.av.M3u8Parser.java
io.kickflip.sdk.av.MicrophoneEncoder.java
io.kickflip.sdk.av.Muxer.java
io.kickflip.sdk.av.SessionConfig.java
io.kickflip.sdk.av.SizeableFrameRect.java
io.kickflip.sdk.av.Texture2dProgram.java
io.kickflip.sdk.av.VideoEncoderConfig.java
io.kickflip.sdk.av.VideoEncoderCore.java
io.kickflip.sdk.av.WindowSurface.java
io.kickflip.sdk.event.BroadcastEvent.java
io.kickflip.sdk.event.BroadcastIsBufferingEvent.java
io.kickflip.sdk.event.BroadcastIsLiveEvent.java
io.kickflip.sdk.event.CameraOpenedEvent.java
io.kickflip.sdk.event.HlsManifestUploadedEvent.java
io.kickflip.sdk.event.HlsManifestWrittenEvent.java
io.kickflip.sdk.event.HlsSegmentUploadedEvent.java
io.kickflip.sdk.event.HlsSegmentWrittenEvent.java
io.kickflip.sdk.event.MuxerFinishedEvent.java
io.kickflip.sdk.event.S3FailedUploadEvent.java
io.kickflip.sdk.event.S3UploadEvent.java
io.kickflip.sdk.event.StreamLocationAddedEvent.java
io.kickflip.sdk.event.ThumbnailWrittenEvent.java
io.kickflip.sdk.event.UploadEvent.java
io.kickflip.sdk.event.package-info.java
io.kickflip.sdk.exception.KickflipException.java
io.kickflip.sdk.fragment.BroadcastFragment.java
io.kickflip.sdk.fragment.GlassBroadcastFragment.java
io.kickflip.sdk.fragment.MediaPlayerFragment.java
io.kickflip.sdk.fragment.package-info.java
io.kickflip.sdk.location.DeviceLocation.java
io.kickflip.sdk.location.package-info.java
io.kickflip.sdk.view.GLCameraEncoderView.java
io.kickflip.sdk.view.GLCameraView.java
io.kickflip.sdk.view.package-info.java
pro.dbro.ffmpegwrapper.FFmpegWrapper.java
pro.dbro.ffmpegwrapper.package-info.java