2023-05-04 18:37:25 +00:00
|
|
|
package message
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
|
2023-05-16 14:14:20 +00:00
|
|
|
"github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
|
2023-05-04 18:37:25 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
// ExtendedSequenceStart is a sequence start extended message.
|
|
|
|
type ExtendedSequenceStart struct {
|
|
|
|
FourCC [4]byte
|
|
|
|
Config []byte
|
|
|
|
}
|
|
|
|
|
|
|
|
// Unmarshal implements Message.
|
|
|
|
func (m *ExtendedSequenceStart) Unmarshal(raw *rawmessage.Message) error {
|
|
|
|
copy(m.FourCC[:], raw.Body[1:5])
|
|
|
|
m.Config = raw.Body[5:]
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// Marshal implements Message.
|
|
|
|
func (m ExtendedSequenceStart) Marshal() (*rawmessage.Message, error) {
|
|
|
|
return nil, fmt.Errorf("TODO")
|
|
|
|
}
|