1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504 |
- using System;
- using System.Runtime.InteropServices;
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- using AOT;
- #endif
- namespace Agora.Rtc
- {
- internal static class RtcEngineEventHandlerNative
- {
- internal static IRtcEngineEventHandler EngineEventHandler = null;
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- internal static AgoraCallbackObject CallbackObject = null;
- #endif
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- [MonoPInvokeCallback(typeof(Func_Event_Native))]
- #endif
- internal static void OnEvent(string @event, string data, IntPtr buffer, IntPtr length, uint buffer_count)
- {
- if (EngineEventHandler == null) return;
- LitJson.JsonData jsonData = AgoraJson.ToObject(data);
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- if (CallbackObject == null || CallbackObject._CallbackQueue == null) return;
- #endif
- switch (@event)
- {
- #region no buffer start
- case "onError":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnError(
- (int)AgoraJson.GetData<int>(jsonData, "err"),
- (string)AgoraJson.GetData<string>(jsonData, "msg")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onJoinChannelSuccessEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnJoinChannelSuccess(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRejoinChannelSuccessEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRejoinChannelSuccess(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onProxyConnected":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnProxyConnected(
- (string)AgoraJson.GetData<string>(jsonData, "channel"),
- (uint)AgoraJson.GetData<uint>(jsonData, "uid"),
- (PROXY_TYPE)AgoraJson.GetData<int>(jsonData, "proxyType"),
- (string)AgoraJson.GetData<string>(jsonData, "localProxyIp"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onAudioQualityEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnAudioQuality(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed"),
- (UInt16)AgoraJson.GetData<UInt16>(jsonData, "delay"),
- (UInt16)AgoraJson.GetData<UInt16>(jsonData, "lost")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onLeaveChannelEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnLeaveChannel(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- AgoraJson.JsonToStruct<RtcStats>(jsonData, "stats")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onClientRoleChangedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnClientRoleChanged(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (CLIENT_ROLE_TYPE)AgoraJson.GetData<int>(jsonData, "oldRole"),
- (CLIENT_ROLE_TYPE)AgoraJson.GetData<int>(jsonData, "newRole")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onClientRoleChangeFailedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnClientRoleChangeFailed(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (CLIENT_ROLE_CHANGE_FAILED_REASON)AgoraJson.GetData<int>(jsonData, "reason"),
- (CLIENT_ROLE_TYPE)AgoraJson.GetData<int>(jsonData, "currentRole")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onUserJoinedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnUserJoined(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onUserOfflineEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnUserOffline(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (USER_OFFLINE_REASON_TYPE)AgoraJson.GetData<int>(jsonData, "reason")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onLastmileQuality":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnLastmileQuality(
- (int)AgoraJson.GetData<int>(jsonData, "quality")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onLastmileProbeResult":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnLastmileProbeResult(
- AgoraJson.JsonToStruct<LastmileProbeResult>(jsonData, "result")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onConnectionInterruptedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnConnectionInterrupted(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onConnectionLostEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnConnectionLost(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onConnectionBannedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnConnectionBanned(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onApiCallExecuted":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnApiCallExecuted(
- (int)AgoraJson.GetData<int>(jsonData, "err"),
- (string)AgoraJson.GetData<string>(jsonData, "api"),
- (string)AgoraJson.GetData<string>(jsonData, "result")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRequestTokenEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRequestToken(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onTokenPrivilegeWillExpireEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnTokenPrivilegeWillExpire(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (string)AgoraJson.GetData<string>(jsonData, "token")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRtcStatsEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRtcStats(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- AgoraJson.JsonToStruct<RtcStats>(jsonData, "stats")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onNetworkQualityEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnNetworkQuality(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (int)AgoraJson.GetData<int>(jsonData, "txQuality"),
- (int)AgoraJson.GetData<int>(jsonData, "rxQuality")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onLocalVideoStatsEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnLocalVideoStats(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- AgoraJson.JsonToStruct<LocalVideoStats>(jsonData, "stats")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRemoteVideoStatsEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRemoteVideoStats(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- AgoraJson.JsonToStruct<RemoteVideoStats>(jsonData, "stats")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onLocalAudioStatsEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnLocalAudioStats(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- AgoraJson.JsonToStruct<LocalAudioStats>(jsonData, "stats")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRemoteAudioStatsEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRemoteAudioStats(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- AgoraJson.JsonToStruct<RemoteAudioStats>(jsonData, "stats")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onLocalAudioStateChangedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnLocalAudioStateChanged(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (LOCAL_AUDIO_STREAM_STATE)AgoraJson.GetData<int>(jsonData, "state"),
- (LOCAL_AUDIO_STREAM_ERROR)AgoraJson.GetData<int>(jsonData, "error")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRemoteAudioStateChangedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRemoteAudioStateChanged(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (REMOTE_AUDIO_STATE)AgoraJson.GetData<int>(jsonData, "state"),
- (REMOTE_AUDIO_STATE_REASON)AgoraJson.GetData<int>(jsonData, "reason"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onAudioPublishStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnAudioPublishStateChanged(
- (string)AgoraJson.GetData<string>(jsonData, "channel"),
- (STREAM_PUBLISH_STATE)AgoraJson.GetData<int>(jsonData, "oldState"),
- (STREAM_PUBLISH_STATE)AgoraJson.GetData<int>(jsonData, "newState"),
- (int)AgoraJson.GetData<int>(jsonData, "elapseSinceLastState")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onVideoPublishStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnVideoPublishStateChanged(
- (VIDEO_SOURCE_TYPE)AgoraJson.GetData<int>(jsonData, "source"),
- (string)AgoraJson.GetData<string>(jsonData, "channel"),
- (STREAM_PUBLISH_STATE)AgoraJson.GetData<int>(jsonData, "oldState"),
- (STREAM_PUBLISH_STATE)AgoraJson.GetData<int>(jsonData, "newState"),
- (int)AgoraJson.GetData<int>(jsonData, "elapseSinceLastState")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onAudioSubscribeStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnAudioSubscribeStateChanged(
- (string)AgoraJson.GetData<string>(jsonData, "channel"),
- (uint)AgoraJson.GetData<uint>(jsonData, "uid"),
- (STREAM_SUBSCRIBE_STATE)AgoraJson.GetData<int>(jsonData, "oldState"),
- (STREAM_SUBSCRIBE_STATE)AgoraJson.GetData<int>(jsonData, "newState"),
- (int)AgoraJson.GetData<int>(jsonData, "elapseSinceLastState")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onVideoSubscribeStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnVideoSubscribeStateChanged(
- (string)AgoraJson.GetData<string>(jsonData, "channel"),
- (uint)AgoraJson.GetData<uint>(jsonData, "uid"),
- (STREAM_SUBSCRIBE_STATE)AgoraJson.GetData<int>(jsonData, "oldState"),
- (STREAM_SUBSCRIBE_STATE)AgoraJson.GetData<int>(jsonData, "newState"),
- (int)AgoraJson.GetData<int>(jsonData, "elapseSinceLastState")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onAudioVolumeIndicationEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- var speakerNumber = (uint)AgoraJson.GetData<uint>(jsonData, "speakerNumber");
- var speakers = AgoraJson.JsonToStructArray<AudioVolumeInfo>(jsonData, "speakers", speakerNumber);
- var totalVolume = (int)AgoraJson.GetData<int>(jsonData, "totalVolume");
- EngineEventHandler.OnAudioVolumeIndication(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- speakers,
- speakerNumber,
- totalVolume
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onActiveSpeakerEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnActiveSpeaker(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "uid")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onVideoStopped":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnVideoStopped();
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onFirstLocalVideoFrameEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnFirstLocalVideoFrame(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (int)AgoraJson.GetData<int>(jsonData, "width"),
- (int)AgoraJson.GetData<int>(jsonData, "height"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onFirstLocalVideoFramePublishedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnFirstLocalVideoFramePublished(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onFirstRemoteVideoFrameEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnFirstRemoteVideoFrame(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (int)AgoraJson.GetData<int>(jsonData, "width"),
- (int)AgoraJson.GetData<int>(jsonData, "height"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onFirstRemoteVideoDecodedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnFirstRemoteVideoDecoded(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (int)AgoraJson.GetData<int>(jsonData, "width"),
- (int)AgoraJson.GetData<int>(jsonData, "height"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onAudioDeviceStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnAudioDeviceStateChanged(
- (string)AgoraJson.GetData<string>(jsonData, "deviceId"),
- (MEDIA_DEVICE_TYPE)AgoraJson.GetData<int>(jsonData, "deviceType"),
- (MEDIA_DEVICE_STATE_TYPE)AgoraJson.GetData<int>(jsonData, "deviceState")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onAudioDeviceVolumeChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnAudioDeviceVolumeChanged(
- (MEDIA_DEVICE_TYPE)AgoraJson.GetData<int>(jsonData, "deviceType"),
- (int)AgoraJson.GetData<int>(jsonData, "volume"),
- (bool)AgoraJson.GetData<bool>(jsonData, "muted")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onCameraReady":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnCameraReady();
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onCameraFocusAreaChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnCameraFocusAreaChanged(
- (int)AgoraJson.GetData<int>(jsonData, "x"),
- (int)AgoraJson.GetData<int>(jsonData, "y"),
- (int)AgoraJson.GetData<int>(jsonData, "width"),
- (int)AgoraJson.GetData<int>(jsonData, "height")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onFacePositionChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- var numFaces = (int)AgoraJson.GetData<int>(jsonData, "numFaces");
- EngineEventHandler.OnFacePositionChanged(
- (int)AgoraJson.GetData<int>(jsonData, "imageWidth"),
- (int)AgoraJson.GetData<int>(jsonData, "imageHeight"),
- AgoraJson.JsonToStruct<Rectangle>(
- (string)AgoraJson.GetData<string>(jsonData, "vecRectangle")),
- AgoraJson.JsonToStructArray<int>(jsonData, "vecDistance", (uint)numFaces), numFaces);
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onCameraExposureAreaChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnCameraExposureAreaChanged(
- (int)AgoraJson.GetData<int>(jsonData, "x"),
- (int)AgoraJson.GetData<int>(jsonData, "y"),
- (int)AgoraJson.GetData<int>(jsonData, "width"),
- (int)AgoraJson.GetData<int>(jsonData, "height")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onAudioMixingFinished":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnAudioMixingFinished();
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onAudioMixingStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnAudioMixingStateChanged(
- (AUDIO_MIXING_STATE_TYPE)AgoraJson.GetData<int>(jsonData, "state"),
- (AUDIO_MIXING_REASON_TYPE)AgoraJson.GetData<int>(jsonData, "reason")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRhythmPlayerStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRhythmPlayerStateChanged(
- (RHYTHM_PLAYER_STATE_TYPE)AgoraJson.GetData<int>(jsonData, "state"),
- (RHYTHM_PLAYER_ERROR_TYPE)AgoraJson.GetData<int>(jsonData, "errorCode")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onAudioEffectFinished":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnAudioEffectFinished(
- (int)AgoraJson.GetData<int>(jsonData, "soundId")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onVideoDeviceStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnVideoDeviceStateChanged(
- (string)AgoraJson.GetData<string>(jsonData, "deviceId"),
- (MEDIA_DEVICE_TYPE)AgoraJson.GetData<int>(jsonData, "deviceType"),
- (MEDIA_DEVICE_STATE_TYPE)AgoraJson.GetData<int>(jsonData, "deviceState")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onLocalVideoStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnLocalVideoStateChanged(
- (VIDEO_SOURCE_TYPE)AgoraJson.GetData<int>(jsonData, "source"),
- (LOCAL_VIDEO_STREAM_STATE)AgoraJson.GetData<int>(jsonData, "state"),
- (LOCAL_VIDEO_STREAM_ERROR)AgoraJson.GetData<int>(jsonData, "error")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onLocalVideoStateChangedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnLocalVideoStateChanged(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (LOCAL_VIDEO_STREAM_STATE)AgoraJson.GetData<int>(jsonData, "state"),
- (LOCAL_VIDEO_STREAM_ERROR)AgoraJson.GetData<int>(jsonData, "errorCode")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onVideoSizeChangedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnVideoSizeChanged(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (VIDEO_SOURCE_TYPE)AgoraJson.GetData<int>(jsonData, "sourceType"),
- (uint)AgoraJson.GetData<uint>(jsonData, "uid"),
- (int)AgoraJson.GetData<int>(jsonData, "width"),
- (int)AgoraJson.GetData<int>(jsonData, "height"),
- (int)AgoraJson.GetData<int>(jsonData, "rotation")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onContentInspectResult":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnContentInspectResult(
- (CONTENT_INSPECT_RESULT)AgoraJson.GetData<int>(jsonData, "result")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onSnapshotTakenEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnSnapshotTaken(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "uid"),
- (string)AgoraJson.GetData<string>(jsonData, "filePath"),
- (int)AgoraJson.GetData<int>(jsonData, "width"),
- (int)AgoraJson.GetData<int>(jsonData, "height"),
- (int)AgoraJson.GetData<int>(jsonData, "errCode")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRemoteVideoStateChangedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRemoteVideoStateChanged(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (REMOTE_VIDEO_STATE)AgoraJson.GetData<int>(jsonData, "state"),
- (REMOTE_VIDEO_STATE_REASON)AgoraJson.GetData<int>(jsonData, "reason"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onUserStateChangedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnUserStateChanged(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (uint)AgoraJson.GetData<uint>(jsonData, "state")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onStreamMessageErrorEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnStreamMessageError(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (int)AgoraJson.GetData<int>(jsonData, "streamId"),
- (int)AgoraJson.GetData<int>(jsonData, "code"),
- (int)AgoraJson.GetData<int>(jsonData, "missed"),
- (int)AgoraJson.GetData<int>(jsonData, "cached")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onChannelMediaRelayStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnChannelMediaRelayStateChanged(
- (int)AgoraJson.GetData<int>(jsonData, "state"),
- (int)AgoraJson.GetData<int>(jsonData, "code") // int ?
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onChannelMediaRelayEvent":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnChannelMediaRelayEvent(
- (int)AgoraJson.GetData<int>(jsonData, "code") // int ?
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onFirstLocalAudioFramePublishedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnFirstLocalAudioFramePublished(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onFirstRemoteAudioFrameEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnFirstRemoteAudioFrame(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "uid"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onFirstRemoteAudioDecodedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnFirstRemoteAudioDecoded(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "uid"),
- (int)AgoraJson.GetData<int>(jsonData, "elapsed")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRtmpStreamingStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRtmpStreamingStateChanged(
- (string)AgoraJson.GetData<string>(jsonData, "url"),
- (RTMP_STREAM_PUBLISH_STATE)AgoraJson.GetData<int>(jsonData, "state"),
- (RTMP_STREAM_PUBLISH_ERROR_TYPE)AgoraJson.GetData<int>(jsonData, "errCode")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRtmpStreamingEvent":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRtmpStreamingEvent(
- (string)AgoraJson.GetData<string>(jsonData, "url"),
- (RTMP_STREAMING_EVENT)AgoraJson.GetData<int>(jsonData, "eventCode")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- // case "onStreamPublished":
- //#if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- // CallbackObject._CallbackQueue.EnQueue(() =>
- // {
- //#endif
- // if (EngineEventHandler == null) return;
- // EngineEventHandler.OnStreamPublished(
- // (string)AgoraJson.GetData<string>(data, "url"),
- // (int)AgoraJson.GetData<int>(data, "error")
- // );
- //#if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- // });
- //#endif
- // break;
- // case "onStreamUnpublished":
- //#if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- // CallbackObject._CallbackQueue.EnQueue(() =>
- // {
- //#endif
- // if (EngineEventHandler == null) return;
- // EngineEventHandler.OnStreamUnpublished(
- // (string)AgoraJson.GetData<string>(data, "url")
- // );
- //#if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- // });
- //#endif
- // break;
- case "onTranscodingUpdated":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnTranscodingUpdated();
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onLocalPublishFallbackToAudioOnly":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnLocalPublishFallbackToAudioOnly(
- (bool)AgoraJson.GetData<bool>(jsonData, "isFallbackOrRecover")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRemoteSubscribeFallbackToAudioOnly":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRemoteSubscribeFallbackToAudioOnly(
- (uint)AgoraJson.GetData<uint>(jsonData, "uid"),
- (bool)AgoraJson.GetData<bool>(jsonData, "isFallbackOrRecover")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRemoteAudioTransportStatsEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRemoteAudioTransportStats(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (UInt16)AgoraJson.GetData<UInt16>(jsonData, "delay"),
- (UInt16)AgoraJson.GetData<UInt16>(jsonData, "lost"),
- (UInt16)AgoraJson.GetData<UInt16>(jsonData, "rxKBitRate")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onRemoteVideoTransportStatsEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnRemoteVideoTransportStats(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (UInt16)AgoraJson.GetData<UInt16>(jsonData, "delay"),
- (UInt16)AgoraJson.GetData<UInt16>(jsonData, "lost"),
- (UInt16)AgoraJson.GetData<UInt16>(jsonData, "rxKBitRate")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onConnectionStateChangedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnConnectionStateChanged(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (CONNECTION_STATE_TYPE)AgoraJson.GetData<int>(jsonData, "state"),
- (CONNECTION_CHANGED_REASON_TYPE)AgoraJson.GetData<int>(jsonData, "reason")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onWlAccMessageEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnWlAccMessage(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (WLACC_MESSAGE_REASON)AgoraJson.GetData<int>(jsonData, "reason"),
- (WLACC_SUGGEST_ACTION)AgoraJson.GetData<int>(jsonData, "action"),
- (string)AgoraJson.GetData<string>(jsonData, "wlAccMsg")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onWlAccStatsEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnWlAccStats(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (WlAccStats)AgoraJson.JsonToStruct<WlAccStats>(jsonData, "currentStats"),
- (WlAccStats)AgoraJson.JsonToStruct<WlAccStats>(jsonData, "averageStats")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onNetworkTypeChangedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnNetworkTypeChanged(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (NETWORK_TYPE)AgoraJson.GetData<int>(jsonData, "type")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onLocalUserRegistered":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnLocalUserRegistered(
- (uint)AgoraJson.GetData<uint>(jsonData, "uid"),
- (string)AgoraJson.GetData<string>(jsonData, "userAccount")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onUserInfoUpdated":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnUserInfoUpdated(
- (uint)AgoraJson.GetData<uint>(jsonData, "uid"),
- AgoraJson.JsonToStruct<UserInfo>(jsonData, "info")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onMediaDeviceChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnMediaDeviceChanged(
- (MEDIA_DEVICE_TYPE)AgoraJson.GetData<int>(jsonData, "deviceType")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onIntraRequestReceivedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnIntraRequestReceived(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onUplinkNetworkInfoUpdated":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnUplinkNetworkInfoUpdated(
- AgoraJson.JsonToStruct<UplinkNetworkInfo>(jsonData, "info")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onDownlinkNetworkInfoUpdated":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnDownlinkNetworkInfoUpdated(
- AgoraJson.JsonToStruct<DownlinkNetworkInfo>(jsonData, "info")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onVideoSourceFrameSizeChangedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnVideoSourceFrameSizeChanged(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (VIDEO_SOURCE_TYPE)AgoraJson.GetData<int>(jsonData, "sourceType"),
- (int)AgoraJson.GetData<int>(jsonData, "width"),
- (int)AgoraJson.GetData<int>(jsonData, "height")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onEncryptionErrorEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnEncryptionError(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (ENCRYPTION_ERROR_TYPE)AgoraJson.GetData<int>(jsonData, "errorType")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onUploadLogResultEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnUploadLogResult(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (string)AgoraJson.GetData<string>(jsonData, "requestId"),
- (bool)AgoraJson.GetData<bool>(jsonData, "success"),
- (UPLOAD_ERROR_REASON)AgoraJson.GetData<int>(jsonData, "reason")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onUserAccountUpdatedEx":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnUserAccountUpdated(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (string)AgoraJson.GetData<string>(jsonData, "userAccount")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onAudioRoutingChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnAudioRoutingChanged(
- (int)AgoraJson.GetData<int>(jsonData, "routing")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onPermissionError":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnPermissionError(
- (PERMISSION_TYPE)AgoraJson.GetData<int>(jsonData, "permissionType")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onExtensionEvent":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnExtensionEvent(
- (string)AgoraJson.GetData<string>(jsonData, "provider"),
- (string)AgoraJson.GetData<string>(jsonData, "extension"),
- (string)AgoraJson.GetData<string>(jsonData, "key"),
- (string)AgoraJson.GetData<string>(jsonData, "value")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onExtensionStarted":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnExtensionStarted(
- (string)AgoraJson.GetData<string>(jsonData, "provider"),
- (string)AgoraJson.GetData<string>(jsonData, "extension")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onExtensionStopped":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnExtensionStopped(
- (string)AgoraJson.GetData<string>(jsonData, "provider"),
- (string)AgoraJson.GetData<string>(jsonData, "extension")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "onExtensionError":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnExtensionError(
- (string)AgoraJson.GetData<string>(jsonData, "provider"),
- (string)AgoraJson.GetData<string>(jsonData, "extension"),
- (int)AgoraJson.GetData<int>(jsonData, "error"),
- (string)AgoraJson.GetData<string>(jsonData, "message")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "DirectCdnStreamingEventHandler_onDirectCdnStreamingStateChanged":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnDirectCdnStreamingStateChanged(
- (DIRECT_CDN_STREAMING_STATE)AgoraJson.GetData<int>(jsonData, "state"),
- (DIRECT_CDN_STREAMING_ERROR)AgoraJson.GetData<int>(jsonData, "error"),
- (string)AgoraJson.GetData<string>(jsonData, "message")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- case "DirectCdnStreamingEventHandler_onDirectCdnStreamingStats":
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnDirectCdnStreamingStats(
- AgoraJson.JsonToStruct<DirectCdnStreamingStats>(jsonData, "stats")
- );
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- #endregion no buffer end
- #region withBuffer start
- case "onStreamMessageEx":
- var byteLength = (uint)AgoraJson.GetData<uint>(jsonData, "length");
- var bufferPtr = (IntPtr)(UInt64)AgoraJson.GetData<UInt64>(jsonData, "data");
- var byteData = new byte[byteLength];
- if (byteLength != 0)
- {
- Marshal.Copy(bufferPtr, byteData, 0, (int)byteLength);
- }
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- CallbackObject._CallbackQueue.EnQueue(() =>
- {
- #endif
- if (EngineEventHandler == null) return;
- EngineEventHandler.OnStreamMessage(
- AgoraJson.JsonToStruct<RtcConnection>(jsonData, "connection"),
- (uint)AgoraJson.GetData<uint>(jsonData, "remoteUid"),
- (int)AgoraJson.GetData<int>(jsonData, "streamId"),
- byteData,
- byteLength,
- (UInt64)AgoraJson.GetData<UInt64>(jsonData, "sentTs"));
- #if UNITY_EDITOR_WIN || UNITY_EDITOR_OSX || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_IOS || UNITY_ANDROID
- });
- #endif
- break;
- #endregion withBuffer end
- }
- }
- }
- }
|