Android SurfaceTextureHelper: Distinguish thread names for decoder and camera
Review URL: https://codereview.webrtc.org/1843973002 Cr-Commit-Position: refs/heads/master@{#12176}
This commit is contained in:
@ -250,8 +250,8 @@ public final class GlRectDrawerTest extends ActivityTestCase {
|
|||||||
eglBase.createPbufferSurface(WIDTH, HEIGHT);
|
eglBase.createPbufferSurface(WIDTH, HEIGHT);
|
||||||
|
|
||||||
// Create resources for generating OES textures.
|
// Create resources for generating OES textures.
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(eglBase.getEglBaseContext());
|
"SurfaceTextureHelper test" /* threadName */, eglBase.getEglBaseContext());
|
||||||
final StubOesTextureProducer oesProducer = new StubOesTextureProducer(
|
final StubOesTextureProducer oesProducer = new StubOesTextureProducer(
|
||||||
eglBase.getEglBaseContext(), surfaceTextureHelper.getSurfaceTexture(), WIDTH, HEIGHT);
|
eglBase.getEglBaseContext(), surfaceTextureHelper.getSurfaceTexture(), WIDTH, HEIGHT);
|
||||||
final SurfaceTextureHelperTest.MockTextureListener listener =
|
final SurfaceTextureHelperTest.MockTextureListener listener =
|
||||||
|
|||||||
@ -102,8 +102,8 @@ public final class SurfaceTextureHelperTest extends ActivityTestCase {
|
|||||||
final GlRectDrawer drawer = new GlRectDrawer();
|
final GlRectDrawer drawer = new GlRectDrawer();
|
||||||
|
|
||||||
// Create SurfaceTextureHelper and listener.
|
// Create SurfaceTextureHelper and listener.
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(eglBase.getEglBaseContext());
|
"SurfaceTextureHelper test" /* threadName */, eglBase.getEglBaseContext());
|
||||||
final MockTextureListener listener = new MockTextureListener();
|
final MockTextureListener listener = new MockTextureListener();
|
||||||
surfaceTextureHelper.startListening(listener);
|
surfaceTextureHelper.startListening(listener);
|
||||||
surfaceTextureHelper.getSurfaceTexture().setDefaultBufferSize(width, height);
|
surfaceTextureHelper.getSurfaceTexture().setDefaultBufferSize(width, height);
|
||||||
@ -169,8 +169,8 @@ public final class SurfaceTextureHelperTest extends ActivityTestCase {
|
|||||||
eglBase.createPbufferSurface(width, height);
|
eglBase.createPbufferSurface(width, height);
|
||||||
|
|
||||||
// Create SurfaceTextureHelper and listener.
|
// Create SurfaceTextureHelper and listener.
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(eglBase.getEglBaseContext());
|
"SurfaceTextureHelper test" /* threadName */, eglBase.getEglBaseContext());
|
||||||
final MockTextureListener listener = new MockTextureListener();
|
final MockTextureListener listener = new MockTextureListener();
|
||||||
surfaceTextureHelper.startListening(listener);
|
surfaceTextureHelper.startListening(listener);
|
||||||
surfaceTextureHelper.getSurfaceTexture().setDefaultBufferSize(width, height);
|
surfaceTextureHelper.getSurfaceTexture().setDefaultBufferSize(width, height);
|
||||||
@ -229,8 +229,8 @@ public final class SurfaceTextureHelperTest extends ActivityTestCase {
|
|||||||
@MediumTest
|
@MediumTest
|
||||||
public static void testDispose() throws InterruptedException {
|
public static void testDispose() throws InterruptedException {
|
||||||
// Create SurfaceTextureHelper and listener.
|
// Create SurfaceTextureHelper and listener.
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null);
|
"SurfaceTextureHelper test" /* threadName */, null);
|
||||||
final MockTextureListener listener = new MockTextureListener();
|
final MockTextureListener listener = new MockTextureListener();
|
||||||
surfaceTextureHelper.startListening(listener);
|
surfaceTextureHelper.startListening(listener);
|
||||||
// Create EglBase with the SurfaceTexture as target EGLSurface.
|
// Create EglBase with the SurfaceTexture as target EGLSurface.
|
||||||
@ -265,8 +265,8 @@ public final class SurfaceTextureHelperTest extends ActivityTestCase {
|
|||||||
*/
|
*/
|
||||||
@SmallTest
|
@SmallTest
|
||||||
public static void testDisposeImmediately() {
|
public static void testDisposeImmediately() {
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null);
|
"SurfaceTextureHelper test" /* threadName */, null);
|
||||||
surfaceTextureHelper.dispose();
|
surfaceTextureHelper.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -288,8 +288,8 @@ public final class SurfaceTextureHelperTest extends ActivityTestCase {
|
|||||||
@MediumTest
|
@MediumTest
|
||||||
public static void testStopListening() throws InterruptedException {
|
public static void testStopListening() throws InterruptedException {
|
||||||
// Create SurfaceTextureHelper and listener.
|
// Create SurfaceTextureHelper and listener.
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null);
|
"SurfaceTextureHelper test" /* threadName */, null);
|
||||||
final MockTextureListener listener = new MockTextureListener();
|
final MockTextureListener listener = new MockTextureListener();
|
||||||
surfaceTextureHelper.startListening(listener);
|
surfaceTextureHelper.startListening(listener);
|
||||||
// Create EglBase with the SurfaceTexture as target EGLSurface.
|
// Create EglBase with the SurfaceTexture as target EGLSurface.
|
||||||
@ -324,8 +324,8 @@ public final class SurfaceTextureHelperTest extends ActivityTestCase {
|
|||||||
*/
|
*/
|
||||||
@SmallTest
|
@SmallTest
|
||||||
public static void testStopListeningImmediately() throws InterruptedException {
|
public static void testStopListeningImmediately() throws InterruptedException {
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null);
|
"SurfaceTextureHelper test" /* threadName */, null);
|
||||||
final MockTextureListener listener = new MockTextureListener();
|
final MockTextureListener listener = new MockTextureListener();
|
||||||
surfaceTextureHelper.startListening(listener);
|
surfaceTextureHelper.startListening(listener);
|
||||||
stopListeningOnHandlerThread(surfaceTextureHelper);
|
stopListeningOnHandlerThread(surfaceTextureHelper);
|
||||||
@ -338,8 +338,8 @@ public final class SurfaceTextureHelperTest extends ActivityTestCase {
|
|||||||
*/
|
*/
|
||||||
@SmallTest
|
@SmallTest
|
||||||
public static void testStopListeningImmediatelyOnHandlerThread() throws InterruptedException {
|
public static void testStopListeningImmediatelyOnHandlerThread() throws InterruptedException {
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null);
|
"SurfaceTextureHelper test" /* threadName */, null);
|
||||||
final MockTextureListener listener = new MockTextureListener();
|
final MockTextureListener listener = new MockTextureListener();
|
||||||
|
|
||||||
final CountDownLatch stopListeningBarrier = new CountDownLatch(1);
|
final CountDownLatch stopListeningBarrier = new CountDownLatch(1);
|
||||||
@ -377,8 +377,8 @@ public final class SurfaceTextureHelperTest extends ActivityTestCase {
|
|||||||
@MediumTest
|
@MediumTest
|
||||||
public static void testRestartListeningWithNewListener() throws InterruptedException {
|
public static void testRestartListeningWithNewListener() throws InterruptedException {
|
||||||
// Create SurfaceTextureHelper and listener.
|
// Create SurfaceTextureHelper and listener.
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null);
|
"SurfaceTextureHelper test" /* threadName */, null);
|
||||||
final MockTextureListener listener1 = new MockTextureListener();
|
final MockTextureListener listener1 = new MockTextureListener();
|
||||||
surfaceTextureHelper.startListening(listener1);
|
surfaceTextureHelper.startListening(listener1);
|
||||||
// Create EglBase with the SurfaceTexture as target EGLSurface.
|
// Create EglBase with the SurfaceTexture as target EGLSurface.
|
||||||
@ -425,8 +425,8 @@ public final class SurfaceTextureHelperTest extends ActivityTestCase {
|
|||||||
final EglBase eglBase = EglBase.create(null, EglBase.CONFIG_PLAIN);
|
final EglBase eglBase = EglBase.create(null, EglBase.CONFIG_PLAIN);
|
||||||
|
|
||||||
// Create SurfaceTextureHelper and listener.
|
// Create SurfaceTextureHelper and listener.
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(eglBase.getEglBaseContext());
|
"SurfaceTextureHelper test" /* threadName */, eglBase.getEglBaseContext());
|
||||||
final MockTextureListener listener = new MockTextureListener();
|
final MockTextureListener listener = new MockTextureListener();
|
||||||
surfaceTextureHelper.startListening(listener);
|
surfaceTextureHelper.startListening(listener);
|
||||||
surfaceTextureHelper.getSurfaceTexture().setDefaultBufferSize(width, height);
|
surfaceTextureHelper.getSurfaceTexture().setDefaultBufferSize(width, height);
|
||||||
|
|||||||
@ -286,8 +286,8 @@ public class VideoCapturerAndroidTestFixtures {
|
|||||||
final List<CaptureFormat> formats = capturer.getSupportedFormats();
|
final List<CaptureFormat> formats = capturer.getSupportedFormats();
|
||||||
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
||||||
|
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null /* sharedContext */);
|
"SurfaceTextureHelper test" /* threadName */, null /* sharedContext */);
|
||||||
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
||||||
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
||||||
surfaceTextureHelper, appContext, observer);
|
surfaceTextureHelper, appContext, observer);
|
||||||
@ -310,8 +310,8 @@ public class VideoCapturerAndroidTestFixtures {
|
|||||||
final List<CaptureFormat> formats = capturer.getSupportedFormats();
|
final List<CaptureFormat> formats = capturer.getSupportedFormats();
|
||||||
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
||||||
|
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null /* sharedContext */);
|
"SurfaceTextureHelper test" /* threadName */, null /* sharedContext */);
|
||||||
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
||||||
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
||||||
surfaceTextureHelper, appContext, observer);
|
surfaceTextureHelper, appContext, observer);
|
||||||
@ -356,8 +356,8 @@ public class VideoCapturerAndroidTestFixtures {
|
|||||||
|
|
||||||
static public void startStopWithDifferentResolutions(VideoCapturerAndroid capturer,
|
static public void startStopWithDifferentResolutions(VideoCapturerAndroid capturer,
|
||||||
Context appContext) throws InterruptedException {
|
Context appContext) throws InterruptedException {
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null /* sharedContext */);
|
"SurfaceTextureHelper test" /* threadName */, null /* sharedContext */);
|
||||||
FakeCapturerObserver observer = new FakeCapturerObserver();
|
FakeCapturerObserver observer = new FakeCapturerObserver();
|
||||||
List<CaptureFormat> formats = capturer.getSupportedFormats();
|
List<CaptureFormat> formats = capturer.getSupportedFormats();
|
||||||
|
|
||||||
@ -409,8 +409,8 @@ public class VideoCapturerAndroidTestFixtures {
|
|||||||
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
||||||
Camera camera = Camera.open(capturer.getCurrentCameraId());
|
Camera camera = Camera.open(capturer.getCurrentCameraId());
|
||||||
|
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null /* sharedContext */);
|
"SurfaceTextureHelper test" /* threadName */, null /* sharedContext */);
|
||||||
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
||||||
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
||||||
surfaceTextureHelper, appContext, observer);
|
surfaceTextureHelper, appContext, observer);
|
||||||
@ -434,8 +434,8 @@ public class VideoCapturerAndroidTestFixtures {
|
|||||||
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
||||||
Camera camera = Camera.open(capturer.getCurrentCameraId());
|
Camera camera = Camera.open(capturer.getCurrentCameraId());
|
||||||
|
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null /* sharedContext */);
|
"SurfaceTextureHelper test" /* threadName */, null /* sharedContext */);
|
||||||
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
||||||
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
||||||
surfaceTextureHelper, appContext, observer);
|
surfaceTextureHelper, appContext, observer);
|
||||||
@ -460,8 +460,8 @@ public class VideoCapturerAndroidTestFixtures {
|
|||||||
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
||||||
Camera camera = Camera.open(capturer.getCurrentCameraId());
|
Camera camera = Camera.open(capturer.getCurrentCameraId());
|
||||||
|
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null /* sharedContext */);
|
"SurfaceTextureHelper test" /* threadName */, null /* sharedContext */);
|
||||||
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
||||||
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
||||||
surfaceTextureHelper, appContext, observer);
|
surfaceTextureHelper, appContext, observer);
|
||||||
@ -473,8 +473,8 @@ public class VideoCapturerAndroidTestFixtures {
|
|||||||
|
|
||||||
static public void returnBufferLate(VideoCapturerAndroid capturer,
|
static public void returnBufferLate(VideoCapturerAndroid capturer,
|
||||||
Context appContext) throws InterruptedException {
|
Context appContext) throws InterruptedException {
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null /* sharedContext */);
|
"SurfaceTextureHelper test" /* threadName */, null /* sharedContext */);
|
||||||
FakeCapturerObserver observer = new FakeCapturerObserver();
|
FakeCapturerObserver observer = new FakeCapturerObserver();
|
||||||
|
|
||||||
List<CaptureFormat> formats = capturer.getSupportedFormats();
|
List<CaptureFormat> formats = capturer.getSupportedFormats();
|
||||||
@ -550,8 +550,8 @@ public class VideoCapturerAndroidTestFixtures {
|
|||||||
final List<CaptureFormat> formats = capturer.getSupportedFormats();
|
final List<CaptureFormat> formats = capturer.getSupportedFormats();
|
||||||
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
final CameraEnumerationAndroid.CaptureFormat format = formats.get(0);
|
||||||
|
|
||||||
final SurfaceTextureHelper surfaceTextureHelper =
|
final SurfaceTextureHelper surfaceTextureHelper = SurfaceTextureHelper.create(
|
||||||
SurfaceTextureHelper.create(null /* sharedContext */);
|
"SurfaceTextureHelper test" /* threadName */, null /* sharedContext */);
|
||||||
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
final FakeCapturerObserver observer = new FakeCapturerObserver();
|
||||||
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
capturer.startCapture(format.width, format.height, format.maxFramerate,
|
||||||
surfaceTextureHelper, appContext, observer);
|
surfaceTextureHelper, appContext, observer);
|
||||||
|
|||||||
@ -52,8 +52,9 @@ class SurfaceTextureHelper {
|
|||||||
* Construct a new SurfaceTextureHelper sharing OpenGL resources with |sharedContext|. A dedicated
|
* Construct a new SurfaceTextureHelper sharing OpenGL resources with |sharedContext|. A dedicated
|
||||||
* thread and handler is created for handling the SurfaceTexture.
|
* thread and handler is created for handling the SurfaceTexture.
|
||||||
*/
|
*/
|
||||||
public static SurfaceTextureHelper create(final EglBase.Context sharedContext) {
|
public static SurfaceTextureHelper create(
|
||||||
final HandlerThread thread = new HandlerThread(TAG);
|
final String threadName, final EglBase.Context sharedContext) {
|
||||||
|
final HandlerThread thread = new HandlerThread(threadName);
|
||||||
thread.start();
|
thread.start();
|
||||||
final Handler handler = new Handler(thread.getLooper());
|
final Handler handler = new Handler(thread.getLooper());
|
||||||
|
|
||||||
|
|||||||
@ -345,7 +345,7 @@ int32_t MediaCodecVideoDecoder::InitDecodeOnCodecThread() {
|
|||||||
|
|
||||||
if (use_surface_) {
|
if (use_surface_) {
|
||||||
surface_texture_helper_ = new rtc::RefCountedObject<SurfaceTextureHelper>(
|
surface_texture_helper_ = new rtc::RefCountedObject<SurfaceTextureHelper>(
|
||||||
jni, render_egl_context_);
|
jni, "Decoder SurfaceTextureHelper", render_egl_context_);
|
||||||
}
|
}
|
||||||
|
|
||||||
jobject j_video_codec_enum = JavaEnumFromIndexAndClassName(
|
jobject j_video_codec_enum = JavaEnumFromIndexAndClassName(
|
||||||
|
|||||||
@ -42,7 +42,7 @@ AndroidVideoCapturerJni::AndroidVideoCapturerJni(
|
|||||||
FindClass(jni,
|
FindClass(jni,
|
||||||
"org/webrtc/VideoCapturer$NativeObserver")),
|
"org/webrtc/VideoCapturer$NativeObserver")),
|
||||||
surface_texture_helper_(new rtc::RefCountedObject<SurfaceTextureHelper>(
|
surface_texture_helper_(new rtc::RefCountedObject<SurfaceTextureHelper>(
|
||||||
jni, j_egl_context)),
|
jni, "Camera SurfaceTextureHelper", j_egl_context)),
|
||||||
capturer_(nullptr) {
|
capturer_(nullptr) {
|
||||||
LOG(LS_INFO) << "AndroidVideoCapturerJni ctor";
|
LOG(LS_INFO) << "AndroidVideoCapturerJni ctor";
|
||||||
thread_checker_.DetachFromThread();
|
thread_checker_.DetachFromThread();
|
||||||
|
|||||||
@ -18,15 +18,15 @@
|
|||||||
namespace webrtc_jni {
|
namespace webrtc_jni {
|
||||||
|
|
||||||
SurfaceTextureHelper::SurfaceTextureHelper(
|
SurfaceTextureHelper::SurfaceTextureHelper(
|
||||||
JNIEnv* jni, jobject j_egl_context)
|
JNIEnv* jni, const char* thread_name, jobject j_egl_context)
|
||||||
: j_surface_texture_helper_(jni, jni->CallStaticObjectMethod(
|
: j_surface_texture_helper_(jni, jni->CallStaticObjectMethod(
|
||||||
FindClass(jni, "org/webrtc/SurfaceTextureHelper"),
|
FindClass(jni, "org/webrtc/SurfaceTextureHelper"),
|
||||||
GetStaticMethodID(jni,
|
GetStaticMethodID(jni,
|
||||||
FindClass(jni, "org/webrtc/SurfaceTextureHelper"),
|
FindClass(jni, "org/webrtc/SurfaceTextureHelper"),
|
||||||
"create",
|
"create",
|
||||||
"(Lorg/webrtc/EglBase$Context;)"
|
"(Ljava/lang/String;Lorg/webrtc/EglBase$Context;)"
|
||||||
"Lorg/webrtc/SurfaceTextureHelper;"),
|
"Lorg/webrtc/SurfaceTextureHelper;"),
|
||||||
j_egl_context)),
|
jni->NewStringUTF(thread_name), j_egl_context)),
|
||||||
j_return_texture_method_(
|
j_return_texture_method_(
|
||||||
GetMethodID(jni,
|
GetMethodID(jni,
|
||||||
FindClass(jni, "org/webrtc/SurfaceTextureHelper"),
|
FindClass(jni, "org/webrtc/SurfaceTextureHelper"),
|
||||||
|
|||||||
@ -38,7 +38,9 @@ namespace webrtc_jni {
|
|||||||
// 4. Call CreateTextureFrame to wrap the Java texture in a VideoFrameBuffer.
|
// 4. Call CreateTextureFrame to wrap the Java texture in a VideoFrameBuffer.
|
||||||
class SurfaceTextureHelper : public rtc::RefCountInterface {
|
class SurfaceTextureHelper : public rtc::RefCountInterface {
|
||||||
public:
|
public:
|
||||||
SurfaceTextureHelper(JNIEnv* jni, jobject j_egl_context);
|
SurfaceTextureHelper(JNIEnv* jni,
|
||||||
|
const char* thread_name,
|
||||||
|
jobject j_egl_context);
|
||||||
|
|
||||||
jobject GetJavaSurfaceTextureHelper() const;
|
jobject GetJavaSurfaceTextureHelper() const;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user