Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: webrtc/api/java/jni/peerconnection_jni.cc

Issue 1930463002: Replace scoped_ptr with unique_ptr in webrtc/api/ (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/api/java/jni/native_handle_impl.cc ('k') | webrtc/api/jsepsessiondescription.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 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 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 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 #include "webrtc/system_wrappers/include/field_trial_default.h" 74 #include "webrtc/system_wrappers/include/field_trial_default.h"
75 #include "webrtc/system_wrappers/include/logcat_trace_context.h" 75 #include "webrtc/system_wrappers/include/logcat_trace_context.h"
76 #include "webrtc/system_wrappers/include/trace.h" 76 #include "webrtc/system_wrappers/include/trace.h"
77 #include "webrtc/voice_engine/include/voe_base.h" 77 #include "webrtc/voice_engine/include/voe_base.h"
78 78
79 using cricket::WebRtcVideoDecoderFactory; 79 using cricket::WebRtcVideoDecoderFactory;
80 using cricket::WebRtcVideoEncoderFactory; 80 using cricket::WebRtcVideoEncoderFactory;
81 using rtc::Bind; 81 using rtc::Bind;
82 using rtc::Thread; 82 using rtc::Thread;
83 using rtc::ThreadManager; 83 using rtc::ThreadManager;
84 using rtc::scoped_ptr;
85 using webrtc::AudioSourceInterface; 84 using webrtc::AudioSourceInterface;
86 using webrtc::AudioTrackInterface; 85 using webrtc::AudioTrackInterface;
87 using webrtc::AudioTrackVector; 86 using webrtc::AudioTrackVector;
88 using webrtc::CreateSessionDescriptionObserver; 87 using webrtc::CreateSessionDescriptionObserver;
89 using webrtc::DataBuffer; 88 using webrtc::DataBuffer;
90 using webrtc::DataChannelInit; 89 using webrtc::DataChannelInit;
91 using webrtc::DataChannelInterface; 90 using webrtc::DataChannelInterface;
92 using webrtc::DataChannelObserver; 91 using webrtc::DataChannelObserver;
93 using webrtc::IceCandidateInterface; 92 using webrtc::IceCandidateInterface;
94 using webrtc::LogcatTraceContext; 93 using webrtc::LogcatTraceContext;
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 const jmethodID j_media_stream_ctor_; 420 const jmethodID j_media_stream_ctor_;
422 const ScopedGlobalRef<jclass> j_audio_track_class_; 421 const ScopedGlobalRef<jclass> j_audio_track_class_;
423 const jmethodID j_audio_track_ctor_; 422 const jmethodID j_audio_track_ctor_;
424 const ScopedGlobalRef<jclass> j_video_track_class_; 423 const ScopedGlobalRef<jclass> j_video_track_class_;
425 const jmethodID j_video_track_ctor_; 424 const jmethodID j_video_track_ctor_;
426 const ScopedGlobalRef<jclass> j_data_channel_class_; 425 const ScopedGlobalRef<jclass> j_data_channel_class_;
427 const jmethodID j_data_channel_ctor_; 426 const jmethodID j_data_channel_ctor_;
428 // C++ -> Java remote streams. The stored jobects are global refs and must be 427 // C++ -> Java remote streams. The stored jobects are global refs and must be
429 // manually deleted upon removal. Use DisposeRemoteStream(). 428 // manually deleted upon removal. Use DisposeRemoteStream().
430 NativeToJavaStreamsMap remote_streams_; 429 NativeToJavaStreamsMap remote_streams_;
431 scoped_ptr<ConstraintsWrapper> constraints_; 430 std::unique_ptr<ConstraintsWrapper> constraints_;
432 }; 431 };
433 432
434 // Wrapper for a Java MediaConstraints object. Copies all needed data so when 433 // Wrapper for a Java MediaConstraints object. Copies all needed data so when
435 // the constructor returns the Java object is no longer needed. 434 // the constructor returns the Java object is no longer needed.
436 class ConstraintsWrapper : public MediaConstraintsInterface { 435 class ConstraintsWrapper : public MediaConstraintsInterface {
437 public: 436 public:
438 ConstraintsWrapper(JNIEnv* jni, jobject j_constraints) { 437 ConstraintsWrapper(JNIEnv* jni, jobject j_constraints) {
439 PopulateConstraintsFromJavaPairList( 438 PopulateConstraintsFromJavaPairList(
440 jni, j_constraints, "mandatory", &mandatory_); 439 jni, j_constraints, "mandatory", &mandatory_);
441 PopulateConstraintsFromJavaPairList( 440 PopulateConstraintsFromJavaPairList(
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 jstring j_error_string = JavaStringFromStdString(jni(), error); 542 jstring j_error_string = JavaStringFromStdString(jni(), error);
544 jni()->CallVoidMethod(*j_observer_global_, m, j_error_string); 543 jni()->CallVoidMethod(*j_observer_global_, m, j_error_string);
545 CHECK_EXCEPTION(jni()) << "error during CallVoidMethod"; 544 CHECK_EXCEPTION(jni()) << "error during CallVoidMethod";
546 } 545 }
547 546
548 JNIEnv* jni() { 547 JNIEnv* jni() {
549 return AttachCurrentThreadIfNeeded(); 548 return AttachCurrentThreadIfNeeded();
550 } 549 }
551 550
552 private: 551 private:
553 scoped_ptr<ConstraintsWrapper> constraints_; 552 std::unique_ptr<ConstraintsWrapper> constraints_;
554 const ScopedGlobalRef<jobject> j_observer_global_; 553 const ScopedGlobalRef<jobject> j_observer_global_;
555 const ScopedGlobalRef<jclass> j_observer_class_; 554 const ScopedGlobalRef<jclass> j_observer_class_;
556 }; 555 };
557 556
558 class CreateSdpObserverWrapper 557 class CreateSdpObserverWrapper
559 : public SdpObserverWrapper<CreateSessionDescriptionObserver> { 558 : public SdpObserverWrapper<CreateSessionDescriptionObserver> {
560 public: 559 public:
561 CreateSdpObserverWrapper(JNIEnv* jni, jobject j_observer, 560 CreateSdpObserverWrapper(JNIEnv* jni, jobject j_observer,
562 ConstraintsWrapper* constraints) 561 ConstraintsWrapper* constraints)
563 : SdpObserverWrapper(jni, j_observer, constraints) {} 562 : SdpObserverWrapper(jni, j_observer, constraints) {}
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
816 815
817 static DataChannelInterface* ExtractNativeDC(JNIEnv* jni, jobject j_dc) { 816 static DataChannelInterface* ExtractNativeDC(JNIEnv* jni, jobject j_dc) {
818 jfieldID native_dc_id = GetFieldID(jni, 817 jfieldID native_dc_id = GetFieldID(jni,
819 GetObjectClass(jni, j_dc), "nativeDataChannel", "J"); 818 GetObjectClass(jni, j_dc), "nativeDataChannel", "J");
820 jlong j_d = GetLongField(jni, j_dc, native_dc_id); 819 jlong j_d = GetLongField(jni, j_dc, native_dc_id);
821 return reinterpret_cast<DataChannelInterface*>(j_d); 820 return reinterpret_cast<DataChannelInterface*>(j_d);
822 } 821 }
823 822
824 JOW(jlong, DataChannel_registerObserverNative)( 823 JOW(jlong, DataChannel_registerObserverNative)(
825 JNIEnv* jni, jobject j_dc, jobject j_observer) { 824 JNIEnv* jni, jobject j_dc, jobject j_observer) {
826 scoped_ptr<DataChannelObserverWrapper> observer( 825 std::unique_ptr<DataChannelObserverWrapper> observer(
827 new DataChannelObserverWrapper(jni, j_observer)); 826 new DataChannelObserverWrapper(jni, j_observer));
828 ExtractNativeDC(jni, j_dc)->RegisterObserver(observer.get()); 827 ExtractNativeDC(jni, j_dc)->RegisterObserver(observer.get());
829 return jlongFromPointer(observer.release()); 828 return jlongFromPointer(observer.release());
830 } 829 }
831 830
832 JOW(void, DataChannel_unregisterObserverNative)( 831 JOW(void, DataChannel_unregisterObserverNative)(
833 JNIEnv* jni, jobject j_dc, jlong native_observer) { 832 JNIEnv* jni, jobject j_dc, jlong native_observer) {
834 ExtractNativeDC(jni, j_dc)->UnregisterObserver(); 833 ExtractNativeDC(jni, j_dc)->UnregisterObserver();
835 delete reinterpret_cast<DataChannelObserverWrapper*>(native_observer); 834 delete reinterpret_cast<DataChannelObserverWrapper*>(native_observer);
836 } 835 }
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
1061 WebRtcVideoDecoderFactory* decoder_factory() { return decoder_factory_; } 1060 WebRtcVideoDecoderFactory* decoder_factory() { return decoder_factory_; }
1062 rtc::NetworkMonitorFactory* network_monitor_factory() { 1061 rtc::NetworkMonitorFactory* network_monitor_factory() {
1063 return network_monitor_factory_; 1062 return network_monitor_factory_;
1064 } 1063 }
1065 void clear_network_monitor_factory() { network_monitor_factory_ = nullptr; } 1064 void clear_network_monitor_factory() { network_monitor_factory_ = nullptr; }
1066 void InvokeJavaCallbacksOnFactoryThreads(); 1065 void InvokeJavaCallbacksOnFactoryThreads();
1067 1066
1068 private: 1067 private:
1069 void JavaCallbackOnFactoryThreads(); 1068 void JavaCallbackOnFactoryThreads();
1070 1069
1071 const scoped_ptr<Thread> worker_thread_; 1070 const std::unique_ptr<Thread> worker_thread_;
1072 const scoped_ptr<Thread> signaling_thread_; 1071 const std::unique_ptr<Thread> signaling_thread_;
1073 WebRtcVideoEncoderFactory* encoder_factory_; 1072 WebRtcVideoEncoderFactory* encoder_factory_;
1074 WebRtcVideoDecoderFactory* decoder_factory_; 1073 WebRtcVideoDecoderFactory* decoder_factory_;
1075 rtc::NetworkMonitorFactory* network_monitor_factory_; 1074 rtc::NetworkMonitorFactory* network_monitor_factory_;
1076 PeerConnectionFactoryInterface* factory_; // Const after ctor except dtor. 1075 PeerConnectionFactoryInterface* factory_; // Const after ctor except dtor.
1077 }; 1076 };
1078 1077
1079 void OwnedFactoryAndThreads::JavaCallbackOnFactoryThreads() { 1078 void OwnedFactoryAndThreads::JavaCallbackOnFactoryThreads() {
1080 JNIEnv* jni = AttachCurrentThreadIfNeeded(); 1079 JNIEnv* jni = AttachCurrentThreadIfNeeded();
1081 ScopedLocalRefFrame local_ref_frame(jni); 1080 ScopedLocalRefFrame local_ref_frame(jni);
1082 jclass j_factory_class = FindClass(jni, "org/webrtc/PeerConnectionFactory"); 1081 jclass j_factory_class = FindClass(jni, "org/webrtc/PeerConnectionFactory");
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
1219 return (jlong)stream.release(); 1218 return (jlong)stream.release();
1220 } 1219 }
1221 1220
1222 JOW(jlong, PeerConnectionFactory_nativeCreateVideoSource)( 1221 JOW(jlong, PeerConnectionFactory_nativeCreateVideoSource)(
1223 JNIEnv* jni, jclass, jlong native_factory, jobject j_egl_context, 1222 JNIEnv* jni, jclass, jlong native_factory, jobject j_egl_context,
1224 jobject j_video_capturer, jobject j_constraints) { 1223 jobject j_video_capturer, jobject j_constraints) {
1225 // Create a cricket::VideoCapturer from |j_video_capturer|. 1224 // Create a cricket::VideoCapturer from |j_video_capturer|.
1226 rtc::scoped_refptr<webrtc::AndroidVideoCapturerDelegate> delegate = 1225 rtc::scoped_refptr<webrtc::AndroidVideoCapturerDelegate> delegate =
1227 new rtc::RefCountedObject<AndroidVideoCapturerJni>( 1226 new rtc::RefCountedObject<AndroidVideoCapturerJni>(
1228 jni, j_video_capturer, j_egl_context); 1227 jni, j_video_capturer, j_egl_context);
1229 rtc::scoped_ptr<cricket::VideoCapturer> capturer( 1228 std::unique_ptr<cricket::VideoCapturer> capturer(
1230 new webrtc::AndroidVideoCapturer(delegate)); 1229 new webrtc::AndroidVideoCapturer(delegate));
1231 // Create a webrtc::VideoTrackSourceInterface from the cricket::VideoCapturer, 1230 // Create a webrtc::VideoTrackSourceInterface from the cricket::VideoCapturer,
1232 // native factory and constraints. 1231 // native factory and constraints.
1233 scoped_ptr<ConstraintsWrapper> constraints( 1232 std::unique_ptr<ConstraintsWrapper> constraints(
1234 new ConstraintsWrapper(jni, j_constraints)); 1233 new ConstraintsWrapper(jni, j_constraints));
1235 rtc::scoped_refptr<PeerConnectionFactoryInterface> factory( 1234 rtc::scoped_refptr<PeerConnectionFactoryInterface> factory(
1236 factoryFromJava(native_factory)); 1235 factoryFromJava(native_factory));
1237 rtc::scoped_refptr<VideoTrackSourceInterface> source( 1236 rtc::scoped_refptr<VideoTrackSourceInterface> source(
1238 factory->CreateVideoSource(capturer.release(), constraints.get())); 1237 factory->CreateVideoSource(capturer.release(), constraints.get()));
1239 return (jlong)source.release(); 1238 return (jlong)source.release();
1240 } 1239 }
1241 1240
1242 JOW(jlong, PeerConnectionFactory_nativeCreateVideoTrack)( 1241 JOW(jlong, PeerConnectionFactory_nativeCreateVideoTrack)(
1243 JNIEnv* jni, jclass, jlong native_factory, jstring id, 1242 JNIEnv* jni, jclass, jlong native_factory, jstring id,
1244 jlong native_source) { 1243 jlong native_source) {
1245 rtc::scoped_refptr<PeerConnectionFactoryInterface> factory( 1244 rtc::scoped_refptr<PeerConnectionFactoryInterface> factory(
1246 factoryFromJava(native_factory)); 1245 factoryFromJava(native_factory));
1247 rtc::scoped_refptr<VideoTrackInterface> track(factory->CreateVideoTrack( 1246 rtc::scoped_refptr<VideoTrackInterface> track(factory->CreateVideoTrack(
1248 JavaToStdString(jni, id), 1247 JavaToStdString(jni, id),
1249 reinterpret_cast<VideoTrackSourceInterface*>(native_source))); 1248 reinterpret_cast<VideoTrackSourceInterface*>(native_source)));
1250 return (jlong)track.release(); 1249 return (jlong)track.release();
1251 } 1250 }
1252 1251
1253 JOW(jlong, PeerConnectionFactory_nativeCreateAudioSource)( 1252 JOW(jlong, PeerConnectionFactory_nativeCreateAudioSource)(
1254 JNIEnv* jni, jclass, jlong native_factory, jobject j_constraints) { 1253 JNIEnv* jni, jclass, jlong native_factory, jobject j_constraints) {
1255 scoped_ptr<ConstraintsWrapper> constraints( 1254 std::unique_ptr<ConstraintsWrapper> constraints(
1256 new ConstraintsWrapper(jni, j_constraints)); 1255 new ConstraintsWrapper(jni, j_constraints));
1257 rtc::scoped_refptr<PeerConnectionFactoryInterface> factory( 1256 rtc::scoped_refptr<PeerConnectionFactoryInterface> factory(
1258 factoryFromJava(native_factory)); 1257 factoryFromJava(native_factory));
1259 rtc::scoped_refptr<AudioSourceInterface> source( 1258 rtc::scoped_refptr<AudioSourceInterface> source(
1260 factory->CreateAudioSource(constraints.get())); 1259 factory->CreateAudioSource(constraints.get()));
1261 return (jlong)source.release(); 1260 return (jlong)source.release();
1262 } 1261 }
1263 1262
1264 JOW(jlong, PeerConnectionFactory_nativeCreateAudioTrack)( 1263 JOW(jlong, PeerConnectionFactory_nativeCreateAudioTrack)(
1265 JNIEnv* jni, jclass, jlong native_factory, jstring id, 1264 JNIEnv* jni, jclass, jlong native_factory, jstring id,
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after
1700 PeerConnectionInterface::RTCConfiguration rtc_config; 1699 PeerConnectionInterface::RTCConfiguration rtc_config;
1701 JavaRTCConfigurationToJsepRTCConfiguration(jni, j_rtc_config, &rtc_config); 1700 JavaRTCConfigurationToJsepRTCConfiguration(jni, j_rtc_config, &rtc_config);
1702 return ExtractNativePC(jni, j_pc)->SetConfiguration(rtc_config); 1701 return ExtractNativePC(jni, j_pc)->SetConfiguration(rtc_config);
1703 } 1702 }
1704 1703
1705 JOW(jboolean, PeerConnection_nativeAddIceCandidate)( 1704 JOW(jboolean, PeerConnection_nativeAddIceCandidate)(
1706 JNIEnv* jni, jobject j_pc, jstring j_sdp_mid, 1705 JNIEnv* jni, jobject j_pc, jstring j_sdp_mid,
1707 jint j_sdp_mline_index, jstring j_candidate_sdp) { 1706 jint j_sdp_mline_index, jstring j_candidate_sdp) {
1708 std::string sdp_mid = JavaToStdString(jni, j_sdp_mid); 1707 std::string sdp_mid = JavaToStdString(jni, j_sdp_mid);
1709 std::string sdp = JavaToStdString(jni, j_candidate_sdp); 1708 std::string sdp = JavaToStdString(jni, j_candidate_sdp);
1710 scoped_ptr<IceCandidateInterface> candidate( 1709 std::unique_ptr<IceCandidateInterface> candidate(
1711 webrtc::CreateIceCandidate(sdp_mid, j_sdp_mline_index, sdp, NULL)); 1710 webrtc::CreateIceCandidate(sdp_mid, j_sdp_mline_index, sdp, NULL));
1712 return ExtractNativePC(jni, j_pc)->AddIceCandidate(candidate.get()); 1711 return ExtractNativePC(jni, j_pc)->AddIceCandidate(candidate.get());
1713 } 1712 }
1714 1713
1715 static cricket::Candidate GetCandidateFromJava(JNIEnv* jni, 1714 static cricket::Candidate GetCandidateFromJava(JNIEnv* jni,
1716 jobject j_candidate) { 1715 jobject j_candidate) {
1717 jclass j_candidate_class = GetObjectClass(jni, j_candidate); 1716 jclass j_candidate_class = GetObjectClass(jni, j_candidate);
1718 jfieldID j_sdp_mid_id = 1717 jfieldID j_sdp_mid_id =
1719 GetFieldID(jni, j_candidate_class, "sdpMid", "Ljava/lang/String;"); 1718 GetFieldID(jni, j_candidate_class, "sdpMid", "Ljava/lang/String;");
1720 std::string sdp_mid = 1719 std::string sdp_mid =
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
1865 } 1864 }
1866 1865
1867 JOW(jobject, MediaSource_nativeState)(JNIEnv* jni, jclass, jlong j_p) { 1866 JOW(jobject, MediaSource_nativeState)(JNIEnv* jni, jclass, jlong j_p) {
1868 rtc::scoped_refptr<MediaSourceInterface> p( 1867 rtc::scoped_refptr<MediaSourceInterface> p(
1869 reinterpret_cast<MediaSourceInterface*>(j_p)); 1868 reinterpret_cast<MediaSourceInterface*>(j_p));
1870 return JavaEnumFromIndex(jni, "MediaSource$State", p->state()); 1869 return JavaEnumFromIndex(jni, "MediaSource$State", p->state());
1871 } 1870 }
1872 1871
1873 JOW(jlong, VideoRenderer_nativeWrapVideoRenderer)( 1872 JOW(jlong, VideoRenderer_nativeWrapVideoRenderer)(
1874 JNIEnv* jni, jclass, jobject j_callbacks) { 1873 JNIEnv* jni, jclass, jobject j_callbacks) {
1875 scoped_ptr<JavaVideoRendererWrapper> renderer( 1874 std::unique_ptr<JavaVideoRendererWrapper> renderer(
1876 new JavaVideoRendererWrapper(jni, j_callbacks)); 1875 new JavaVideoRendererWrapper(jni, j_callbacks));
1877 return (jlong)renderer.release(); 1876 return (jlong)renderer.release();
1878 } 1877 }
1879 1878
1880 JOW(void, VideoRenderer_nativeCopyPlane)( 1879 JOW(void, VideoRenderer_nativeCopyPlane)(
1881 JNIEnv *jni, jclass, jobject j_src_buffer, jint width, jint height, 1880 JNIEnv *jni, jclass, jobject j_src_buffer, jint width, jint height,
1882 jint src_stride, jobject j_dst_buffer, jint dst_stride) { 1881 jint src_stride, jobject j_dst_buffer, jint dst_stride) {
1883 size_t src_size = jni->GetDirectBufferCapacity(j_src_buffer); 1882 size_t src_size = jni->GetDirectBufferCapacity(j_src_buffer);
1884 size_t dst_size = jni->GetDirectBufferCapacity(j_dst_buffer); 1883 size_t dst_size = jni->GetDirectBufferCapacity(j_dst_buffer);
1885 RTC_CHECK(src_stride >= width) << "Wrong source stride " << src_stride; 1884 RTC_CHECK(src_stride >= width) << "Wrong source stride " << src_stride;
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
1979 JNIEnv* jni, jclass, jlong j_sink) { 1978 JNIEnv* jni, jclass, jlong j_sink) {
1980 rtc::CallSessionFileRotatingLogSink* sink = 1979 rtc::CallSessionFileRotatingLogSink* sink =
1981 reinterpret_cast<rtc::CallSessionFileRotatingLogSink*>(j_sink); 1980 reinterpret_cast<rtc::CallSessionFileRotatingLogSink*>(j_sink);
1982 rtc::LogMessage::RemoveLogToStream(sink); 1981 rtc::LogMessage::RemoveLogToStream(sink);
1983 delete sink; 1982 delete sink;
1984 } 1983 }
1985 1984
1986 JOW(jbyteArray, CallSessionFileRotatingLogSink_nativeGetLogData)( 1985 JOW(jbyteArray, CallSessionFileRotatingLogSink_nativeGetLogData)(
1987 JNIEnv* jni, jclass, jstring j_dirPath) { 1986 JNIEnv* jni, jclass, jstring j_dirPath) {
1988 std::string dir_path = JavaToStdString(jni, j_dirPath); 1987 std::string dir_path = JavaToStdString(jni, j_dirPath);
1989 rtc::scoped_ptr<rtc::CallSessionFileRotatingStream> stream( 1988 std::unique_ptr<rtc::CallSessionFileRotatingStream> stream(
1990 new rtc::CallSessionFileRotatingStream(dir_path)); 1989 new rtc::CallSessionFileRotatingStream(dir_path));
1991 if (!stream->Open()) { 1990 if (!stream->Open()) {
1992 LOG_V(rtc::LoggingSeverity::LS_WARNING) << 1991 LOG_V(rtc::LoggingSeverity::LS_WARNING) <<
1993 "Failed to open CallSessionFileRotatingStream for path " << dir_path; 1992 "Failed to open CallSessionFileRotatingStream for path " << dir_path;
1994 return jni->NewByteArray(0); 1993 return jni->NewByteArray(0);
1995 } 1994 }
1996 size_t log_size = 0; 1995 size_t log_size = 0;
1997 if (!stream->GetSize(&log_size) || log_size == 0) { 1996 if (!stream->GetSize(&log_size) || log_size == 0) {
1998 LOG_V(rtc::LoggingSeverity::LS_WARNING) << 1997 LOG_V(rtc::LoggingSeverity::LS_WARNING) <<
1999 "CallSessionFileRotatingStream returns 0 size for path " << dir_path; 1998 "CallSessionFileRotatingStream returns 0 size for path " << dir_path;
2000 return jni->NewByteArray(0); 1999 return jni->NewByteArray(0);
2001 } 2000 }
2002 2001
2003 size_t read = 0; 2002 size_t read = 0;
2004 rtc::scoped_ptr<jbyte> buffer(static_cast<jbyte*>(malloc(log_size))); 2003 std::unique_ptr<jbyte> buffer(static_cast<jbyte*>(malloc(log_size)));
2005 stream->ReadAll(buffer.get(), log_size, &read, nullptr); 2004 stream->ReadAll(buffer.get(), log_size, &read, nullptr);
2006 2005
2007 jbyteArray result = jni->NewByteArray(read); 2006 jbyteArray result = jni->NewByteArray(read);
2008 jni->SetByteArrayRegion(result, 0, read, buffer.get()); 2007 jni->SetByteArrayRegion(result, 0, read, buffer.get());
2009 2008
2010 return result; 2009 return result;
2011 } 2010 }
2012 2011
2013 JOW(jboolean, RtpSender_nativeSetTrack)(JNIEnv* jni, 2012 JOW(jboolean, RtpSender_nativeSetTrack)(JNIEnv* jni,
2014 jclass, 2013 jclass,
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
2208 return JavaStringFromStdString( 2207 return JavaStringFromStdString(
2209 jni, 2208 jni,
2210 reinterpret_cast<RtpReceiverInterface*>(j_rtp_receiver_pointer)->id()); 2209 reinterpret_cast<RtpReceiverInterface*>(j_rtp_receiver_pointer)->id());
2211 } 2210 }
2212 2211
2213 JOW(void, RtpReceiver_free)(JNIEnv* jni, jclass, jlong j_rtp_receiver_pointer) { 2212 JOW(void, RtpReceiver_free)(JNIEnv* jni, jclass, jlong j_rtp_receiver_pointer) {
2214 reinterpret_cast<RtpReceiverInterface*>(j_rtp_receiver_pointer)->Release(); 2213 reinterpret_cast<RtpReceiverInterface*>(j_rtp_receiver_pointer)->Release();
2215 } 2214 }
2216 2215
2217 } // namespace webrtc_jni 2216 } // namespace webrtc_jni
OLDNEW
« no previous file with comments | « webrtc/api/java/jni/native_handle_impl.cc ('k') | webrtc/api/jsepsessiondescription.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698