/// <summary> /// Returns a timestamp of cue point in milliseconds. /// </summary> /// <param name="metaCue">Cue point.</param> /// <returns>Timestamp of given cue point (in milliseconds).</returns> private int GetTimeInMilliseconds(MetaCue metaCue) { return (int)(metaCue.Time * 1000.00); }
/// <summary> /// Injects metadata (Cue Points) into a tag. /// </summary> /// <param name="meta">Metadata.</param> /// <param name="tag">Tag.</param> /// <returns></returns> private ITag InjectMetaCue(MetaCue meta, ITag tag) { MemoryStream ms = new MemoryStream(); AMFWriter writer = new AMFWriter(ms); writer.WriteData(ObjectEncoding.AMF0, "onCuePoint"); writer.WriteData(ObjectEncoding.AMF0, meta); byte[] buffer = ms.ToArray(); return new Tag(IOConstants.TYPE_METADATA, GetTimeInMilliseconds(meta), buffer.Length, buffer, tag.PreviousTagSize); }