4 Star 22 Fork 8

北京小程科技有限公司 / SDP协议

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
media_info.go 965 Bytes
一键复制 编辑 原始数据 按行查看 历史
shallot 提交于 2020-04-05 10:41 . 添加SDP协议的内容解析。
package sdp
import (
"errors"
"regexp"
"strings"
)
// 媒体名称和传输地址
type MediaInfo struct {
MediaType string // 媒体类型
Port string // 端口或端口列表
Protocol string // 传输协议
Format string // 其他格式,中间可以有空格
}
func parseMediaInfo(str string) (item MediaInfo, err error) {
item = MediaInfo{}
err = item.parse(str)
return
}
// 字符串表达
func (mi MediaInfo) String() string {
arr := []string{
mi.MediaType,
mi.Port,
mi.Protocol,
mi.Format,
}
return strings.Join(arr, seperator)
}
// 解析内容
func (mi *MediaInfo) parse(str string) (err error) {
result := mediaInfoRegExp.FindStringSubmatch(str)
if len(result) != 5 {
err = errors.New("sdp: media info format error")
return
}
mi.MediaType = result[1]
mi.Port = result[2]
mi.Protocol = result[3]
mi.Format = result[4]
return
}
var mediaInfoRegExp = regexp.MustCompile("^([^\\s]+) ([^\\s]+) ([^\\s]+) (.*)$")
Go
1
https://gitee.com/xiaochengtech/sdp.git
git@gitee.com:xiaochengtech/sdp.git
xiaochengtech
sdp
SDP协议
8bb7a4ba344b

搜索帮助