/// <summary> /// Decode Play Sound PDU /// </summary> /// <param name="data">data to be parsed</param> /// <param name="decryptedUserData">decrypted user data to be parsed</param> /// <param name="type">security header type</param> /// <returns>decoded Play Sound PDU</returns> public StackPacket DecodePlaySoundPDU( byte[] data, byte[] decryptedUserData, SecurityHeaderType type) { Server_Play_Sound_Pdu pdu = new Server_Play_Sound_Pdu(); // data index int dataIndex = 0; // PlaySoundPDU: commonHeader pdu.commonHeader = ParseMcsCommonHeader(data, ref dataIndex, type); // user data index int userDataIndex = 0; // PlaySoundPDU: pdu.playSoundPduData = ParseTsPlaySoundPduData(decryptedUserData, ref userDataIndex); // Check if data length exceeded expectation VerifyDataLength(decryptedUserData.Length, userDataIndex, ConstValue.ERROR_MESSAGE_DATA_LENGTH_EXCEEDED); return pdu; }
public override StackPacket Clone() { Server_Play_Sound_Pdu clonePlaySoundPdu = new Server_Play_Sound_Pdu(serverSessionContext); clonePlaySoundPdu.commonHeader = commonHeader.Clone(); clonePlaySoundPdu.playSoundPduData.shareDataHeader = playSoundPduData.shareDataHeader; clonePlaySoundPdu.playSoundPduData.duration = playSoundPduData.duration; clonePlaySoundPdu.playSoundPduData.frequency = playSoundPduData.frequency; return clonePlaySoundPdu; }