| Index: webrtc/sdk/android/src/jni/pc/datachannelobserver_jni.h
|
| diff --git a/webrtc/sdk/android/src/jni/video_jni.h b/webrtc/sdk/android/src/jni/pc/datachannelobserver_jni.h
|
| similarity index 30%
|
| copy from webrtc/sdk/android/src/jni/video_jni.h
|
| copy to webrtc/sdk/android/src/jni/pc/datachannelobserver_jni.h
|
| index 09a193f62c8e05d293e2484b849f04afec6643e8..2b837a32fb3cbd5176e2163da3135342920c804c 100644
|
| --- a/webrtc/sdk/android/src/jni/video_jni.h
|
| +++ b/webrtc/sdk/android/src/jni/pc/datachannelobserver_jni.h
|
| @@ -8,33 +8,35 @@
|
| * be found in the AUTHORS file in the root of the source tree.
|
| */
|
|
|
| -#ifndef WEBRTC_SDK_ANDROID_SRC_JNI_VIDEO_JNI_H_
|
| -#define WEBRTC_SDK_ANDROID_SRC_JNI_VIDEO_JNI_H_
|
| +#ifndef WEBRTC_SDK_ANDROID_SRC_JNI_PC_DATACHANNELOBSERVER_JNI_H_
|
| +#define WEBRTC_SDK_ANDROID_SRC_JNI_PC_DATACHANNELOBSERVER_JNI_H_
|
|
|
| -#include <jni.h>
|
| -
|
| -#include "webrtc/rtc_base/scoped_ref_ptr.h"
|
| -
|
| -namespace cricket {
|
| -class WebRtcVideoEncoderFactory;
|
| -class WebRtcVideoDecoderFactory;
|
| -} // namespace cricket
|
| +#include "webrtc/api/datachannelinterface.h"
|
| +#include "webrtc/sdk/android/src/jni/jni_helpers.h"
|
|
|
| namespace webrtc_jni {
|
|
|
| -class SurfaceTextureHelper;
|
| -
|
| -cricket::WebRtcVideoEncoderFactory* CreateVideoEncoderFactory(
|
| - JNIEnv* jni,
|
| - jobject j_encoder_factory);
|
| -
|
| -cricket::WebRtcVideoDecoderFactory* CreateVideoDecoderFactory(
|
| - JNIEnv* jni,
|
| - jobject j_decoder_factory);
|
| -
|
| -jobject GetJavaSurfaceTextureHelper(
|
| - const rtc::scoped_refptr<SurfaceTextureHelper>& surface_texture_helper);
|
| +// Adapter for a Java DataChannel$Observer presenting a C++ DataChannelObserver
|
| +// and dispatching the callback from C++ back to Java.
|
| +class DataChannelObserverJni : public webrtc::DataChannelObserver {
|
| + public:
|
| + DataChannelObserverJni(JNIEnv* jni, jobject j_observer);
|
| + virtual ~DataChannelObserverJni() {}
|
| +
|
| + void OnBufferedAmountChange(uint64_t previous_amount) override;
|
| + void OnStateChange() override;
|
| + void OnMessage(const webrtc::DataBuffer& buffer) override;
|
| +
|
| + private:
|
| + const ScopedGlobalRef<jobject> j_observer_global_;
|
| + const ScopedGlobalRef<jclass> j_observer_class_;
|
| + const ScopedGlobalRef<jclass> j_buffer_class_;
|
| + const jmethodID j_on_buffered_amount_change_mid_;
|
| + const jmethodID j_on_state_change_mid_;
|
| + const jmethodID j_on_message_mid_;
|
| + const jmethodID j_buffer_ctor_;
|
| +};
|
|
|
| } // namespace webrtc_jni
|
|
|
| -#endif // WEBRTC_SDK_ANDROID_SRC_JNI_VIDEO_JNI_H_
|
| +#endif // WEBRTC_SDK_ANDROID_SRC_JNI_PC_DATACHANNELOBSERVER_JNI_H_
|
|
|