Move AndroidVideoTrackSourceObserver from API to src
BUG=webrtc:7172 Review-Url: https://codereview.webrtc.org/2803593004 Cr-Commit-Position: refs/heads/master@{#17562}
This commit is contained in:
@ -174,6 +174,7 @@ android_library("libjingle_peerconnection_java") {
|
||||
"api/org/webrtc/VideoRenderer.java",
|
||||
"api/org/webrtc/VideoSource.java",
|
||||
"api/org/webrtc/VideoTrack.java",
|
||||
"src/java/org/webrtc/AndroidVideoTrackSourceObserver.java",
|
||||
"src/java/org/webrtc/Camera1Session.java",
|
||||
"src/java/org/webrtc/Camera2Session.java",
|
||||
"src/java/org/webrtc/CameraCapturer.java",
|
||||
|
||||
@ -127,7 +127,7 @@ public class PeerConnectionFactory {
|
||||
long nativeAndroidVideoTrackSource =
|
||||
nativeCreateVideoSource(nativeFactory, eglContext, capturer.isScreencast());
|
||||
VideoCapturer.CapturerObserver capturerObserver =
|
||||
new VideoCapturer.AndroidVideoTrackSourceObserver(nativeAndroidVideoTrackSource);
|
||||
new AndroidVideoTrackSourceObserver(nativeAndroidVideoTrackSource);
|
||||
nativeInitializeVideoCapturer(
|
||||
nativeFactory, capturer, nativeAndroidVideoTrackSource, capturerObserver);
|
||||
return new VideoSource(nativeAndroidVideoTrackSource);
|
||||
|
||||
@ -33,48 +33,6 @@ public interface VideoCapturer {
|
||||
int rotation, long timestamp);
|
||||
}
|
||||
|
||||
// An implementation of CapturerObserver that forwards all calls from
|
||||
// Java to the C layer.
|
||||
static class AndroidVideoTrackSourceObserver implements CapturerObserver {
|
||||
// Pointer to VideoTrackSourceProxy proxying AndroidVideoTrackSource.
|
||||
private final long nativeSource;
|
||||
|
||||
public AndroidVideoTrackSourceObserver(long nativeSource) {
|
||||
this.nativeSource = nativeSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCapturerStarted(boolean success) {
|
||||
nativeCapturerStarted(nativeSource, success);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCapturerStopped() {
|
||||
nativeCapturerStopped(nativeSource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onByteBufferFrameCaptured(
|
||||
byte[] data, int width, int height, int rotation, long timeStamp) {
|
||||
nativeOnByteBufferFrameCaptured(
|
||||
nativeSource, data, data.length, width, height, rotation, timeStamp);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTextureFrameCaptured(int width, int height, int oesTextureId,
|
||||
float[] transformMatrix, int rotation, long timestamp) {
|
||||
nativeOnTextureFrameCaptured(
|
||||
nativeSource, width, height, oesTextureId, transformMatrix, rotation, timestamp);
|
||||
}
|
||||
|
||||
private native void nativeCapturerStarted(long nativeSource, boolean success);
|
||||
private native void nativeCapturerStopped(long nativeSource);
|
||||
private native void nativeOnByteBufferFrameCaptured(long nativeSource, byte[] data, int length,
|
||||
int width, int height, int rotation, long timeStamp);
|
||||
private native void nativeOnTextureFrameCaptured(long nativeSource, int width, int height,
|
||||
int oesTextureId, float[] transformMatrix, int rotation, long timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is used to initialize the camera thread, the android application context, and the
|
||||
* capture observer. It will be called only once and before any startCapture() request. The
|
||||
|
||||
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright 2017 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
package org.webrtc;
|
||||
|
||||
/** An implementation of CapturerObserver that forwards all calls from Java to the C layer. */
|
||||
class AndroidVideoTrackSourceObserver implements VideoCapturer.CapturerObserver {
|
||||
// Pointer to VideoTrackSourceProxy proxying AndroidVideoTrackSource.
|
||||
private final long nativeSource;
|
||||
|
||||
public AndroidVideoTrackSourceObserver(long nativeSource) {
|
||||
this.nativeSource = nativeSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCapturerStarted(boolean success) {
|
||||
nativeCapturerStarted(nativeSource, success);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCapturerStopped() {
|
||||
nativeCapturerStopped(nativeSource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onByteBufferFrameCaptured(
|
||||
byte[] data, int width, int height, int rotation, long timeStamp) {
|
||||
nativeOnByteBufferFrameCaptured(
|
||||
nativeSource, data, data.length, width, height, rotation, timeStamp);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTextureFrameCaptured(int width, int height, int oesTextureId,
|
||||
float[] transformMatrix, int rotation, long timestamp) {
|
||||
nativeOnTextureFrameCaptured(
|
||||
nativeSource, width, height, oesTextureId, transformMatrix, rotation, timestamp);
|
||||
}
|
||||
|
||||
private native void nativeCapturerStarted(long nativeSource, boolean success);
|
||||
private native void nativeCapturerStopped(long nativeSource);
|
||||
private native void nativeOnByteBufferFrameCaptured(long nativeSource, byte[] data, int length,
|
||||
int width, int height, int rotation, long timeStamp);
|
||||
private native void nativeOnTextureFrameCaptured(long nativeSource, int width, int height,
|
||||
int oesTextureId, float[] transformMatrix, int rotation, long timestamp);
|
||||
}
|
||||
@ -15,7 +15,7 @@
|
||||
// Identifiers are over 80 characters long so this is needed to fit them on one
|
||||
// line.
|
||||
#define JOW_OBSERVER_METHOD(rettype, name) \
|
||||
JOW(rettype, VideoCapturer_00024AndroidVideoTrackSourceObserver_##name)
|
||||
JOW(rettype, AndroidVideoTrackSourceObserver_##name)
|
||||
|
||||
namespace webrtc_jni {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user