OLD | NEW |
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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 #include "webrtc/base/bind.h" | 59 #include "webrtc/base/bind.h" |
60 #include "webrtc/base/checks.h" | 60 #include "webrtc/base/checks.h" |
61 #include "webrtc/base/event_tracer.h" | 61 #include "webrtc/base/event_tracer.h" |
62 #include "webrtc/base/logging.h" | 62 #include "webrtc/base/logging.h" |
63 #include "webrtc/base/logsinks.h" | 63 #include "webrtc/base/logsinks.h" |
64 #include "webrtc/base/messagequeue.h" | 64 #include "webrtc/base/messagequeue.h" |
65 #include "webrtc/base/networkmonitor.h" | 65 #include "webrtc/base/networkmonitor.h" |
66 #include "webrtc/base/ssladapter.h" | 66 #include "webrtc/base/ssladapter.h" |
67 #include "webrtc/base/stringutils.h" | 67 #include "webrtc/base/stringutils.h" |
68 #include "webrtc/media/base/videocapturer.h" | 68 #include "webrtc/media/base/videocapturer.h" |
69 #include "webrtc/media/base/videorenderer.h" | |
70 #include "webrtc/media/devices/videorendererfactory.h" | 69 #include "webrtc/media/devices/videorendererfactory.h" |
71 #include "webrtc/media/engine/webrtcvideodecoderfactory.h" | 70 #include "webrtc/media/engine/webrtcvideodecoderfactory.h" |
72 #include "webrtc/media/engine/webrtcvideoencoderfactory.h" | 71 #include "webrtc/media/engine/webrtcvideoencoderfactory.h" |
73 #include "webrtc/modules/video_render/video_render_internal.h" | 72 #include "webrtc/modules/video_render/video_render_internal.h" |
74 #include "webrtc/system_wrappers/include/field_trial_default.h" | 73 #include "webrtc/system_wrappers/include/field_trial_default.h" |
75 #include "webrtc/system_wrappers/include/logcat_trace_context.h" | 74 #include "webrtc/system_wrappers/include/logcat_trace_context.h" |
76 #include "webrtc/system_wrappers/include/trace.h" | 75 #include "webrtc/system_wrappers/include/trace.h" |
77 #include "webrtc/voice_engine/include/voe_base.h" | 76 #include "webrtc/voice_engine/include/voe_base.h" |
78 | 77 |
79 using cricket::WebRtcVideoDecoderFactory; | 78 using cricket::WebRtcVideoDecoderFactory; |
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
724 } | 723 } |
725 | 724 |
726 const ScopedGlobalRef<jobject> j_observer_global_; | 725 const ScopedGlobalRef<jobject> j_observer_global_; |
727 const ScopedGlobalRef<jclass> j_observer_class_; | 726 const ScopedGlobalRef<jclass> j_observer_class_; |
728 const ScopedGlobalRef<jclass> j_stats_report_class_; | 727 const ScopedGlobalRef<jclass> j_stats_report_class_; |
729 const jmethodID j_stats_report_ctor_; | 728 const jmethodID j_stats_report_ctor_; |
730 const ScopedGlobalRef<jclass> j_value_class_; | 729 const ScopedGlobalRef<jclass> j_value_class_; |
731 const jmethodID j_value_ctor_; | 730 const jmethodID j_value_ctor_; |
732 }; | 731 }; |
733 | 732 |
734 // Adapter presenting a cricket::VideoRenderer as a | |
735 // webrtc::VideoRendererInterface. | |
736 class VideoRendererWrapper : public VideoRendererInterface { | |
737 public: | |
738 static VideoRendererWrapper* Create(cricket::VideoRenderer* renderer) { | |
739 if (renderer) | |
740 return new VideoRendererWrapper(renderer); | |
741 return NULL; | |
742 } | |
743 | |
744 virtual ~VideoRendererWrapper() {} | |
745 | |
746 void RenderFrame(const cricket::VideoFrame* video_frame) override { | |
747 ScopedLocalRefFrame local_ref_frame(AttachCurrentThreadIfNeeded()); | |
748 renderer_->RenderFrame(video_frame->GetCopyWithRotationApplied()); | |
749 } | |
750 | |
751 private: | |
752 explicit VideoRendererWrapper(cricket::VideoRenderer* renderer) | |
753 : renderer_(renderer) {} | |
754 scoped_ptr<cricket::VideoRenderer> renderer_; | |
755 }; | |
756 | |
757 // Wrapper dispatching webrtc::VideoRendererInterface to a Java VideoRenderer | 733 // Wrapper dispatching webrtc::VideoRendererInterface to a Java VideoRenderer |
758 // instance. | 734 // instance. |
759 class JavaVideoRendererWrapper : public VideoRendererInterface { | 735 class JavaVideoRendererWrapper : public VideoRendererInterface { |
760 public: | 736 public: |
761 JavaVideoRendererWrapper(JNIEnv* jni, jobject j_callbacks) | 737 JavaVideoRendererWrapper(JNIEnv* jni, jobject j_callbacks) |
762 : j_callbacks_(jni, j_callbacks), | 738 : j_callbacks_(jni, j_callbacks), |
763 j_render_frame_id_(GetMethodID( | 739 j_render_frame_id_(GetMethodID( |
764 jni, GetObjectClass(jni, j_callbacks), "renderFrame", | 740 jni, GetObjectClass(jni, j_callbacks), "renderFrame", |
765 "(Lorg/webrtc/VideoRenderer$I420Frame;)V")), | 741 "(Lorg/webrtc/VideoRenderer$I420Frame;)V")), |
766 j_frame_class_(jni, | 742 j_frame_class_(jni, |
(...skipping 1336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2103 return JavaStringFromStdString( | 2079 return JavaStringFromStdString( |
2104 jni, | 2080 jni, |
2105 reinterpret_cast<RtpReceiverInterface*>(j_rtp_receiver_pointer)->id()); | 2081 reinterpret_cast<RtpReceiverInterface*>(j_rtp_receiver_pointer)->id()); |
2106 } | 2082 } |
2107 | 2083 |
2108 JOW(void, RtpReceiver_free)(JNIEnv* jni, jclass, jlong j_rtp_receiver_pointer) { | 2084 JOW(void, RtpReceiver_free)(JNIEnv* jni, jclass, jlong j_rtp_receiver_pointer) { |
2109 reinterpret_cast<RtpReceiverInterface*>(j_rtp_receiver_pointer)->Release(); | 2085 reinterpret_cast<RtpReceiverInterface*>(j_rtp_receiver_pointer)->Release(); |
2110 } | 2086 } |
2111 | 2087 |
2112 } // namespace webrtc_jni | 2088 } // namespace webrtc_jni |
OLD | NEW |