code: func (self ElemStreamDesc) Marshal(b []byte) (n int) {
  	pio.PutU32BE(b[4:], uint32(ESDS))
  	n += 8
  	pio.PutU32BE(b[n:], 0) // Version
  	n += 4
  	datalen := self.Len()
  	n += self.fillESDescHdr(b[n:], datalen-n-self.lenESDescHdr())
  	n += self.fillDecConfigDescHdr(b[n:], datalen-n-self.lenDescHdr()-1)
  	copy(b[n:], self.DecConfig)
  	n += len(self.DecConfig)
  	n += self.fillDescHdr(b[n:], 0x06, datalen-n-self.lenDescHdr())
  	b[n] = 0x02
  	n++
  	pio.PutU32BE(b[0:], uint32(n))
  	return
  }
docs: // Version(4)
  // ESDesc(
  //   MP4ESDescrTag
  //   ESID(2)
  //   ESFlags(1)
  //   DecConfigDesc(
  //     MP4DecConfigDescrTag
  //     objectId streamType bufSize avgBitrate
  //     DecSpecificDesc(
  //       MP4DecSpecificDescrTag
  //       decConfig
  //     )
  //   )
  //   ?Desc(lenDescHdr+1)
  // )