move MPEG-4 audio LATM to dedicated format (bluenviron/mediamtx#4403) (#834)

This commit is contained in:
Alessandro Ros
2025-07-20 17:28:52 +02:00
committed by GitHub
parent 1db87f6bf6
commit 800dd9c850
31 changed files with 1620 additions and 1800 deletions

View File

@@ -282,7 +282,7 @@ var casesFormat = []struct {
&MPEG4Audio{
PayloadTyp: 96,
ProfileLevelID: 1,
Config: &mpeg4audio.Config{
Config: &mpeg4audio.AudioSpecificConfig{
Type: mpeg4audio.ObjectTypeAACLC,
SampleRate: 48000,
ChannelCount: 2,
@@ -314,7 +314,7 @@ var casesFormat = []struct {
&MPEG4Audio{
PayloadTyp: 96,
ProfileLevelID: 1,
Config: &mpeg4audio.Config{
Config: &mpeg4audio.AudioSpecificConfig{
Type: mpeg4audio.ObjectTypeAACLC,
SampleRate: 48000,
ChannelCount: 2,
@@ -346,7 +346,7 @@ var casesFormat = []struct {
&MPEG4Audio{
PayloadTyp: 96,
ProfileLevelID: 14,
Config: &mpeg4audio.Config{
Config: &mpeg4audio.AudioSpecificConfig{
Type: mpeg4audio.ObjectTypeAACLC,
SampleRate: 48000,
ChannelCount: 2,
@@ -374,7 +374,7 @@ var casesFormat = []struct {
&MPEG4Audio{
PayloadTyp: 96,
ProfileLevelID: 48,
Config: &mpeg4audio.Config{
Config: &mpeg4audio.AudioSpecificConfig{
Type: 2,
ExtensionType: 29,
ExtensionSampleRate: 48000,
@@ -401,8 +401,7 @@ var casesFormat = []struct {
"a=rtpmap:96 MP4A-LATM/24000/2\n" +
"a=fmtp:96 profile-level-id=1; " +
"bitrate=64000; cpresent=0; object=2; config=400026203fc0\n",
&MPEG4Audio{
LATM: true,
&MPEG4AudioLATM{
PayloadTyp: 96,
ProfileLevelID: 1,
Bitrate: intPtr(64000),
@@ -410,7 +409,7 @@ var casesFormat = []struct {
StreamMuxConfig: &mpeg4audio.StreamMuxConfig{
Programs: []*mpeg4audio.StreamMuxConfigProgram{{
Layers: []*mpeg4audio.StreamMuxConfigLayer{{
AudioSpecificConfig: &mpeg4audio.Config{
AudioSpecificConfig: &mpeg4audio.AudioSpecificConfig{
Type: 2,
SampleRate: 24000,
ChannelCount: 2,
@@ -438,8 +437,7 @@ var casesFormat = []struct {
"a=rtpmap:110 MP4A-LATM/24000/1\n" +
"a=fmtp:110 profile-level-id=15; " +
"cpresent=0; object=2; config=400026103fc0; sbr-enabled=1\n",
&MPEG4Audio{
LATM: true,
&MPEG4AudioLATM{
PayloadTyp: 110,
ProfileLevelID: 15,
CPresent: false,
@@ -447,7 +445,7 @@ var casesFormat = []struct {
StreamMuxConfig: &mpeg4audio.StreamMuxConfig{
Programs: []*mpeg4audio.StreamMuxConfigProgram{{
Layers: []*mpeg4audio.StreamMuxConfigLayer{{
AudioSpecificConfig: &mpeg4audio.Config{
AudioSpecificConfig: &mpeg4audio.AudioSpecificConfig{
Type: 2,
SampleRate: 24000,
ChannelCount: 1,
@@ -475,8 +473,7 @@ var casesFormat = []struct {
"a=rtpmap:110 MP4A-LATM/48000/2\n" +
"a=fmtp:110 profile-level-id=44; " +
"bitrate=64000; cpresent=0; config=40005623101fe0; sbr-enabled=1\n",
&MPEG4Audio{
LATM: true,
&MPEG4AudioLATM{
PayloadTyp: 110,
ProfileLevelID: 44,
CPresent: false,
@@ -485,7 +482,7 @@ var casesFormat = []struct {
StreamMuxConfig: &mpeg4audio.StreamMuxConfig{
Programs: []*mpeg4audio.StreamMuxConfigProgram{{
Layers: []*mpeg4audio.StreamMuxConfigLayer{{
AudioSpecificConfig: &mpeg4audio.Config{
AudioSpecificConfig: &mpeg4audio.AudioSpecificConfig{
Type: 2,
ExtensionType: 5,
ExtensionSampleRate: 48000,
@@ -516,8 +513,7 @@ var casesFormat = []struct {
"a=rtpmap:110 MP4A-LATM/48000/2\n" +
"a=fmtp:110 profile-level-id=48; " +
"bitrate=64000; cpresent=0; config=4001d613101fe0\n",
&MPEG4Audio{
LATM: true,
&MPEG4AudioLATM{
PayloadTyp: 110,
ProfileLevelID: 48,
Bitrate: intPtr(64000),
@@ -525,7 +521,7 @@ var casesFormat = []struct {
StreamMuxConfig: &mpeg4audio.StreamMuxConfig{
Programs: []*mpeg4audio.StreamMuxConfigProgram{{
Layers: []*mpeg4audio.StreamMuxConfigLayer{{
AudioSpecificConfig: &mpeg4audio.Config{
AudioSpecificConfig: &mpeg4audio.AudioSpecificConfig{
Type: 2,
ExtensionType: 29,
ExtensionSampleRate: 48000,
@@ -555,15 +551,14 @@ var casesFormat = []struct {
"a=rtpmap:110 MP4A-LATM/48000\n" +
"a=fmtp:110 profile-level-id=30; " +
"cpresent=0; config=40002310\n",
&MPEG4Audio{
LATM: true,
&MPEG4AudioLATM{
PayloadTyp: 110,
ProfileLevelID: 30,
CPresent: false,
StreamMuxConfig: &mpeg4audio.StreamMuxConfig{
Programs: []*mpeg4audio.StreamMuxConfigProgram{{
Layers: []*mpeg4audio.StreamMuxConfigLayer{{
AudioSpecificConfig: &mpeg4audio.Config{
AudioSpecificConfig: &mpeg4audio.AudioSpecificConfig{
Type: 2,
SampleRate: 48000,
ChannelCount: 1,
@@ -587,16 +582,15 @@ var casesFormat = []struct {
"v=0\n" +
"s=\n" +
"m=audio 0 RTP/AVP 96\n" +
"a=rtpmap:96 MP4A-LATM/48000/2\n" +
"a=rtpmap:96 MP4A-LATM/90000/1\n" +
"a=fmtp:96 cpresent=1\n",
&MPEG4Audio{
&MPEG4AudioLATM{
PayloadTyp: 96,
LATM: true,
ProfileLevelID: 30,
CPresent: true,
},
96,
"MP4A-LATM/16000/1",
"MP4A-LATM/90000/1",
map[string]string{
"cpresent": "1",
"profile-level-id": "30",