Java VideoRenderer class may be backed by two different native
classes depending on type of rendering. Fix crash in AppRtcDemo by calling correct destructor on exit. BUG= R=braveyao@webrtc.org Review URL: https://webrtc-codereview.appspot.com/23699004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7202 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
40c2aa36f2
commit
a59c501c99
@ -2707,10 +2707,14 @@ JOW(void, VideoCapturer_free)(JNIEnv*, jclass, jlong j_p) {
|
||||
delete reinterpret_cast<cricket::VideoCapturer*>(j_p);
|
||||
}
|
||||
|
||||
JOW(void, VideoRenderer_free)(JNIEnv*, jclass, jlong j_p) {
|
||||
JOW(void, VideoRenderer_freeGuiVideoRenderer)(JNIEnv*, jclass, jlong j_p) {
|
||||
delete reinterpret_cast<VideoRendererWrapper*>(j_p);
|
||||
}
|
||||
|
||||
JOW(void, VideoRenderer_freeWrappedVideoRenderer)(JNIEnv*, jclass, jlong j_p) {
|
||||
delete reinterpret_cast<JavaVideoRendererWrapper*>(j_p);
|
||||
}
|
||||
|
||||
JOW(void, MediaStreamTrack_free)(JNIEnv*, jclass, jlong j_p) {
|
||||
CHECK_RELEASE(reinterpret_cast<MediaStreamTrackInterface*>(j_p));
|
||||
}
|
||||
|
@ -176,11 +176,16 @@ public class VideoRenderer {
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
free(nativeVideoRenderer);
|
||||
if (callbacks == null) {
|
||||
freeGuiVideoRenderer(nativeVideoRenderer);
|
||||
} else {
|
||||
freeWrappedVideoRenderer(nativeVideoRenderer);
|
||||
}
|
||||
}
|
||||
|
||||
private static native long nativeCreateGuiVideoRenderer(int x, int y);
|
||||
private static native long nativeWrapVideoRenderer(Callbacks callbacks);
|
||||
|
||||
private static native void free(long nativeVideoRenderer);
|
||||
private static native void freeGuiVideoRenderer(long nativeVideoRenderer);
|
||||
private static native void freeWrappedVideoRenderer(long nativeVideoRenderer);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user