ebml

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2024 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RootID = 0

	CRC32ID = 0xbf
	VoidID  = 0xec
)
View Source
const (
	HeaderID             = 0x1a45dfa3
	EBMLVersionID        = 0x4286
	EBMLReadVersionID    = 0x42f7
	EBMLMaxIDLengthID    = 0x42f2
	EBMLMaxSizeLengthID  = 0x42f3
	DocTypeID            = 0x4282
	DocTypeVersionID     = 0x4287
	DocTypeReadVersionID = 0x4285
)

Variables

View Source
var EpochDate = time.Date(2001, time.January, 1, 0, 0, 0, 0, time.UTC)

2001-01-01T00:00:00.000000000 UTC

View Source
var Global = &Master{
	ElementType: ElementType{
		ID:       -1,
		ParentID: -1,
		Name:     "",
	},
	Master: map[ID]Element{
		CRC32ID: &Binary{ElementType: ElementType{Name: "crc32"}},
		VoidID:  &Binary{ElementType: ElementType{Name: "void"}},
	},
}
View Source
var Header = &Master{
	ElementType: ElementType{
		ID:       HeaderID,
		ParentID: RootID,
		Name:     "ebml",
	},
	Master: map[ID]Element{
		EBMLVersionID:        &Uinteger{ElementType: ElementType{Name: "ebml_version", Definition: "EBML Version"}},
		EBMLReadVersionID:    &Uinteger{ElementType: ElementType{Name: "ebml_read_version", Definition: "Minimum EBML reader version"}},
		EBMLMaxIDLengthID:    &Uinteger{ElementType: ElementType{Name: "ebml_max_id_length", Definition: "Maximum id length"}},
		EBMLMaxSizeLengthID:  &Uinteger{ElementType: ElementType{Name: "ebml_max_size_length", Definition: "Maximum body length"}},
		DocTypeID:            &String{ElementType: ElementType{Name: "doc_type", Definition: "Document content type"}},
		DocTypeVersionID:     &Uinteger{ElementType: ElementType{Name: "doc_type_version", Definition: "Document type version"}},
		DocTypeReadVersionID: &Uinteger{ElementType: ElementType{Name: "doc_type_read_version", Definition: "Minimum document reader version"}},
	},
}

Functions

This section is empty.

Types

type Binary

type Binary struct{ ElementType }

func (*Binary) GetType added in v0.4.0

func (*Binary) GetType() string

type Date

type Date struct{ ElementType }

func (*Date) GetType added in v0.4.0

func (*Date) GetType() string

type Element added in v0.4.0

type Element interface {
	GetType() string
	GetID() ID
	GetParentID() ID
	GetName() string
	GetDefinition() string
}

func FindParentID added in v0.4.0

func FindParentID(idToElement map[ID]Element, startID ID, id ID) (Element, bool)

FindParentID find id walking parents of startID

type ElementScalarType added in v0.4.0

type ElementScalarType[T comparable] struct {
	ElementType
	Enums map[T]Enum
}

func (*ElementScalarType[T]) GetEnum added in v0.4.0

func (e *ElementScalarType[T]) GetEnum() map[T]Enum

type ElementType added in v0.4.0

type ElementType struct {
	ID         ID
	ParentID   ID
	Name       string
	Definition string
}

func (*ElementType) GetDefinition added in v0.4.0

func (e *ElementType) GetDefinition() string

func (*ElementType) GetID added in v0.4.0

func (e *ElementType) GetID() ID

func (*ElementType) GetName added in v0.4.0

func (e *ElementType) GetName() string

func (*ElementType) GetParentID added in v0.4.0

func (e *ElementType) GetParentID() ID

func (*ElementType) GetType added in v0.4.0

func (e *ElementType) GetType() string

type Enum

type Enum struct {
	Name        string
	Description string
}

type Float

func (*Float) GetType added in v0.4.0

func (*Float) GetType() string

type ID added in v0.4.0

type ID int

type Integer

type Integer ElementScalarType[int64]

func (*Integer) GetType added in v0.4.0

func (*Integer) GetType() string

type Master

type Master struct {
	ElementType
	Master map[ID]Element
}

func (*Master) GetMaster added in v0.4.0

func (e *Master) GetMaster() map[ID]Element

func (*Master) GetType added in v0.4.0

func (e *Master) GetType() string

type String

type String ElementScalarType[string]

func (*String) GetType added in v0.4.0

func (*String) GetType() string

type UTF8

func (*UTF8) GetType added in v0.4.0

func (*UTF8) GetType() string

type Uinteger

type Uinteger ElementScalarType[uint64]

func (*Uinteger) GetType added in v0.4.0

func (*Uinteger) GetType() string

type Unknown added in v0.0.8

type Unknown struct{ ElementType }

func (*Unknown) GetType added in v0.4.0

func (*Unknown) GetType() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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