|
|
|
@ -14,13 +14,15 @@ import ( |
|
|
|
|
|
|
|
|
|
|
|
const unknownString = "Unknown" |
|
|
|
const unknownString = "Unknown" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _getInboundDetailsFromMetadataRE = regexp.MustCompile(`\{(.*?)\}`) |
|
|
|
|
|
|
|
|
|
|
|
func getInboundDetailsFromMetadata(metadata []interface{}) (models.RTMPStreamMetadata, error) { |
|
|
|
func getInboundDetailsFromMetadata(metadata []interface{}) (models.RTMPStreamMetadata, error) { |
|
|
|
metadataComponentsString := fmt.Sprintf("%+v", metadata) |
|
|
|
metadataComponentsString := fmt.Sprintf("%+v", metadata) |
|
|
|
if !strings.Contains(metadataComponentsString, "onMetaData") { |
|
|
|
if !strings.Contains(metadataComponentsString, "onMetaData") { |
|
|
|
return models.RTMPStreamMetadata{}, errors.New("Not a onMetaData message") |
|
|
|
return models.RTMPStreamMetadata{}, errors.New("Not a onMetaData message") |
|
|
|
} |
|
|
|
} |
|
|
|
re := regexp.MustCompile(`\{(.*?)\}`) |
|
|
|
|
|
|
|
submatchall := re.FindAllString(metadataComponentsString, 1) |
|
|
|
submatchall := _getInboundDetailsFromMetadataRE.FindAllString(metadataComponentsString, 1) |
|
|
|
|
|
|
|
|
|
|
|
if len(submatchall) == 0 { |
|
|
|
if len(submatchall) == 0 { |
|
|
|
return models.RTMPStreamMetadata{}, errors.New("unable to parse inbound metadata") |
|
|
|
return models.RTMPStreamMetadata{}, errors.New("unable to parse inbound metadata") |
|
|
|
|