예제 #1
0
 /**
  * Injects metadata (other than Cue points) into a tag
  *
  * @param meta Metadata
  * @param tag Tag
  * @return New tag with injected metadata
  */
 private ITag injectMetaData(IMetaData<?, ?> meta, ITag tag) {
   IoBuffer bb = IoBuffer.allocate(1000);
   bb.setAutoExpand(true);
   Output out = new Output(bb);
   Serializer.serialize(out, "onMetaData");
   Serializer.serialize(out, meta);
   IoBuffer tmpBody = out.buf().flip();
   int tmpBodySize = out.buf().limit();
   int tmpPreviousTagSize = tag.getPreviousTagSize();
   return new Tag(IoConstants.TYPE_METADATA, 0, tmpBodySize, tmpBody, tmpPreviousTagSize);
 }
예제 #2
0
  /**
   * Injects metadata (Cue Points) into a tag
   *
   * @param meta Metadata (cue points)
   * @param tag Tag
   * @return ITag tag New tag with injected metadata
   */
  private ITag injectMetaCue(IMetaCue meta, ITag tag) {
    // IMeta meta = (MetaCue) cue;
    Output out = new Output(IoBuffer.allocate(1000));
    Serializer.serialize(out, "onCuePoint");
    Serializer.serialize(out, meta);

    IoBuffer tmpBody = out.buf().flip();
    int tmpBodySize = out.buf().limit();
    int tmpPreviousTagSize = tag.getPreviousTagSize();
    int tmpTimestamp = getTimeInMilliseconds(meta);

    return new Tag(
        IoConstants.TYPE_METADATA, tmpTimestamp, tmpBodySize, tmpBody, tmpPreviousTagSize);
  }