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:
magjed
2017-04-06 04:31:26 -07:00
committed by Commit bot
parent 639d46a7ab
commit 177b17e050
5 changed files with 55 additions and 44 deletions

View File

@ -174,6 +174,7 @@ android_library("libjingle_peerconnection_java") {
"api/org/webrtc/VideoRenderer.java", "api/org/webrtc/VideoRenderer.java",
"api/org/webrtc/VideoSource.java", "api/org/webrtc/VideoSource.java",
"api/org/webrtc/VideoTrack.java", "api/org/webrtc/VideoTrack.java",
"src/java/org/webrtc/AndroidVideoTrackSourceObserver.java",
"src/java/org/webrtc/Camera1Session.java", "src/java/org/webrtc/Camera1Session.java",
"src/java/org/webrtc/Camera2Session.java", "src/java/org/webrtc/Camera2Session.java",
"src/java/org/webrtc/CameraCapturer.java", "src/java/org/webrtc/CameraCapturer.java",

View File

@ -127,7 +127,7 @@ public class PeerConnectionFactory {
long nativeAndroidVideoTrackSource = long nativeAndroidVideoTrackSource =
nativeCreateVideoSource(nativeFactory, eglContext, capturer.isScreencast()); nativeCreateVideoSource(nativeFactory, eglContext, capturer.isScreencast());
VideoCapturer.CapturerObserver capturerObserver = VideoCapturer.CapturerObserver capturerObserver =
new VideoCapturer.AndroidVideoTrackSourceObserver(nativeAndroidVideoTrackSource); new AndroidVideoTrackSourceObserver(nativeAndroidVideoTrackSource);
nativeInitializeVideoCapturer( nativeInitializeVideoCapturer(
nativeFactory, capturer, nativeAndroidVideoTrackSource, capturerObserver); nativeFactory, capturer, nativeAndroidVideoTrackSource, capturerObserver);
return new VideoSource(nativeAndroidVideoTrackSource); return new VideoSource(nativeAndroidVideoTrackSource);

View File

@ -33,48 +33,6 @@ public interface VideoCapturer {
int rotation, long timestamp); 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 * 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 * capture observer. It will be called only once and before any startCapture() request. The

View File

@ -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);
}

View File

@ -15,7 +15,7 @@
// Identifiers are over 80 characters long so this is needed to fit them on one // Identifiers are over 80 characters long so this is needed to fit them on one
// line. // line.
#define JOW_OBSERVER_METHOD(rettype, name) \ #define JOW_OBSERVER_METHOD(rettype, name) \
JOW(rettype, VideoCapturer_00024AndroidVideoTrackSourceObserver_##name) JOW(rettype, AndroidVideoTrackSourceObserver_##name)
namespace webrtc_jni { namespace webrtc_jni {