X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fai%2Fsuanzi%2Frtmpclient%2FMyService.java;h=ff2c182377b05e792e7b607ce5e5d4d0da489977;hb=c6604883de5525540d63ceacf4cf08fe3e82a286;hp=6b7ecf82af9bbdf6bedd8c70d22266cb79eca2a4;hpb=6aa3850f260161c015474faf68165158165afea8;p=rtmpclient.git diff --git a/app/src/main/java/ai/suanzi/rtmpclient/MyService.java b/app/src/main/java/ai/suanzi/rtmpclient/MyService.java index 6b7ecf8..ff2c182 100644 --- a/app/src/main/java/ai/suanzi/rtmpclient/MyService.java +++ b/app/src/main/java/ai/suanzi/rtmpclient/MyService.java @@ -25,8 +25,7 @@ public class MyService extends Service implements Camera.PreviewCallback, Camer private long frameCount = 0; // Preferred picture Size of the camera; - private int width = 0; - private int height = 0; + private Camera.Size mPreferredSize; private MyServiceEventListener mListener; @@ -194,6 +193,10 @@ public class MyService extends Service implements Camera.PreviewCallback, Camer public void startPreview (SurfaceHolder holder){ gLogger.debug("startPreview"); + if(mCamera == null){ + gLogger.error("startPreview - error: camera is null"); + return; + } try { mCamera.setPreviewDisplay(holder); mCamera.startPreview(); @@ -216,12 +219,12 @@ public class MyService extends Service implements Camera.PreviewCallback, Camer public boolean setRtmpUrl (String url){ //this.rtmpUrl = url; - if(mCamera == null){ - gLogger.error("setRtmpUrl, error mCamera is null"); + if(mCamera == null || mPreferredSize == null){ + gLogger.error("setRtmpUrl, error mCamera or PreferredSize is null"); return false; } - gLogger.error("setRtmpUrl - size: " + width + "x" + height + ". url: " + url); - int ret = FfmpegHelper.initEncoder(width, height, url); + gLogger.error("setRtmpUrl - size: " + mPreferredSize.width + "x" + mPreferredSize.height + ". url: " + url); + int ret = FfmpegHelper.initEncoder(mPreferredSize.width, mPreferredSize.height, url); if(ret != 0){ gLogger.error("setRtmpUrl, initEncoder error"); } @@ -248,8 +251,7 @@ public class MyService extends Service implements Camera.PreviewCallback, Camer for(int[] i : paras.getSupportedPreviewFpsRange()){ gLogger.error("[" + i[0] + "," + i[1] + "]"); } - width = preferredSize.width; - height = preferredSize.height; + mPreferredSize = preferredSize; paras.setPictureSize(preferredSize.width, preferredSize.height); // use 640x480 preferred camera.setParameters(paras); camera.setDisplayOrientation(0); @@ -258,6 +260,10 @@ public class MyService extends Service implements Camera.PreviewCallback, Camer camera.setPreviewCallback(this); } + public Camera.Size getBestPictureSize(){ + return mPreferredSize; + } + // Camaer.onError callback @Override public void onError(int error, Camera camera){