fix ip camera bug

This commit is contained in:
deepch 2023-04-02 17:58:56 +03:00
parent def88cb695
commit 8958197548

View File

@ -9,7 +9,6 @@ import (
"encoding/hex" "encoding/hex"
"fmt" "fmt"
"io" "io"
//"log"
"net" "net"
"net/textproto" "net/textproto"
"net/url" "net/url"
@ -147,7 +146,12 @@ func (self *Client) probe() (err error) {
} }
func (self *Client) prepare(stage int) (err error) { func (self *Client) prepare(stage int) (err error) {
var waitIdle int
for self.stage < stage { for self.stage < stage {
waitIdle++
if waitIdle > 20 {
return fmt.Errorf("codec not ready")
}
switch self.stage { switch self.stage {
case 0: case 0:
if err = self.Options(); err != nil { if err = self.Options(); err != nil {
@ -695,7 +699,9 @@ func (self *Client) Describe() (streams []sdp.Media, err error) {
self.streams = []*Stream{} self.streams = []*Stream{}
for _, media := range medias { for _, media := range medias {
stream := &Stream{Sdp: media, client: self} stream := &Stream{Sdp: media, client: self}
stream.makeCodecData() if err = stream.makeCodecData(); err != nil && DebugRtsp {
fmt.Println("rtsp: makeCodecData error", err)
}
self.streams = append(self.streams, stream) self.streams = append(self.streams, stream)
streams = append(streams, media) streams = append(streams, media)
} }
@ -767,7 +773,7 @@ func (self *Stream) timeScale() int {
func (self *Stream) makeCodecData() (err error) { func (self *Stream) makeCodecData() (err error) {
media := self.Sdp media := self.Sdp
if media.PayloadType >= 96 && media.PayloadType <= 127 { if (media.PayloadType >= 96 && media.PayloadType <= 127) || media.Type == av.H264 || media.Type == av.AAC {
switch media.Type { switch media.Type {
case av.H264: case av.H264:
for _, nalu := range media.SpropParameterSets { for _, nalu := range media.SpropParameterSets {