mirror of
https://github.com/aler9/gortsplib
synced 2025-10-06 07:37:07 +08:00
return an error in case an AAC track has no sizelength
This commit is contained in:
@@ -141,6 +141,10 @@ func newTrackAACFromMediaDescription(
|
|||||||
return nil, fmt.Errorf("config is missing (%v)", v)
|
return nil, fmt.Errorf("config is missing (%v)", v)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if track.sizeLength == 0 {
|
||||||
|
return nil, fmt.Errorf("sizelength is missing (%v)", v)
|
||||||
|
}
|
||||||
|
|
||||||
return track, nil
|
return track, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -388,7 +388,7 @@ func TestTrackNewFromMediaDescriptionErrors(t *testing.T) {
|
|||||||
err string
|
err string
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
"generic no formats",
|
"no formats",
|
||||||
&psdp.MediaDescription{
|
&psdp.MediaDescription{
|
||||||
MediaName: psdp.MediaName{
|
MediaName: psdp.MediaName{
|
||||||
Media: "audio",
|
Media: "audio",
|
||||||
@@ -399,7 +399,7 @@ func TestTrackNewFromMediaDescriptionErrors(t *testing.T) {
|
|||||||
"unable to get clock rate: no formats provided",
|
"unable to get clock rate: no formats provided",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"generic no rtpmap",
|
"no rtpmap",
|
||||||
&psdp.MediaDescription{
|
&psdp.MediaDescription{
|
||||||
MediaName: psdp.MediaName{
|
MediaName: psdp.MediaName{
|
||||||
Media: "video",
|
Media: "video",
|
||||||
@@ -410,7 +410,7 @@ func TestTrackNewFromMediaDescriptionErrors(t *testing.T) {
|
|||||||
"unable to get clock rate: attribute 'rtpmap' not found",
|
"unable to get clock rate: attribute 'rtpmap' not found",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"generic invalid clockrate 1",
|
"invalid clockrate 1",
|
||||||
&psdp.MediaDescription{
|
&psdp.MediaDescription{
|
||||||
MediaName: psdp.MediaName{
|
MediaName: psdp.MediaName{
|
||||||
Media: "video",
|
Media: "video",
|
||||||
@@ -427,7 +427,7 @@ func TestTrackNewFromMediaDescriptionErrors(t *testing.T) {
|
|||||||
"unable to get clock rate: invalid rtpmap (96)",
|
"unable to get clock rate: invalid rtpmap (96)",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"generic invalid clockrate 2",
|
"invalid clockrate 2",
|
||||||
&psdp.MediaDescription{
|
&psdp.MediaDescription{
|
||||||
MediaName: psdp.MediaName{
|
MediaName: psdp.MediaName{
|
||||||
Media: "video",
|
Media: "video",
|
||||||
@@ -444,7 +444,7 @@ func TestTrackNewFromMediaDescriptionErrors(t *testing.T) {
|
|||||||
"unable to get clock rate: invalid rtpmap (96 mpeg4-generic)",
|
"unable to get clock rate: invalid rtpmap (96 mpeg4-generic)",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"generic invalid clockrate 3",
|
"invalid clockrate 3",
|
||||||
&psdp.MediaDescription{
|
&psdp.MediaDescription{
|
||||||
MediaName: psdp.MediaName{
|
MediaName: psdp.MediaName{
|
||||||
Media: "video",
|
Media: "video",
|
||||||
@@ -582,6 +582,27 @@ func TestTrackNewFromMediaDescriptionErrors(t *testing.T) {
|
|||||||
},
|
},
|
||||||
"invalid AAC config (aa)",
|
"invalid AAC config (aa)",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"aac missing sizelength",
|
||||||
|
&psdp.MediaDescription{
|
||||||
|
MediaName: psdp.MediaName{
|
||||||
|
Media: "audio",
|
||||||
|
Protos: []string{"RTP", "AVP"},
|
||||||
|
Formats: []string{"96"},
|
||||||
|
},
|
||||||
|
Attributes: []psdp.Attribute{
|
||||||
|
{
|
||||||
|
Key: "rtpmap",
|
||||||
|
Value: "96 mpeg4-generic/48000/2",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Key: "fmtp",
|
||||||
|
Value: "96 profile-level-id=1; config=1190",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"sizelength is missing (96 profile-level-id=1; config=1190)",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"opus invalid 1",
|
"opus invalid 1",
|
||||||
&psdp.MediaDescription{
|
&psdp.MediaDescription{
|
||||||
|
Reference in New Issue
Block a user