public OutDataBuffer GeneratePayload() { OutDataBuffer buffer = new OutDataBuffer(); int firstByte = 0; firstByte |= this.version << 6; firstByte |= this.padding ? 0x20 : 0; firstByte |= this.hasExtension ? 0x10 : 0; // csrcs = 0... so just skip this // firstByte |= (this.csrcs.length > 15 ? 15 : this.csrcs.length); int secondByte = this.payloadType | (this.marker ? 0x80 : 0); buffer.Write8(firstByte); buffer.Write8(secondByte); buffer.Write16(SequenceNumber); long t = MIDISession.GetInstance().GetNow(); // Log.e("RTPMessage","t:"+t+" t8:"+(t >>> 8)+" t16:"+(t >>>16)+" tint:"+(int)t); // timestamp = (int)t >>> 8; timestamp = (int)t; buffer.Write32(timestamp << 0); buffer.Write32(ssrc); return(buffer); }
public byte[] GenerateBuffer() { OutDataBuffer buffer = GeneratePayload(); buffer.Write8(message.Length); foreach (byte b in message) { buffer.Write8(b); } return(buffer.ToByteArray()); }
public byte[] generateBuffer() { OutDataBuffer buffer = generatePayload(); // TODO : this doesn't handle channel_status or channel correctly // buffer.write8(0x00); buffer.write16(0x0390); buffer.write8(note); buffer.write8(velocity); return(buffer.toByteArray()); }
public byte[] GenerateBuffer() { OutDataBuffer buffer = new OutDataBuffer(); switch (this.command) { case AppleMIDICommand.INVITATION: case AppleMIDICommand.INVITATION_ACCEPTED: case AppleMIDICommand.INVITATION_REJECTED: case AppleMIDICommand.END: buffer.Write16(0xFFFF); buffer.Write16(GetCommandKey(this.command)); buffer.Write(this.protocol_version); buffer.Write(this.initiator_token); buffer.Write(this.ssrc); buffer.Write(new String(name)); break; case AppleMIDICommand.SYNCHRONIZATION: buffer.Write16(0xFFFF); buffer.Write16(GetCommandKey(this.command)); buffer.Write(this.ssrc); buffer.Write8(this.count); buffer.Write24(this.padding); buffer.Write64(new Long(this.timestamp1)); buffer.Write64(new Long(this.timestamp2)); buffer.Write64(new Long(this.timestamp3)); break; case AppleMIDICommand.RECEIVER_FEEDBACK: buffer.Write16(0xFFFF); buffer.Write16(GetCommandKey(this.command)); buffer.Write(this.ssrc); buffer.Write(this.sequenceNumber); break; default: return(null); } return(buffer.ToByteArray()); }
public byte[] generateBuffer() { OutDataBuffer buffer = new OutDataBuffer(); switch (this.command) { case INVITATION: case INVITATION_ACCEPTED: case INVITATION_REJECTED: case END: buffer.write16(0xFFFF); buffer.write16(getCommandKey(this.command)); buffer.write(this.protocol_version); buffer.write(this.initiator_token); buffer.write(this.ssrc); buffer.write(this.name); break; case SYNCHRONIZATION: buffer.write16(0xFFFF); buffer.write16(getCommandKey(this.command)); buffer.write(this.ssrc); buffer.write8(this.count); buffer.write24(this.padding); buffer.write64(this.timestamp1); buffer.write64(this.timestamp2); buffer.write64(this.timestamp3); break; case RECEIVER_FEEDBACK: buffer.write16(0xFFFF); buffer.write16(getCommandKey(this.command)); buffer.write(this.ssrc); buffer.write(this.sequenceNumber); break; default: return(null); } return(buffer.toByteArray()); }