public void ReceiveVideo(byte[] data) { //SDK进行视频数据的解码及视频渲染 PbVideoPacket packet = PbVideoPacket.Parser.ParseFrom(data); UnityChatSDK.Instance.DecodeVideoData(packet.Id, GetVideoPacket(packet)); }
public void ReceiveVideo(byte[] data) { //decoded video data by google.protobuf PbVideoPacket packet = PbVideoPacket.Parser.ParseFrom(data); //decode video data by UnityChatSDK UnityChatSDK.Instance.DecodeVideoData(GetVideoPacket(packet)); }
public void ReceiveVideo(byte[] data) { // TODO object pool //SDK进行视频数据的解码及视频渲染 if (lastTex != null) { Destroy(lastTex); } PbVideoPacket packet = PbVideoPacket.Parser.ParseFrom(data); lastTex = CameraHelper.Instance.DecodeVideoData(ProtobufPack2VideoPack(packet)); MainManager.Instance.UpdateVideo(UserID, lastTex); //Debug.Log($"Received data length: {data.Length}"); }
public void ReceiveVideo(byte[] data) { try { //decoded video data by google.protobuf PbVideoPacket packet = PbVideoPacket.Parser.ParseFrom(data); //decode video data by UnityChatSDK if (packet != null) { UnityChatSDK.Instance.DecodeVideoData(GetVideoPacket(packet)); } } catch (Exception) { } }
VideoPacket GetVideoPacket(PbVideoPacket packet) { VideoPacket video = new VideoPacket(); video.Id = packet.Id; video.Width = packet.Width; video.Height = packet.Height; video.Timestamp = packet.Timestamp; if (packet.Data != null) { video.Data = packet.Data.ToByteArray(); } if (packet.FloatData != null) { video.FloatData.AddRange(packet.FloatData); } return(video); }
PbVideoPacket GetPbVideoPacket(VideoPacket video) { PbVideoPacket pbPacket = new PbVideoPacket(); pbPacket.Id = video.Id; pbPacket.Width = video.Width; pbPacket.Height = video.Height; pbPacket.Timestamp = video.Timestamp; if (video.Data != null) { pbPacket.Data = ByteString.CopyFrom(video.Data); } if (video.FloatData != null) { pbPacket.FloatData.AddRange(video.FloatData); } return(pbPacket); }