mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 15:16:51 +08:00
29 lines
725 B
Go
29 lines
725 B
Go
package jpeg
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// StartOfScan is a SOS marker.
|
|
type StartOfScan struct{}
|
|
|
|
// Unmarshal decodes the marker.
|
|
func (StartOfScan) Unmarshal(buf []byte) error {
|
|
if len(buf) != 10 {
|
|
return fmt.Errorf("unsupported SOS size of %d", len(buf))
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Marshal encodes the marker.
|
|
func (StartOfScan) Marshal(buf []byte) []byte {
|
|
buf = append(buf, []byte{0xFF, MarkerStartOfScan}...)
|
|
buf = append(buf, []byte{0, 12}...) // length
|
|
buf = append(buf, []byte{3}...) // components
|
|
buf = append(buf, []byte{0, 0}...) // component 0
|
|
buf = append(buf, []byte{1, 0x11}...) // component 1
|
|
buf = append(buf, []byte{2, 0x11}...) // component 2
|
|
buf = append(buf, []byte{0, 63, 0}...)
|
|
return buf
|
|
}
|