sig
  type t
  val create : unit -> Generator.From_frames.t
  val clear : Generator.From_frames.t -> unit
  val length : Generator.From_frames.t -> int
  val remaining : Generator.From_frames.t -> int
  val add_metadata : Generator.From_frames.t -> Frame.metadata -> unit
  val add_break : Generator.From_frames.t -> unit
  val remove : Generator.From_frames.t -> int -> unit
  val feed :
    Generator.From_frames.t ->
    ?copy:bool ->
    ?breaks:int list ->
    ?metadata:(int * Frame.metadata) list ->
    Frame.content -> int -> int -> unit
  val feed_from_frame : Generator.From_frames.t -> Frame.t -> unit
  val fill : Generator.From_frames.t -> Frame.t -> unit
end