code: private void createPreStreamingTags() {
          log.debug("Creating pre-streaming tags");
          if (audioDecoderBytes != null) {
              IoBuffer body = IoBuffer.allocate(audioDecoderBytes.length + 3);
              body.put(new byte[] { (byte) 0xaf, (byte) 0 }); //prefix
              if (log.isDebugEnabled()) {
                  log.debug("Audio decoder bytes: {}", HexDump.byteArrayToHexString(audioDecoderBytes));
              }
              body.put(audioDecoderBytes);
              body.put((byte) 0x06); //suffix
              ITag tag = new Tag(IoConstants.TYPE_AUDIO, 0, body.position(), null, prevFrameSize);
              body.flip();
              tag.setBody(body);
              //add tag
              firstTags.add(tag);
          } else {
              //default to aac-lc when the esds doesnt contain descripter bytes
              log.warn("Audio decoder bytes were not available");
          }
      }
docs: Tag sequence MetaData, Audio config, remaining audio
  
  Packet prefixes: af 00 ... 06 = Audio extra data (first audio packet) af 01 = Audio frame
  
  Audio extra data(s): af 00 = Prefix 11 90 4f 14 = AAC Main = aottype 0 12 10 = AAC LC = aottype 1 13 90 56 e5 a5 48 00 = HE-AAC SBR =
  aottype 2 06 = Suffix
  
  Still not absolutely certain about this order or the bytes - need to verify later