package ai.suanzi.rtmpclient;
-import android.os.Parcelable;
-import android.view.SurfaceView;
-import android.os.Parcel;
import android.content.Context;
import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+import org.apache.log4j.Logger;
-public class CameraView extends SurfaceView implements Parcelable {
+public class CameraView extends SurfaceView implements SurfaceHolder.Callback {
+ private static Logger gLogger = Logger.getLogger("CameraView");
+ public static int SCREEN_WIDTH;
+ public static int SCREEN_HEIGHT;
+
+ private Context mContext;
private SurfaceHolder mHolder;
+ private Callback mCallback;
- public CameraView(Context context) {
+ public CameraView (Context context, Callback cb) {
super(context);
- mHolder = getHolder();
+ this.mContext = context;
+ mHolder = this.getHolder();
+ mHolder.addCallback(this);
+ this.mCallback = cb;
+ }
+
+ // SurfaceHolder.Callback implementation
+ @Override
+ public void surfaceCreated(final SurfaceHolder holder){
+ gLogger.error("SurfacedCreated");
}
@Override
- public int describeContents() {
- return 0;
+ public void surfaceChanged(SurfaceHolder holder, int format, int widht, int height){
+ gLogger.error("surfaceChanged");
+ mHolder = holder;
+ mCallback.onSurfaceChanged(holder, format, widht, height);
}
@Override
- public void writeToParcel(Parcel dest, int flags) {
+ public void surfaceDestroyed(SurfaceHolder holder){ gLogger.debug("surfaceDestroyed");
+ }
+
+ public interface Callback {
+ void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height);
}
}