OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright 2017 The WebRTC project authors. All Rights Reserved. | |
3 * | |
4 * Use of this source code is governed by a BSD-style license | |
5 * that can be found in the LICENSE file in the root of the source | |
6 * tree. An additional intellectual property rights grant can be found | |
7 * in the file PATENTS. All contributing project authors may | |
8 * be found in the AUTHORS file in the root of the source tree. | |
9 */ | |
10 | |
11 #include "webrtc/api/rtpreceiverinterface.h" | |
12 #include "webrtc/sdk/android/src/jni/jni_helpers.h" | |
13 #include "webrtc/sdk/android/src/jni/pc/java_native_conversion.h" | |
14 #include "webrtc/sdk/android/src/jni/pc/rtpreceiverobserver_jni.h" | |
15 | |
16 namespace webrtc_jni { | |
17 | |
18 JOW(jlong, RtpReceiver_nativeGetTrack) | |
19 (JNIEnv* jni, jclass, jlong j_rtp_receiver_pointer, jlong j_track_pointer) { | |
20 return jlongFromPointer( | |
21 reinterpret_cast<webrtc::RtpReceiverInterface*>(j_rtp_receiver_pointer) | |
22 ->track() | |
23 .release()); | |
24 } | |
25 | |
26 JOW(jboolean, RtpReceiver_nativeSetParameters) | |
27 (JNIEnv* jni, jclass, jlong j_rtp_receiver_pointer, jobject j_parameters) { | |
28 if (IsNull(jni, j_parameters)) { | |
29 return false; | |
30 } | |
31 webrtc::RtpParameters parameters; | |
32 JavaToNativeRtpParameters(jni, j_parameters, ¶meters); | |
33 return reinterpret_cast<webrtc::RtpReceiverInterface*>(j_rtp_receiver_pointer) | |
34 ->SetParameters(parameters); | |
35 } | |
36 | |
37 JOW(jobject, RtpReceiver_nativeGetParameters) | |
38 (JNIEnv* jni, jclass, jlong j_rtp_receiver_pointer) { | |
39 webrtc::RtpParameters parameters = | |
40 reinterpret_cast<webrtc::RtpReceiverInterface*>(j_rtp_receiver_pointer) | |
41 ->GetParameters(); | |
42 return NativeToJavaRtpParameters(jni, parameters); | |
43 } | |
44 | |
45 JOW(jstring, RtpReceiver_nativeId) | |
46 (JNIEnv* jni, jclass, jlong j_rtp_receiver_pointer) { | |
47 return JavaStringFromStdString( | |
48 jni, | |
49 reinterpret_cast<webrtc::RtpReceiverInterface*>(j_rtp_receiver_pointer) | |
50 ->id()); | |
51 } | |
52 | |
53 JOW(void, RtpReceiver_free) | |
54 (JNIEnv* jni, jclass, jlong j_rtp_receiver_pointer) { | |
55 reinterpret_cast<webrtc::RtpReceiverInterface*>(j_rtp_receiver_pointer) | |
56 ->Release(); | |
57 } | |
58 | |
59 JOW(jlong, RtpReceiver_nativeSetObserver) | |
60 (JNIEnv* jni, jclass, jlong j_rtp_receiver_pointer, jobject j_observer) { | |
61 RtpReceiverObserverJni* rtpReceiverObserver = | |
62 new RtpReceiverObserverJni(jni, j_observer); | |
63 reinterpret_cast<webrtc::RtpReceiverInterface*>(j_rtp_receiver_pointer) | |
64 ->SetObserver(rtpReceiverObserver); | |
65 return jlongFromPointer(rtpReceiverObserver); | |
66 } | |
67 | |
68 JOW(void, RtpReceiver_nativeUnsetObserver) | |
69 (JNIEnv* jni, jclass, jlong j_rtp_receiver_pointer, jlong j_observer_pointer) { | |
70 reinterpret_cast<webrtc::RtpReceiverInterface*>(j_rtp_receiver_pointer) | |
71 ->SetObserver(nullptr); | |
72 RtpReceiverObserverJni* observer = | |
73 reinterpret_cast<RtpReceiverObserverJni*>(j_observer_pointer); | |
74 if (observer) { | |
75 delete observer; | |
76 } | |
77 } | |
78 | |
79 } // namespace webrtc_jni | |
OLD | NEW |