manifest

package module
v0.0.0-...-f98280a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2019 License: Apache-2.0 Imports: 2 Imported by: 6

README

Manifest

Manifest is a library for parsing and creating video manifest files.

Usage

See godoc.

Features
  • Complete HLS compliance upto version 7, defined in the April 4 2016 specification
In-progress
  • DASH is currently not running in production, follow along and help us guide the creation!

Motivation

Ingest as a organization makes use of lots of open-source software. We initially worked and used grafov/m3u8 for parsing HLS media playlists but found that we quickly were outpacing the scope of the library. As our roadmap grew and required future HLS version support, and other manifest formats such as DASH, we felt that it would be best to move the development in-house.

Documentation

Overview

Package manifest holds the main interface for Manifest encode/parse.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BufWrapper

type BufWrapper struct {
	Buf *bytes.Buffer
	Err error
}

BufWrapper is a wrapper type for bytes.Buffer.

func NewBufWrapper

func NewBufWrapper() *BufWrapper

NewBufWrapper returns an instance of BufWrapper.

func (*BufWrapper) ReadFrom

func (b *BufWrapper) ReadFrom(r io.Reader) (int64, error)

ReadFrom wraps buffer.ReadFrom

func (*BufWrapper) ReadString

func (b *BufWrapper) ReadString(delim byte) (line string)

ReadString wraps buffer.ReadString

func (*BufWrapper) Write

func (b *BufWrapper) Write(p []byte)

Write wraps buffer.Write

func (*BufWrapper) WriteRune

func (b *BufWrapper) WriteRune(r rune)

WriteRune wraps buffer.WriteRune

func (*BufWrapper) WriteString

func (b *BufWrapper) WriteString(s string)

WriteString wraps buffer.WriteString

func (*BufWrapper) WriteValidString

func (b *BufWrapper) WriteValidString(data interface{}, write string) bool

WriteValidString receives an interface and performs a buffer.Write if data is set. It returns true if value is set, and false if it isn't.

type Encoder

type Encoder interface {
	Encode() (io.Reader, error)
}

Encoder is the interface by which we convert our Go based structured format into the textual representation

type Parser

type Parser interface {
	Parse(reader io.Reader) error
}

Parser is the interface by which we convert the textual format into a Go based structure format

Directories

Path Synopsis
Package dash implements the Manifest interface to encode/parse MPEG DASH MPD files.
Package dash implements the Manifest interface to encode/parse MPEG DASH MPD files.
hls
Package hls implements the Manifest interface of package m3u8 to encode/parse playlists used in HTTP Live Streaming.
Package hls implements the Manifest interface of package m3u8 to encode/parse playlists used in HTTP Live Streaming.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL