update golangci-lint (#494)

This commit is contained in:
Alessandro Ros
2024-01-03 21:12:19 +01:00
committed by GitHub
parent bcd17a992c
commit 7d30b5f1b7
20 changed files with 48 additions and 32 deletions

View File

@@ -19,7 +19,7 @@ jobs:
- uses: golangci/golangci-lint-action@v3 - uses: golangci/golangci-lint-action@v3
with: with:
version: v1.55.0 version: v1.55.2
go-mod-tidy: go-mod-tidy:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04

View File

@@ -1,7 +1,10 @@
linters: linters:
enable: enable:
- asciicheck
- bidichk
- bodyclose - bodyclose
- dupl - dupl
- errorlint
- exportloopref - exportloopref
- gochecknoinits - gochecknoinits
- gocritic - gocritic
@@ -13,6 +16,7 @@ linters:
- prealloc - prealloc
- revive - revive
- unconvert - unconvert
- tparallel
- wastedassign - wastedassign
- whitespace - whitespace

View File

@@ -1,5 +1,5 @@
BASE_IMAGE = golang:1.21-alpine3.18 BASE_IMAGE = golang:1.21-alpine3.18
LINT_IMAGE = golangci/golangci-lint:v1.55.0 LINT_IMAGE = golangci/golangci-lint:v1.55.2
.PHONY: $(shell ls) .PHONY: $(shell ls)

View File

@@ -80,7 +80,7 @@ func (d *Session) Unmarshal(ssd *sdp.SessionDescription) error {
var m Media var m Media
err := m.Unmarshal(md) err := m.Unmarshal(md)
if err != nil { if err != nil {
return fmt.Errorf("media %d is invalid: %v", i+1, err) return fmt.Errorf("media %d is invalid: %w", i+1, err)
} }
if m.ID != "" && hasMediaWithID(d.Medias[:i], m.ID) { if m.ID != "" && hasMediaWithID(d.Medias[:i], m.ID) {

View File

@@ -53,7 +53,7 @@ func (f *H265) unmarshal(ctx *unmarshalContext) error {
var spsp h265.SPS var spsp h265.SPS
err = spsp.Unmarshal(f.SPS) err = spsp.Unmarshal(f.SPS)
if err != nil { if err != nil {
return fmt.Errorf("invalid SPS: %v", err) return fmt.Errorf("invalid SPS: %w", err)
} }
case "sprop-pps": case "sprop-pps":
@@ -69,7 +69,7 @@ func (f *H265) unmarshal(ctx *unmarshalContext) error {
var ppsp h265.PPS var ppsp h265.PPS
err = ppsp.Unmarshal(f.PPS) err = ppsp.Unmarshal(f.PPS)
if err != nil { if err != nil {
return fmt.Errorf("invalid PPS: %v", err) return fmt.Errorf("invalid PPS: %w", err)
} }
case "sprop-max-don-diff": case "sprop-max-don-diff":

View File

@@ -141,7 +141,7 @@ func (f *MPEG4Audio) unmarshal(ctx *unmarshalContext) error {
f.StreamMuxConfig = &mpeg4audio.StreamMuxConfig{} f.StreamMuxConfig = &mpeg4audio.StreamMuxConfig{}
err = f.StreamMuxConfig.Unmarshal(enc) err = f.StreamMuxConfig.Unmarshal(enc)
if err != nil { if err != nil {
return fmt.Errorf("invalid AAC config: %v", err) return fmt.Errorf("invalid AAC config: %w", err)
} }
case "sbr-enabled": case "sbr-enabled":

View File

@@ -46,7 +46,7 @@ func (f *MPEG4Video) unmarshal(ctx *unmarshalContext) error {
err = mpeg4video.IsValidConfig(f.Config) err = mpeg4video.IsValidConfig(f.Config)
if err != nil { if err != nil {
return fmt.Errorf("invalid config: %v", err) return fmt.Errorf("invalid config: %w", err)
} }
} }
} }

View File

@@ -1,6 +1,7 @@
package rtpac3 package rtpac3
import ( import (
"errors"
"testing" "testing"
"github.com/pion/rtp" "github.com/pion/rtp"
@@ -24,7 +25,7 @@ func TestDecode(t *testing.T) {
// test input integrity // test input integrity
require.Equal(t, clone, pkt) require.Equal(t, clone, pkt)
if err == ErrMorePacketsNeeded { if errors.Is(err, ErrMorePacketsNeeded) {
continue continue
} }

View File

@@ -52,7 +52,7 @@ func (d *Decoder) decodeOBUs(pkt *rtp.Packet) ([][]byte, error) {
if err != nil { if err != nil {
d.fragments = d.fragments[:0] // discard pending fragments d.fragments = d.fragments[:0] // discard pending fragments
d.fragmentsSize = 0 d.fragmentsSize = 0
return nil, fmt.Errorf("invalid header: %v", err) return nil, fmt.Errorf("invalid header: %w", err)
} }
for _, el := range av1header.OBUElements { for _, el := range av1header.OBUElements {

View File

@@ -1,6 +1,7 @@
package rtpav1 package rtpav1
import ( import (
"errors"
"testing" "testing"
"github.com/bluenviron/mediacommon/pkg/codecs/av1" "github.com/bluenviron/mediacommon/pkg/codecs/av1"
@@ -19,7 +20,7 @@ func TestDecode(t *testing.T) {
for _, pkt := range ca.pkts { for _, pkt := range ca.pkts {
addOBUs, err := d.Decode(pkt) addOBUs, err := d.Decode(pkt)
if err == ErrMorePacketsNeeded { if errors.Is(err, ErrMorePacketsNeeded) {
continue continue
} }

View File

@@ -2,6 +2,7 @@ package rtph264
import ( import (
"bytes" "bytes"
"errors"
"testing" "testing"
"github.com/bluenviron/mediacommon/pkg/codecs/h264" "github.com/bluenviron/mediacommon/pkg/codecs/h264"
@@ -26,7 +27,7 @@ func TestDecode(t *testing.T) {
// test input integrity // test input integrity
require.Equal(t, clone, pkt) require.Equal(t, clone, pkt)
if err == ErrMorePacketsNeeded { if errors.Is(err, ErrMorePacketsNeeded) {
continue continue
} }

View File

@@ -1,6 +1,7 @@
package rtph265 package rtph265
import ( import (
"errors"
"testing" "testing"
"github.com/bluenviron/mediacommon/pkg/codecs/h265" "github.com/bluenviron/mediacommon/pkg/codecs/h265"
@@ -25,7 +26,7 @@ func TestDecode(t *testing.T) {
// test input integrity // test input integrity
require.Equal(t, clone, pkt) require.Equal(t, clone, pkt)
if err == ErrMorePacketsNeeded { if errors.Is(err, ErrMorePacketsNeeded) {
continue continue
} }

View File

@@ -1,6 +1,7 @@
package rtpmjpeg package rtpmjpeg
import ( import (
"errors"
"testing" "testing"
"github.com/pion/rtp" "github.com/pion/rtp"
@@ -16,7 +17,7 @@ func TestDecode(t *testing.T) {
for _, pkt := range ca.pkts { for _, pkt := range ca.pkts {
image, err := d.Decode(pkt) image, err := d.Decode(pkt)
if err == ErrMorePacketsNeeded { if errors.Is(err, ErrMorePacketsNeeded) {
continue continue
} }

View File

@@ -176,7 +176,7 @@ func (d *Decoder) removeADTS(aus [][]byte) ([][]byte, error) {
var pkts mpeg4audio.ADTSPackets var pkts mpeg4audio.ADTSPackets
err := pkts.Unmarshal(aus[0]) err := pkts.Unmarshal(aus[0])
if err != nil { if err != nil {
return nil, fmt.Errorf("unable to decode ADTS: %s", err) return nil, fmt.Errorf("unable to decode ADTS: %w", err)
} }
if len(pkts) != 1 { if len(pkts) != 1 {

View File

@@ -1,6 +1,7 @@
package rtpmpeg4audio package rtpmpeg4audio
import ( import (
"errors"
"testing" "testing"
"github.com/pion/rtp" "github.com/pion/rtp"
@@ -28,7 +29,7 @@ func TestDecodeGeneric(t *testing.T) {
// test input integrity // test input integrity
require.Equal(t, clone, pkt) require.Equal(t, clone, pkt)
if err == ErrMorePacketsNeeded { if errors.Is(err, ErrMorePacketsNeeded) {
continue continue
} }

View File

@@ -1,6 +1,7 @@
package rtpmpeg4audio package rtpmpeg4audio
import ( import (
"errors"
"testing" "testing"
"github.com/pion/rtp" "github.com/pion/rtp"
@@ -26,7 +27,7 @@ func TestDecodeLATM(t *testing.T) {
// test input integrity // test input integrity
require.Equal(t, clone, pkt) require.Equal(t, clone, pkt)
if err == ErrMorePacketsNeeded { if errors.Is(err, ErrMorePacketsNeeded) {
continue continue
} }

View File

@@ -1,6 +1,7 @@
package rtpmpeg4video package rtpmpeg4video
import ( import (
"errors"
"testing" "testing"
"github.com/pion/rtp" "github.com/pion/rtp"
@@ -18,7 +19,7 @@ func TestDecode(t *testing.T) {
for _, pkt := range ca.pkts { for _, pkt := range ca.pkts {
frame, err = d.Decode(pkt) frame, err = d.Decode(pkt)
if err == ErrMorePacketsNeeded { if errors.Is(err, ErrMorePacketsNeeded) {
continue continue
} }

View File

@@ -3,6 +3,7 @@ package gortsplib
import ( import (
"context" "context"
"crypto/tls" "crypto/tls"
"errors"
"net" "net"
gourl "net/url" gourl "net/url"
"strconv" "strconv"
@@ -384,7 +385,8 @@ func (sc *ServerConn) handleRequestOuter(req *base.Request) error {
} }
// add cseq // add cseq
if _, ok := err.(liberrors.ErrServerCSeqMissing); !ok { var eerr liberrors.ErrServerCSeqMissing
if !errors.As(err, &eerr) {
res.Header["CSeq"] = req.Header["CSeq"] res.Header["CSeq"] = req.Header["CSeq"]
} }

View File

@@ -1,6 +1,7 @@
package gortsplib package gortsplib
import ( import (
"errors"
"sync/atomic" "sync/atomic"
"time" "time"
@@ -8,17 +9,17 @@ import (
"github.com/bluenviron/gortsplib/v4/pkg/liberrors" "github.com/bluenviron/gortsplib/v4/pkg/liberrors"
) )
type errSwitchReadFunc struct { type switchReadFuncError struct {
tcp bool tcp bool
} }
func (errSwitchReadFunc) Error() string { func (switchReadFuncError) Error() string {
return "switching read function" return "switching read function"
} }
func isErrSwitchReadFunc(err error) bool { func isSwitchReadFuncError(err error) bool {
_, ok := err.(errSwitchReadFunc) var eerr switchReadFuncError
return ok return errors.As(err, &eerr)
} }
type serverConnReader struct { type serverConnReader struct {
@@ -44,8 +45,9 @@ func (cr *serverConnReader) run() {
for { for {
err := readFunc() err := readFunc()
if err, ok := err.(errSwitchReadFunc); ok { var eerr switchReadFuncError
if err.tcp { if errors.As(err, &eerr) {
if eerr.tcp {
readFunc = cr.readFuncTCP readFunc = cr.readFuncTCP
} else { } else {
readFunc = cr.readFuncStandard readFunc = cr.readFuncStandard

View File

@@ -403,7 +403,7 @@ func (ss *ServerSession) runInner() error {
returnedSession := ss returnedSession := ss
if err == nil || isErrSwitchReadFunc(err) { if err == nil || isSwitchReadFuncError(err) {
// ANNOUNCE responses don't contain the session header. // ANNOUNCE responses don't contain the session header.
if req.req.Method != base.Announce && if req.req.Method != base.Announce &&
req.req.Method != base.Teardown { req.req.Method != base.Teardown {
@@ -444,7 +444,7 @@ func (ss *ServerSession) runInner() error {
ss: returnedSession, ss: returnedSession,
} }
if (err == nil || isErrSwitchReadFunc(err)) && savedMethod == base.Teardown { if (err == nil || isSwitchReadFuncError(err)) && savedMethod == base.Teardown {
return liberrors.ErrServerSessionTornDown{Author: req.sc.NetConn().RemoteAddr()} return liberrors.ErrServerSessionTornDown{Author: req.sc.NetConn().RemoteAddr()}
} }
@@ -951,7 +951,7 @@ func (ss *ServerSession) handleRequestInner(sc *ServerConn, req *base.Request) (
default: // TCP default: // TCP
ss.tcpConn = sc ss.tcpConn = sc
err = errSwitchReadFunc{true} err = switchReadFuncError{true}
// writer.start() is called by ServerConn after the response has been sent // writer.start() is called by ServerConn after the response has been sent
} }
@@ -1034,7 +1034,7 @@ func (ss *ServerSession) handleRequestInner(sc *ServerConn, req *base.Request) (
default: // TCP default: // TCP
ss.tcpConn = sc ss.tcpConn = sc
err = errSwitchReadFunc{true} err = switchReadFuncError{true}
// runWriter() is called by conn after sending the response // runWriter() is called by conn after sending the response
} }
@@ -1089,7 +1089,7 @@ func (ss *ServerSession) handleRequestInner(sc *ServerConn, req *base.Request) (
ss.udpCheckStreamTimer = emptyTimer() ss.udpCheckStreamTimer = emptyTimer()
default: // TCP default: // TCP
err = errSwitchReadFunc{false} err = switchReadFuncError{false}
ss.tcpConn = nil ss.tcpConn = nil
} }
@@ -1099,7 +1099,7 @@ func (ss *ServerSession) handleRequestInner(sc *ServerConn, req *base.Request) (
ss.udpCheckStreamTimer = emptyTimer() ss.udpCheckStreamTimer = emptyTimer()
default: // TCP default: // TCP
err = errSwitchReadFunc{false} err = switchReadFuncError{false}
ss.tcpConn = nil ss.tcpConn = nil
} }
@@ -1112,7 +1112,7 @@ func (ss *ServerSession) handleRequestInner(sc *ServerConn, req *base.Request) (
var err error var err error
if (ss.state == ServerSessionStatePlay || ss.state == ServerSessionStateRecord) && if (ss.state == ServerSessionStatePlay || ss.state == ServerSessionStateRecord) &&
*ss.setuppedTransport == TransportTCP { *ss.setuppedTransport == TransportTCP {
err = errSwitchReadFunc{false} err = switchReadFuncError{false}
} }
return &base.Response{ return &base.Response{