Index: talk/app/webrtc/java/jni/androidnetworkmonitor_jni.h |
diff --git a/talk/app/webrtc/java/jni/androidmediadecoder_jni.h b/talk/app/webrtc/java/jni/androidnetworkmonitor_jni.h |
similarity index 62% |
copy from talk/app/webrtc/java/jni/androidmediadecoder_jni.h |
copy to talk/app/webrtc/java/jni/androidnetworkmonitor_jni.h |
index 673f9983f416973d4a5d7244ed5a6dd97e02d35b..3f5110c2c4f14093adb6d04edb7bffa560d604dc 100644 |
--- a/talk/app/webrtc/java/jni/androidmediadecoder_jni.h |
+++ b/talk/app/webrtc/java/jni/androidnetworkmonitor_jni.h |
@@ -23,37 +23,45 @@ |
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- * |
*/ |
-#ifndef TALK_APP_WEBRTC_JAVA_JNI_ANDROIDMEDIADECODER_JNI_H_ |
-#define TALK_APP_WEBRTC_JAVA_JNI_ANDROIDMEDIADECODER_JNI_H_ |
+#ifndef TALK_APP_WEBRTC_JAVA_JNI_ANDROIDNETWORKMONITOR_JNI_H_ |
+#define TALK_APP_WEBRTC_JAVA_JNI_ANDROIDNETWORKMONITOR_JNI_H_ |
+ |
+#include "webrtc/base/networkmonitor.h" |
+#include "webrtc/base/thread_checker.h" |
#include "talk/app/webrtc/java/jni/jni_helpers.h" |
-#include "talk/media/webrtc/webrtcvideodecoderfactory.h" |
namespace webrtc_jni { |
-// Implementation of Android MediaCodec based decoder factory. |
-class MediaCodecVideoDecoderFactory |
- : public cricket::WebRtcVideoDecoderFactory { |
+class AndroidNetworkMonitor : public rtc::NetworkMonitorBase { |
public: |
- MediaCodecVideoDecoderFactory(); |
- virtual ~MediaCodecVideoDecoderFactory(); |
+ AndroidNetworkMonitor(); |
- void SetEGLContext(JNIEnv* jni, jobject render_egl_context); |
+ static void SetAndroidContext(JNIEnv* jni, jobject context); |
- // WebRtcVideoDecoderFactory implementation. |
- webrtc::VideoDecoder* CreateVideoDecoder(webrtc::VideoCodecType type) |
- override; |
- |
- void DestroyVideoDecoder(webrtc::VideoDecoder* decoder) override; |
+ void Start() override; |
+ void Stop() override; |
private: |
- jobject render_egl_context_; // Render EGL context. |
- std::vector<webrtc::VideoCodecType> supported_codec_types_; |
+ JNIEnv* jni() { return AttachCurrentThreadIfNeeded(); } |
+ |
+ ScopedGlobalRef<jclass> j_network_monitor_class_; |
+ ScopedGlobalRef<jobject> j_network_monitor_; |
+ rtc::ThreadChecker thread_checker_; |
+ static jobject application_context_; |
+}; |
+ |
+class AndroidNetworkMonitorFactory : public rtc::NetworkMonitorFactory { |
+ public: |
+ AndroidNetworkMonitorFactory() {} |
+ |
+ rtc::NetworkMonitorInterface* CreateNetworkMonitor() override { |
+ return new AndroidNetworkMonitor(); |
+ } |
}; |
} // namespace webrtc_jni |
-#endif // TALK_APP_WEBRTC_JAVA_JNI_ANDROIDMEDIADECODER_JNI_H_ |
+#endif // TALK_APP_WEBRTC_JAVA_JNI_ANDROIDNETWORKMONITOR_JNI_H_ |