AlexxIT/go2rtc · error

wyze: probe

Error message

wyze: probe: %w

What it means

During producer probing, client.ReadPacket failed (network error, auth problem, or stream ended) before all codecs could be discovered. Wraps the read error; NewProducer therefore cannot be created. Note that nil/short payloads are skipped, only hard read errors raise this.

Solutions

  1. Verify the camera is online and reachable for P2P
  2. Retry NewProducer; transient P2P setup failures are common
  3. Check credentials used for the P2P session
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at pkg/wyze/producer.go:179 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of AlexxIT/go2rtc@c245815e75 (2026-09-07). Data as JSON: /api/errors/2c7a787d8b30fbc0. Report an issue: GitHub.

Appendix: source

Thrown at pkg/wyze/producer.go:179

		}
	}
}

func probe(client *Client, quality byte) ([]*core.Media, error) {
	client.SetResolution(quality)
	client.SetDeadline(time.Now().Add(core.ProbeTimeout))

	var vcodec, acodec *core.Codec
	var tutkAudioCodec byte

	for {
		if client.verbose {
			fmt.Println("[Wyze] Probing for codecs...")
		}

		pkt, err := client.ReadPacket()
		if err != nil {
			return nil, fmt.Errorf("wyze: probe: %w", err)
		}
		if pkt == nil || len(pkt.Payload) < 5 {
			continue
		}

		switch pkt.Codec {
		case tutk.CodecH264:
			if vcodec == nil {
				buf := annexb.EncodeToAVCC(pkt.Payload)
				if len(buf) >= 5 && h264.NALUType(buf) == h264.NALUTypeSPS {
					vcodec = h264.AVCCToCodec(buf)
				}
			}
		case tutk.CodecH265:
			if vcodec == nil {
				buf := annexb.EncodeToAVCC(pkt.Payload)
				if len(buf) >= 5 && h265.NALUType(buf) == h265.NALUTypeVPS {
					vcodec = h265.AVCCToCodec(buf)

View on GitHub (pinned to c245815e75)