github.com/bluenviron/mediacommon@v1.9.3/pkg/codecs/av1/obu_header_test.go (about)

     1  package av1
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  )
     8  
     9  func TestOBUHeaderUnmarshal(t *testing.T) {
    10  	for _, ca := range []struct {
    11  		name string
    12  		byts []byte
    13  		h    OBUHeader
    14  	}{
    15  		{
    16  			"sequence header",
    17  			[]byte{
    18  				0x0a, 0x0e, 0x00, 0x00, 0x00, 0x4a, 0xab, 0xbf,
    19  				0xc3, 0x77, 0x6b, 0xe4, 0x40, 0x40, 0x40, 0x41,
    20  			},
    21  			OBUHeader{
    22  				Type:    OBUTypeSequenceHeader,
    23  				HasSize: true,
    24  			},
    25  		},
    26  	} {
    27  		t.Run(ca.name, func(t *testing.T) {
    28  			var h OBUHeader
    29  			err := h.Unmarshal(ca.byts)
    30  			require.NoError(t, err)
    31  			require.Equal(t, ca.h, h)
    32  		})
    33  	}
    34  }
    35  
    36  func FuzzOBUHeaderUnmarshal(f *testing.F) {
    37  	f.Fuzz(func(_ *testing.T, b []byte) {
    38  		var h OBUHeader
    39  		h.Unmarshal(b) //nolint:errcheck
    40  	})
    41  }