transform

package
v0.0.0-...-5a1661d Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseImageAttributes

func ParseImageAttributes(str string) []map[string]int

func ParseParams

func ParseParams(str string) map[string]string

ParseParams Parses fmtp.config and others such as rid.params and returns an object with all the params in a key/value fashion

func ParsePayloads

func ParsePayloads(str string) []int

func ParseSimulcastStreamList

func ParseSimulcastStreamList(str string) [][]*SimulCastItem

ParseSimulcastStreamList Parses simulcast streams/formats. Must be provided with the attrs1 or attrs2 string of the a=simulcast line.

func Write

func Write(sdpStruct *SdpStruct) (string, error)

Write wirte SdpStruct to string

Types

type BandwithStruct

type BandwithStruct struct {
	Type  string `json:"type,omitempty"`
	Limit int    `json:"limit,omitempty"`
}

type CandidateStruct

type CandidateStruct struct {
	Foundation string `json:"foundation,omitempty"`
	Component  int    `json:"component,omitempty"`
	Transport  string `json:"transport,omitempty"`
	Priority   int    `json:"priority,omitempty"`
	Ip         string `json:"ip,omitempty"`
	Port       int    `json:"port,omitempty"`
	Type       string `json:"type,omitempty"`
	Raddr      string `json:"raddr,omitempty"`
	Rport      int    `json:"aport,omitempty"`
}

type ConnectionStruct

type ConnectionStruct struct {
	Version int    `json:"version,omitempty"`
	Ip      string `json:"ip,omitempty"`
}

type CryptoStruct

type CryptoStruct struct {
	Id            uint   `json:"id,omitempty"`
	Suite         string `json:"suite,omitempty"`
	Config        string `json:"config,omitempty"`
	SessionConfig string `json:"sessionConfig,omitempty"`
}

type ExtStruct

type ExtStruct struct {
	Value int    `json:"value,omitempty"`
	Uri   string `json:"uri,omitempty"`
}

type FingerprintStruct

type FingerprintStruct struct {
	Type string `json:"type,omitempty"`
	Hash string `json:"hash,omitempty"`
}

type FmtpStruct

type FmtpStruct struct {
	Payload int    `json:"payload,omitempty"`
	Config  string `json:"config,omitempty"`
}

type GroupStruct

type GroupStruct struct {
	Type string `json:"type,omitempty"`
	Mids string `json:"mids,omitempty"`
}

type MediaStruct

type MediaStruct struct {
	Rtp         []*RtpStruct       `json:"rtp,omitempty"`
	Fmtp        []*FmtpStruct      `json:"fmtp,omitempty"`
	Type        string             `json:"type,omitempty"`
	Port        int                `json:"port,omitempty"`
	Protocal    string             `json:"protocal,omitempty"`
	Payloads    string             `json:"payloads,omitempty"`
	Connection  *ConnectionStruct  `json:"connection,omitempty"`
	Rtcp        *RtcpStruct        `json:"rtcp,omitempty"`
	IceUfrag    string             `json:"iceUfrag,omitempty"`
	IcePwd      string             `json:"icePwd,omitempty"`
	Fingerprint *FingerprintStruct `json:"fingerprint,omitempty"`
	Setup       string             `json:"setup,omitempty"`
	Mid         string             `json:"mid,omitempty"`
	Msid        string             `json:"msid,omitempty"`
	Ext         []*ExtStruct       `json:"ext,omitempty"`
	BundleOnly  string             `json:"bundleOnly,omitempty"`
	Direction   string             `json:"direction,omitempty"`
	RtcpRsize   string             `json:"rtcpRsize,omitempty"`
	RtcpMux     string             `json:"rtcpMux,omitempty"`
	RtcpFb      []*RtcpFbStruct    `json:"rtcpFb,omitempty"`
	Rids        []*RidStruct       `json:"rids,omitempty"`
	SsrcGroups  []*SsrcGroupStruct `json:"ssrcGroups,omitempty"`
	Ssrcs       []*SsrcStruct      `json:"ssrcs,omitempty"`
	Candidates  []*CandidateStruct `json:"candidates,omitempty"`
	Bandwidth   []*BandwithStruct  `json:"bandwidth,omitempty"`
	Simulcast   *SimulcastStruct   `json:"simulcast,omitempty"`
	SctpPort    int                `json:"sctp-port,omitempty"`
	SctpMaxSize int                `json:"sctp-max-message-size,omitempty"`
	SctpMap     *SctpMapStuct      `json:"sctpmap,omitempty"`
}

type MsidSemanticStruct

type MsidSemanticStruct struct {
	Semantic string `json:"semantic,omitempty"`
	Token    string `json:"token,omitempty"`
}

type OriginStruct

type OriginStruct struct {
	Username       string `json:"username"`
	SessionId      string `json:"sessionId"`
	SessionVersion int    `json:"sessionVersion"`
	NetType        string `json:"netType"`
	IpVer          int    `json:"ipVer"`
	Address        string `json:"address"`
}

type RidStruct

type RidStruct struct {
	Id        string `json:"id,omitempty"`
	Direction string `json:"direction,omitempty"`
	Params    string `json:"params,omitempty"`
}

type RtcpFbStruct

type RtcpFbStruct struct {
	Payload int    `json:"payload,omitempty"`
	Type    string `json:"type,omitempty"`
	Subtype string `json:"subtype,omitempty"`
}

type RtcpStruct

type RtcpStruct struct {
	Port    int    `json:"port,omitempty"`
	NetType string `json:"netType,omitempty"`
	IpVer   int    `json:"ipVer,omitempty"`
	Address string `json:"address,omitempty"`
}

type RtpStruct

type RtpStruct struct {
	Payload  int    `json:"payload"`
	Codec    string `json:"codec"`
	Rate     int    `json:"rate,omitempty"`
	Encoding int    `json:"encoding,omitempty"`
}

type Rule

type Rule struct {
	Name       string
	Push       string
	Reg        *regexp.Regexp
	Names      []string
	Types      []rune
	Format     string
	FormatFunc func(obj *gabs.Container) string
}

type SctpMapStuct

type SctpMapStuct struct {
	Port        int    `json:"sctpmapNumber"`
	App         string `json:"app"`
	MessageSize int    `json:"maxMessageSize"`
}

type SdpStruct

type SdpStruct struct {
	Version      int                 `json:"version"`
	Origin       *OriginStruct       `json:"origin"`
	Name         string              `json:"name"`
	Timing       *TimingStruct       `json:"timing,omitempty"`
	Groups       []*GroupStruct      `json:"groups,omitempty"`
	MsidSemantic *MsidSemanticStruct `json:"msidSemantic,omitempty"`
	Media        []*MediaStruct      `json:"media,omitempty"`
	Fingerprint  *FingerprintStruct  `json:"fingerprint,omitempty"`
	Connection   *ConnectionStruct   `json:"connection,omitempty"`
	IceUfrag     string              `json:"iceUfrag,omitempty"`
	IcePwd       string              `json:"icePwd,omitempty"`
	Icelite      string              `json:"icelite,omitempty"`
}

func Parse

func Parse(sdp string) (sdpStruct *SdpStruct, err error)

Parse parse sdp string to SdpStruct

type SimulCastItem

type SimulCastItem struct {
	Scid   string
	Paused bool
}

type Simulcast03Struct

type Simulcast03Struct struct {
}

todo

type SimulcastStruct

type SimulcastStruct struct {
	Dir1  string `json:"dir1"`
	List1 string `json:"list1"`
	Dir2  string `json:"dir2"`
	List2 string `json:"list2"`
}

type SsrcGroupStruct

type SsrcGroupStruct struct {
	Semantics string `json:"semantics,omitempty"`
	Ssrcs     string `json:"ssrcs,omitempty"`
}

type SsrcStruct

type SsrcStruct struct {
	Id        uint   `json:"id,omitempty"`
	Attribute string `json:"attribute,omitempty"`
	Value     string `json:"value,omitempty"`
}

type TimingStruct

type TimingStruct struct {
	Start int `json:"start"`
	Stop  int `json:"stop"`
}

Jump to

Keyboard shortcuts

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