/// <summary> /// Sets the track of the audio sink. /// </summary> /// <param name="track">The track to use.</param> /// <returns> /// MLResult.Result will be <c>MLResult.Code.Ok</c> if destroying all handles was successful. /// MLResult.Result will be <c>MLResult.Code.WebRTCResultInstanceNotCreated</c> if MLWebRTC instance was not created. /// MLResult.Result will be <c>MLResult.Code.WebRTCResultMismatchingHandle</c> if an incorrect handle was sent. /// </returns> protected override MLResult SetTrack(MLWebRTC.MediaStream.Track track) { #if PLATFORM_LUMIN ulong sourceHandle = track != null ? track.Handle : MagicLeapNativeBindings.InvalidHandle; MLResult.Code resultCode = NativeBindings.MLWebRTCAudioSinkSetSource(this.Handle, sourceHandle); DidNativeCallSucceed(resultCode, "MLWebRTCAudioSinkSetSource()"); return(MLResult.Create(resultCode)); #else return(new MLResult()); #endif }
/// <summary> /// Abstract method for setting the sink's track. /// </summary> /// <param name="track">The track to set the sink to.</param> /// <returns> /// MLResult.Result will be <c>MLResult.Code.Ok</c> if destroying all handles was successful. /// MLResult.Result will be <c>MLResult.Code.WebRTCResultInstanceNotCreated</c> if MLWebRTC instance was not created. /// MLResult.Result will be <c>MLResult.Code.WebRTCResultMismatchingHandle</c> if an incorrect handle was sent. /// </returns> protected abstract MLResult SetTrack(MLWebRTC.MediaStream.Track track);