telegram/TMessagesProj/jni/voip/tgcalls/platform/android/AndroidContext.h
2025-11-22 14:04:28 +01:00

39 lines
1.1 KiB
C++

#ifndef TGCALLS_ANDROID_CONTEXT_H
#define TGCALLS_ANDROID_CONTEXT_H
#include "PlatformContext.h"
#include <jni.h>
#include <voip/tgcalls/group/GroupInstanceImpl.h>
namespace tgcalls {
class AndroidContext final : public PlatformContext {
public:
AndroidContext(JNIEnv *env, jobject peerInstance, jobject groupInstance, bool screencast);
~AndroidContext() override;
jobject getJavaCapturer();
jobject getJavaPeerInstance();
jobject getJavaGroupInstance();
jclass getJavaCapturerClass();
void setJavaPeerInstance(JNIEnv *env, jobject instance);
void setJavaGroupInstance(JNIEnv *env, jobject instance);
std::vector<std::shared_ptr<BroadcastPartTask>> audioStreamTasks;
std::vector<std::shared_ptr<BroadcastPartTask>> videoStreamTasks;
std::vector<std::shared_ptr<RequestMediaChannelDescriptionTask>> descriptionTasks;
private:
jclass VideoCapturerDeviceClass = nullptr;
jobject javaCapturer = nullptr;
jobject javaPeerInstance = nullptr;
jobject javaGroupInstance = nullptr;
};
} // namespace tgcalls
#endif