package Ġcom . ha ish ink it . rt mp . messages Ċ Ċ import Ġcom . ha ish ink it . rt mp . RT MP Connection Ċ import Ġjava . nio . ByteBuffer Ċ Ċ internal Ġopen Ġclass ĠR TMP Audio Message Ġ: ĠR TMP Message ( RT MP Message . Type . AUDIO ) Ġ{ ĊĠĠĠ Ġvar Ġcodec : ĠByte Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġsound Rate : ĠByte Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġsound Size : ĠByte Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġsound Type : ĠByte Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġpayload : ĠByteBuffer ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġdecode ( buffer : ĠByteBuffer ): ĠR TMP Message Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfirst Ġ= Ġbuffer . get () ĊĠĠĠĠĠĠĠ Ġcodec Ġ= Ġ( first . toInt () Ġshr Ġ 4 ). to Byte () ĊĠĠĠĠĠĠĠ Ġsound Rate Ġ= Ġ( first . toInt () Ġand Ġ( 1 2 Ġshr Ġ 2 )). to Byte () ĊĠĠĠĠĠĠĠ Ġsound Size Ġ= Ġ( first . toInt () Ġand Ġ( 2 Ġshr Ġ 1 )). to Byte () ĊĠĠĠĠĠĠĠ Ġsound Type Ġ= Ġ( first . toInt () Ġand Ġ 1 ). to Byte () ĊĠĠĠĠĠĠĠ Ġval Ġpayload Ġ= ĠByteArray ( length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġbuffer . get ( payload ) ĊĠĠĠĠĠĠĠ Ġthis . payload Ġ= ĠByteBuffer . wrap ( payload ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( connection : ĠR TMP Connection ): ĠR TMP Message Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ } Ċ