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

     1  package av1
     2  
     3  import (
     4  	"fmt"
     5  )
     6  
     7  // ContainsKeyFrame checks whether a temporal unit contain a key frame.
     8  func ContainsKeyFrame(tu [][]byte) (bool, error) {
     9  	if len(tu) == 0 {
    10  		return false, fmt.Errorf("temporal unit is empty")
    11  	}
    12  
    13  	var h OBUHeader
    14  	err := h.Unmarshal(tu[0])
    15  	if err != nil {
    16  		return false, err
    17  	}
    18  
    19  	return (h.Type == OBUTypeSequenceHeader), nil
    20  }