This commit is contained in:
Quentin Renard
2022-03-26 11:47:14 +01:00
parent abf92ffc35
commit df5bbff0e3
3 changed files with 11 additions and 2 deletions

View File

@@ -23,7 +23,7 @@ func NewDisplayMatrixFromBytes(b []byte) (m *DisplayMatrix, err error) {
// Loop // Loop
for idx := 0; idx < 9; idx++ { for idx := 0; idx < 9; idx++ {
m[idx] = binary.BigEndian.Uint32(b[idx*4 : (idx+1)*4]) m[idx] = binary.LittleEndian.Uint32(b[idx*4 : (idx+1)*4])
} }
return return
} }

View File

@@ -11,6 +11,10 @@ func TestDisplayMatrix(t *testing.T) {
require.Error(t, err) require.Error(t, err)
dm, err := NewDisplayMatrixFromBytes([]byte{0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64}) dm, err := NewDisplayMatrixFromBytes([]byte{0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64})
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, DisplayMatrix{0x0, 0xffff, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x40}, *dm) require.Equal(t, DisplayMatrix{0x0, 0xffff0000, 0x0, 0x10000, 0x0, 0x0, 0x0, 0x0, 0x40000000}, *dm)
require.Equal(t, float64(90), dm.Rotation())
dm, err = NewDisplayMatrixFromBytes([]byte{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64})
require.NoError(t, err)
require.Equal(t, DisplayMatrix{0x0, 0x10000, 0x0, 0xffff0000, 0x0, 0x0, 0x0, 0x0, 0x40000000}, *dm)
require.Equal(t, float64(-90), dm.Rotation()) require.Equal(t, float64(-90), dm.Rotation())
} }

View File

@@ -74,6 +74,11 @@ func main() {
// Create stream // Create stream
s := &stream{inputStream: is} s := &stream{inputStream: is}
if sd := is.SideData(astiav.PacketSideDataTypeDisplaymatrix); len(sd) > 0 {
m, _ := astiav.NewDisplayMatrixFromBytes(sd)
log.Fatalf("rotation: %v | sd: %+v", m.Rotation(), sd)
}
// Find decoder // Find decoder
if s.decCodec = astiav.FindDecoder(is.CodecParameters().CodecID()); s.decCodec == nil { if s.decCodec = astiav.FindDecoder(is.CodecParameters().CodecID()); s.decCodec == nil {
log.Fatal(errors.New("main: codec is nil")) log.Fatal(errors.New("main: codec is nil"))