mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-21 04:58:14 +00:00
Merge branch 'video' of git.linphone.org:linphone-android-private into video
This commit is contained in:
commit
03b80b879e
4 changed files with 15 additions and 23 deletions
|
|
@ -52,7 +52,8 @@ public abstract class AndroidCameraRecord {
|
|||
public void startPreview() { // FIXME throws exception?
|
||||
if (previewStarted) {
|
||||
Log.w(tag, "Already started");
|
||||
return;
|
||||
throw new RuntimeException("Video recorder already started");
|
||||
// return
|
||||
}
|
||||
|
||||
if (params.surfaceView.getVisibility() != SurfaceView.VISIBLE) {
|
||||
|
|
@ -91,7 +92,7 @@ public abstract class AndroidCameraRecord {
|
|||
}
|
||||
}
|
||||
|
||||
onSettingParameters(parameters);
|
||||
onSettingCameraParameters(parameters);
|
||||
camera.setParameters(parameters);
|
||||
|
||||
|
||||
|
|
@ -114,33 +115,28 @@ public abstract class AndroidCameraRecord {
|
|||
previewStarted = true;
|
||||
|
||||
|
||||
|
||||
// Register callback to get capture buffer
|
||||
if (storedPreviewCallback != null) {
|
||||
lowLevelSetPreviewCallback(camera, storedPreviewCallback);
|
||||
}
|
||||
lowLevelSetPreviewCallback(camera, storedPreviewCallback);
|
||||
|
||||
|
||||
onCameraStarted(camera);
|
||||
onPreviewStarted(camera);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
protected void onSettingParameters(Parameters parameters) {
|
||||
|
||||
}
|
||||
protected void onSettingCameraParameters(Parameters parameters) {}
|
||||
|
||||
/**
|
||||
* Hook.
|
||||
* @param camera
|
||||
*/
|
||||
public void onCameraStarted(Camera camera) {}
|
||||
public void onPreviewStarted(Camera camera) {}
|
||||
|
||||
public void storePreviewCallBack(PreviewCallback cb) {
|
||||
this.storedPreviewCallback = cb;
|
||||
if (camera == null) {
|
||||
Log.w(tag, "Capture camera not ready, storing callback");
|
||||
this.storedPreviewCallback = cb;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,18 +46,14 @@ public class AndroidCameraRecordBufferedImpl extends AndroidCameraRecordImpl {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onCameraStarted(Camera camera) {
|
||||
super.onCameraStarted(camera);
|
||||
public void onPreviewStarted(Camera camera) {
|
||||
super.onPreviewStarted(camera);
|
||||
|
||||
Size s = camera.getParameters().getPreviewSize();
|
||||
int wishedBufferSize = s.height * s.width * 3 / 2;
|
||||
|
||||
camera.addCallbackBuffer(new byte[wishedBufferSize]);
|
||||
camera.addCallbackBuffer(new byte[wishedBufferSize]);
|
||||
/*
|
||||
for (int i=1; i < 30; i++) {
|
||||
camera.addCallbackBuffer(new byte[wishedBufferSize]);
|
||||
}*/
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -67,8 +63,8 @@ public class AndroidCameraRecordBufferedImpl extends AndroidCameraRecordImpl {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected void onSettingParameters(Parameters parameters) {
|
||||
super.onSettingParameters(parameters);
|
||||
protected void onSettingCameraParameters(Parameters parameters) {
|
||||
super.onSettingCameraParameters(parameters);
|
||||
// Only on v8 hardware
|
||||
camera.setDisplayOrientation(90 * orientationCode);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,11 +34,11 @@ public class AndroidCameraRecordImpl extends AndroidCameraRecord implements Prev
|
|||
private long filterCtxPtr;
|
||||
private double timeElapsedBetweenFrames = 0;
|
||||
private long lastFrameTime = 0;
|
||||
private final long expectedTimeBetweenFrames;
|
||||
private final double expectedTimeBetweenFrames;
|
||||
|
||||
public AndroidCameraRecordImpl(RecorderParams parameters) {
|
||||
super(parameters);
|
||||
expectedTimeBetweenFrames = 1l / Math.round(parameters.fps);
|
||||
expectedTimeBetweenFrames = 1d / Math.round(parameters.fps);
|
||||
filterCtxPtr = parameters.filterDataNativePtr;
|
||||
|
||||
storePreviewCallBack(this);
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ public class AndroidCameraRecordManager {
|
|||
|
||||
parameters.rotation = rotation;
|
||||
parameters.surfaceView = surfaceView;
|
||||
if (version > 8) {
|
||||
if (version >= 8) {
|
||||
recorder = new AndroidCameraRecordBufferedImpl(parameters);
|
||||
} else {
|
||||
recorder = new AndroidCameraRecordImpl(parameters);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue