| 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_
|
|
|