/** * 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); }
/** * 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); }