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

Unified Diff: talk/app/webrtc/java/jni/androidnetworkmonitor_jni.h

Issue 1391703003: Create network change notifier. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Changed comments Created 5 years, 2 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 side-by-side diff with in-line comments
Download patch
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_

Powered by Google App Engine
This is Rietveld 408576698