build(deps): bump github.com/bluenviron/mediacommon/v2 (#5297)

Bumps [github.com/bluenviron/mediacommon/v2](https://github.com/bluenviron/mediacommon) from 2.5.3 to 2.6.0.
- [Commits](https://github.com/bluenviron/mediacommon/compare/v2.5.3...v2.6.0)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon/v2
  dependency-version: 2.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
dependabot[bot]
2025-12-28 15:44:36 +01:00
committed by GitHub
co-authored by dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
parent d03b967a1b
commit f843df4ab8
22 changed files with 113 additions and 103 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ require (
github.com/bluenviron/gohlslib/v2 v2.2.4
github.com/bluenviron/gortmplib v0.1.2
github.com/bluenviron/gortsplib/v5 v5.2.1
github.com/bluenviron/mediacommon/v2 v2.5.3
github.com/bluenviron/mediacommon/v2 v2.6.0
github.com/datarhei/gosrt v0.9.0
github.com/fsnotify/fsnotify v1.9.0
github.com/gin-contrib/pprof v1.5.3
+2 -2
View File
@@ -41,8 +41,8 @@ github.com/bluenviron/gortmplib v0.1.2 h1:bJ+5pUxKnHjEoKPbNs7lDLyYy5R9Z1lISJ1n54
github.com/bluenviron/gortmplib v0.1.2/go.mod h1:oVOWgfs7wsZNoKYLttyqLar7a71ZTohO1JOVXkNxtHg=
github.com/bluenviron/gortsplib/v5 v5.2.1 h1:VrFC5RU8npiyKiqLFKXZmdUFChSmbjO5eZBfOUgxwjo=
github.com/bluenviron/gortsplib/v5 v5.2.1/go.mod h1:sK4+00XQaSpU2iPIKjmhj6Yye+sVbNWEU2IJWYEZI9U=
github.com/bluenviron/mediacommon/v2 v2.5.3 h1:espW+MsV1IYH6WE3QGa1UgPnIp13JuJG4VqGvoqseBU=
github.com/bluenviron/mediacommon/v2 v2.5.3/go.mod h1:5V15TiOfeaNVmZPVuOqAwqQSWyvMV86/dijDKu5q9Zs=
github.com/bluenviron/mediacommon/v2 v2.6.0 h1:wZAPXwv7V78Cx2x7cToYIHOLToHl6APcvHbdQT+gOkg=
github.com/bluenviron/mediacommon/v2 v2.6.0/go.mod h1:5V15TiOfeaNVmZPVuOqAwqQSWyvMV86/dijDKu5q9Zs=
github.com/bytedance/sonic v1.14.0 h1:/OfKt8HFw0kh2rj8N0F6C/qPGRESq0BbaNZgcNXXzQQ=
github.com/bytedance/sonic v1.14.0/go.mod h1:WoEbx8WTcFJfzCe0hbmyTGrfjt8PzNEBdxlNUO24NhA=
github.com/bytedance/sonic/loader v0.3.0 h1:dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA=
+3 -2
View File
@@ -19,6 +19,7 @@ import (
"github.com/bluenviron/gortsplib/v5/pkg/description"
"github.com/bluenviron/gortsplib/v5/pkg/format"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
srt "github.com/datarhei/gosrt"
"github.com/google/uuid"
"github.com/pion/rtp"
@@ -557,7 +558,7 @@ func TestAPIProtocolListGet(t *testing.T) {
defer conn.Close()
track := &mpegts.Track{
Codec: &mpegts.CodecH264{},
Codec: &tscodecs.H264{},
}
bw := bufio.NewWriter(conn)
@@ -1084,7 +1085,7 @@ func TestAPIProtocolKick(t *testing.T) {
defer conn.Close()
track := &mpegts.Track{
Codec: &mpegts.CodecH264{},
Codec: &tscodecs.H264{},
}
bw := bufio.NewWriter(conn)
+2 -1
View File
@@ -17,6 +17,7 @@ import (
"github.com/bluenviron/gortsplib/v5/pkg/description"
"github.com/bluenviron/gortsplib/v5/pkg/format"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
srt "github.com/datarhei/gosrt"
"github.com/pion/rtp"
pwebrtc "github.com/pion/webrtc/v4"
@@ -318,7 +319,7 @@ webrtc_sessions_rtcp_packets_sent 0
defer publisher.Close()
track := &mpegts.Track{
Codec: &mpegts.CodecH264{},
Codec: &tscodecs.H264{},
}
bw := bufio.NewWriter(publisher)
+3 -3
View File
@@ -5,7 +5,7 @@ import (
"testing"
"github.com/bluenviron/mediacommon/v2/pkg/formats/fmp4"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mp4"
mcodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mp4/codecs"
"github.com/bluenviron/mediamtx/internal/test"
"github.com/stretchr/testify/require"
)
@@ -23,7 +23,7 @@ func TestMuxerMP4EmptyTracks(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -31,7 +31,7 @@ func TestMuxerMP4EmptyTracks(t *testing.T) {
{
ID: 2,
TimeScale: 48000,
Codec: &mp4.CodecOpus{},
Codec: &mcodecs.Opus{},
},
},
}
+12 -12
View File
@@ -14,7 +14,7 @@ import (
"github.com/bluenviron/mediacommon/v2/pkg/codecs/mpeg4audio"
"github.com/bluenviron/mediacommon/v2/pkg/formats/fmp4"
"github.com/bluenviron/mediacommon/v2/pkg/formats/fmp4/seekablebuffer"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mp4"
mcodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mp4/codecs"
"github.com/bluenviron/mediacommon/v2/pkg/formats/pmp4"
"github.com/bluenviron/mediamtx/internal/conf"
"github.com/bluenviron/mediamtx/internal/recordstore"
@@ -29,7 +29,7 @@ func writeSegment1(t *testing.T, fpath string) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -37,7 +37,7 @@ func writeSegment1(t *testing.T, fpath string) {
{
ID: 2,
TimeScale: 48000,
Codec: &mp4.CodecMPEG4Audio{
Codec: &mcodecs.MPEG4Audio{
Config: mpeg4audio.AudioSpecificConfig{
Type: mpeg4audio.ObjectTypeAACLC,
SampleRate: 48000,
@@ -107,7 +107,7 @@ func writeSegment2(t *testing.T, fpath string) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -115,7 +115,7 @@ func writeSegment2(t *testing.T, fpath string) {
{
ID: 2,
TimeScale: 48000,
Codec: &mp4.CodecMPEG4Audio{
Codec: &mcodecs.MPEG4Audio{
Config: mpeg4audio.AudioSpecificConfig{
Type: mpeg4audio.ObjectTypeAACLC,
SampleRate: 48000,
@@ -195,7 +195,7 @@ func writeSegment3(t *testing.T, fpath string) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -251,7 +251,7 @@ func TestOnGet(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -259,7 +259,7 @@ func TestOnGet(t *testing.T) {
{
ID: 2,
TimeScale: 48000,
Codec: &mp4.CodecMPEG4Audio{
Codec: &mcodecs.MPEG4Audio{
Config: mpeg4audio.AudioSpecificConfig{
Type: mpeg4audio.ObjectTypeAACLC,
SampleRate: 48000,
@@ -629,7 +629,7 @@ func TestOnGet(t *testing.T) {
ID: 1,
TimeScale: 90000,
TimeOffset: -90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -658,7 +658,7 @@ func TestOnGet(t *testing.T) {
ID: 2,
TimeScale: 48000,
TimeOffset: 48000,
Codec: &mp4.CodecMPEG4Audio{
Codec: &mcodecs.MPEG4Audio{
Config: mpeg4audio.AudioSpecificConfig{
Type: mpeg4audio.ObjectTypeAACLC,
SampleRate: 48000,
@@ -791,7 +791,7 @@ func TestOnGetInMiddleOfLastSample(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -887,7 +887,7 @@ func TestOnGetBetweenSegments(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
+2 -3
View File
@@ -13,9 +13,8 @@ import (
"time"
amp4 "github.com/abema/go-mp4"
"github.com/bluenviron/mediacommon/v2/pkg/formats/fmp4"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mp4"
mcodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mp4/codecs"
"github.com/bluenviron/mediamtx/internal/auth"
"github.com/bluenviron/mediamtx/internal/conf"
"github.com/bluenviron/mediamtx/internal/test"
@@ -274,7 +273,7 @@ func TestOnListCachedDuration(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
+12 -12
View File
@@ -9,7 +9,7 @@ import (
amp4 "github.com/abema/go-mp4"
"github.com/bluenviron/mediacommon/v2/pkg/codecs/mpeg4audio"
"github.com/bluenviron/mediacommon/v2/pkg/formats/fmp4"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mp4"
mcodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mp4/codecs"
"github.com/bluenviron/mediamtx/internal/recordstore"
"github.com/bluenviron/mediamtx/internal/test"
"github.com/stretchr/testify/require"
@@ -21,7 +21,7 @@ func writeBenchInit(f io.WriteSeeker) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -29,7 +29,7 @@ func writeBenchInit(f io.WriteSeeker) {
{
ID: 2,
TimeScale: 90000,
Codec: &mp4.CodecMPEG4Audio{
Codec: &mcodecs.MPEG4Audio{
Config: mpeg4audio.AudioSpecificConfig{
Type: mpeg4audio.ObjectTypeAACLC,
SampleRate: 48000,
@@ -88,7 +88,7 @@ func TestSegmentFMP4CanBeConcatenated(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -96,7 +96,7 @@ func TestSegmentFMP4CanBeConcatenated(t *testing.T) {
{
ID: 2,
TimeScale: 48000,
Codec: &mp4.CodecMPEG4Audio{
Codec: &mcodecs.MPEG4Audio{
Config: mpeg4audio.AudioSpecificConfig{
Type: mpeg4audio.ObjectTypeAACLC,
SampleRate: 48000,
@@ -110,7 +110,7 @@ func TestSegmentFMP4CanBeConcatenated(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -326,7 +326,7 @@ func TestSegmentFMP4CanBeConcatenated(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -340,7 +340,7 @@ func TestSegmentFMP4CanBeConcatenated(t *testing.T) {
{
ID: 2,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -358,7 +358,7 @@ func TestSegmentFMP4CanBeConcatenated(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -372,7 +372,7 @@ func TestSegmentFMP4CanBeConcatenated(t *testing.T) {
{
ID: 1,
TimeScale: 48000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -390,7 +390,7 @@ func TestSegmentFMP4CanBeConcatenated(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -404,7 +404,7 @@ func TestSegmentFMP4CanBeConcatenated(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecMPEG4Audio{
Codec: &mcodecs.MPEG4Audio{
Config: mpeg4audio.AudioSpecificConfig{
Type: mpeg4audio.ObjectTypeAACLC,
SampleRate: 48000,
+2 -1
View File
@@ -11,6 +11,7 @@ import (
"github.com/bluenviron/gortsplib/v5/pkg/description"
"github.com/bluenviron/gortsplib/v5/pkg/format"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
"github.com/bluenviron/mediamtx/internal/conf"
"github.com/bluenviron/mediamtx/internal/stream"
"github.com/bluenviron/mediamtx/internal/test"
@@ -28,7 +29,7 @@ func TestToStreamNoSupportedCodecs(t *testing.T) {
func TestToStream(t *testing.T) {
track1 := &mpegts.Track{
Codec: &mpegts.CodecH264{},
Codec: &tscodecs.H264{},
}
s := &http.Server{
+2 -1
View File
@@ -5,6 +5,7 @@ import (
"github.com/bluenviron/mediacommon/v2/pkg/codecs/mpeg4audio"
mcmpegts "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
"github.com/bluenviron/mediacommon/v2/pkg/rewindablereader"
)
@@ -32,7 +33,7 @@ func (r *EnhancedReader) Initialize() error {
tracksToParse := 0
for _, track := range mr.Tracks() {
if _, ok := track.Codec.(*mcmpegts.CodecMPEG4AudioLATM); ok {
if _, ok := track.Codec.(*tscodecs.MPEG4AudioLATM); ok {
cpid := track.PID
done := false
tracksToParse++
+11 -10
View File
@@ -13,6 +13,7 @@ import (
"github.com/bluenviron/mediacommon/v2/pkg/codecs/h265"
"github.com/bluenviron/mediacommon/v2/pkg/codecs/mpeg4audio"
mcmpegts "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
srt "github.com/datarhei/gosrt"
"github.com/bluenviron/mediamtx/internal/logger"
@@ -53,7 +54,7 @@ func FromStream(
switch forma := forma.(type) {
case *format.H265: //nolint:dupl
track := &mcmpegts.Track{Codec: &mcmpegts.CodecH265{}}
track := &mcmpegts.Track{Codec: &tscodecs.H265{}}
var dtsExtractor *h265.DTSExtractor
@@ -92,7 +93,7 @@ func FromStream(
})
case *format.H264: //nolint:dupl
track := &mcmpegts.Track{Codec: &mcmpegts.CodecH264{}}
track := &mcmpegts.Track{Codec: &tscodecs.H264{}}
var dtsExtractor *h264.DTSExtractor
@@ -133,7 +134,7 @@ func FromStream(
})
case *format.MPEG4Video:
track := &mcmpegts.Track{Codec: &mcmpegts.CodecMPEG4Video{}}
track := &mcmpegts.Track{Codec: &tscodecs.MPEG4Video{}}
firstReceived := false
var lastPTS int64
@@ -166,7 +167,7 @@ func FromStream(
})
case *format.MPEG1Video:
track := &mcmpegts.Track{Codec: &mcmpegts.CodecMPEG1Video{}}
track := &mcmpegts.Track{Codec: &tscodecs.MPEG1Video{}}
firstReceived := false
var lastPTS int64
@@ -199,7 +200,7 @@ func FromStream(
})
case *format.Opus:
track := &mcmpegts.Track{Codec: &mcmpegts.CodecOpus{
track := &mcmpegts.Track{Codec: &tscodecs.Opus{
ChannelCount: forma.ChannelCount,
}}
@@ -225,7 +226,7 @@ func FromStream(
case *format.KLV:
track := &mcmpegts.Track{
Codec: &mcmpegts.CodecKLV{
Codec: &tscodecs.KLV{
Synchronous: true,
},
}
@@ -248,7 +249,7 @@ func FromStream(
})
case *format.MPEG4Audio:
track := &mcmpegts.Track{Codec: &mcmpegts.CodecMPEG4Audio{
track := &mcmpegts.Track{Codec: &tscodecs.MPEG4Audio{
Config: *forma.Config,
}}
@@ -273,7 +274,7 @@ func FromStream(
})
case *format.MPEG4AudioLATM:
track := &mcmpegts.Track{Codec: &mcmpegts.CodecMPEG4AudioLATM{}}
track := &mcmpegts.Track{Codec: &tscodecs.MPEG4AudioLATM{}}
if !forma.CPresent {
addTrack(
@@ -336,7 +337,7 @@ func FromStream(
}
case *format.MPEG1Audio:
track := &mcmpegts.Track{Codec: &mcmpegts.CodecMPEG1Audio{}}
track := &mcmpegts.Track{Codec: &tscodecs.MPEG1Audio{}}
addTrack(
media,
@@ -359,7 +360,7 @@ func FromStream(
})
case *format.AC3:
track := &mcmpegts.Track{Codec: &mcmpegts.CodecAC3{}}
track := &mcmpegts.Track{Codec: &tscodecs.AC3{}}
addTrack(
media,
+11 -10
View File
@@ -10,6 +10,7 @@ import (
"github.com/bluenviron/gortsplib/v5/pkg/format"
"github.com/bluenviron/mediacommon/v2/pkg/codecs/mpeg4audio"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
"github.com/bluenviron/mediamtx/internal/logger"
"github.com/bluenviron/mediamtx/internal/stream"
@@ -36,7 +37,7 @@ func ToStream(
var medi *description.Media
switch codec := track.Codec.(type) {
case *mpegts.CodecH265:
case *tscodecs.H265:
medi = &description.Media{
Type: description.MediaTypeVideo,
Formats: []format.Format{&format.H265{
@@ -54,7 +55,7 @@ func ToStream(
return nil
})
case *mpegts.CodecH264:
case *tscodecs.H264:
medi = &description.Media{
Type: description.MediaTypeVideo,
Formats: []format.Format{&format.H264{
@@ -73,7 +74,7 @@ func ToStream(
return nil
})
case *mpegts.CodecMPEG4Video:
case *tscodecs.MPEG4Video:
medi = &description.Media{
Type: description.MediaTypeVideo,
Formats: []format.Format{&format.MPEG4Video{
@@ -91,7 +92,7 @@ func ToStream(
return nil
})
case *mpegts.CodecMPEG1Video:
case *tscodecs.MPEG1Video:
medi = &description.Media{
Type: description.MediaTypeVideo,
Formats: []format.Format{&format.MPEG1Video{}},
@@ -107,7 +108,7 @@ func ToStream(
return nil
})
case *mpegts.CodecOpus:
case *tscodecs.Opus:
medi = &description.Media{
Type: description.MediaTypeAudio,
Formats: []format.Format{&format.Opus{
@@ -126,7 +127,7 @@ func ToStream(
return nil
})
case *mpegts.CodecKLV:
case *tscodecs.KLV:
medi = &description.Media{
Type: description.MediaTypeApplication,
Formats: []format.Format{&format.KLV{
@@ -143,7 +144,7 @@ func ToStream(
return nil
})
case *mpegts.CodecMPEG4Audio:
case *tscodecs.MPEG4Audio:
medi = &description.Media{
Type: description.MediaTypeAudio,
Formats: []format.Format{&format.MPEG4Audio{
@@ -165,7 +166,7 @@ func ToStream(
return nil
})
case *mpegts.CodecMPEG4AudioLATM:
case *tscodecs.MPEG4AudioLATM:
// We are dealing with a LATM stream with in-band configuration.
// Although in theory this can be streamed with RTSP (RFC6416 with cpresent=1),
// in practice there is no player that supports it.
@@ -220,7 +221,7 @@ func ToStream(
return nil
})
case *mpegts.CodecMPEG1Audio:
case *tscodecs.MPEG1Audio:
medi = &description.Media{
Type: description.MediaTypeAudio,
Formats: []format.Format{&format.MPEG1Audio{}},
@@ -236,7 +237,7 @@ func ToStream(
return nil
})
case *mpegts.CodecAC3:
case *tscodecs.AC3:
medi = &description.Media{
Type: description.MediaTypeAudio,
Formats: []format.Format{&format.AC3{
+16 -16
View File
@@ -19,7 +19,7 @@ import (
"github.com/bluenviron/mediacommon/v2/pkg/codecs/opus"
"github.com/bluenviron/mediacommon/v2/pkg/codecs/vp9"
"github.com/bluenviron/mediacommon/v2/pkg/formats/fmp4"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mp4"
mcodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mp4/codecs"
"github.com/bluenviron/mediamtx/internal/codecprocessor"
"github.com/bluenviron/mediamtx/internal/defs"
@@ -116,7 +116,7 @@ type formatFMP4 struct {
func (f *formatFMP4) initialize() bool {
nextID := 1
addTrack := func(format rtspformat.Format, codec mp4.Codec) *formatFMP4Track {
addTrack := func(format rtspformat.Format, codec mcodecs.Codec) *formatFMP4Track {
track := &formatFMP4Track{
f: f,
id: nextID,
@@ -136,7 +136,7 @@ func (f *formatFMP4) initialize() bool {
switch forma := forma.(type) {
case *rtspformat.AV1:
codec := &mp4.CodecAV1{
codec := &mcodecs.AV1{
SequenceHeader: av1DefaultSequenceHeader,
}
track := addTrack(forma, codec)
@@ -191,7 +191,7 @@ func (f *formatFMP4) initialize() bool {
})
case *rtspformat.VP9:
codec := &mp4.CodecVP9{
codec := &mcodecs.VP9{
Width: 1280,
Height: 720,
Profile: 1,
@@ -281,7 +281,7 @@ func (f *formatFMP4) initialize() bool {
pps = codecprocessor.H265DefaultPPS
}
codec := &mp4.CodecH265{
codec := &mcodecs.H265{
VPS: vps,
SPS: sps,
PPS: pps,
@@ -365,7 +365,7 @@ func (f *formatFMP4) initialize() bool {
pps = codecprocessor.H264DefaultPPS
}
codec := &mp4.CodecH264{
codec := &mcodecs.H264{
SPS: sps,
PPS: pps,
}
@@ -441,7 +441,7 @@ func (f *formatFMP4) initialize() bool {
config = codecprocessor.MPEG4VideoDefaultConfig
}
codec := &mp4.CodecMPEG4Video{
codec := &mcodecs.MPEG4Video{
Config: config,
}
track := addTrack(forma, codec)
@@ -495,7 +495,7 @@ func (f *formatFMP4) initialize() bool {
})
case *rtspformat.MPEG1Video:
codec := &mp4.CodecMPEG1Video{
codec := &mcodecs.MPEG1Video{
Config: codecprocessor.MPEG1VideoDefaultConfig,
}
track := addTrack(forma, codec)
@@ -546,7 +546,7 @@ func (f *formatFMP4) initialize() bool {
})
case *rtspformat.MJPEG:
codec := &mp4.CodecMJPEG{
codec := &mcodecs.MJPEG{
Width: 800,
Height: 600,
}
@@ -583,7 +583,7 @@ func (f *formatFMP4) initialize() bool {
})
case *rtspformat.Opus:
codec := &mp4.CodecOpus{
codec := &mcodecs.Opus{
ChannelCount: forma.ChannelCount,
}
track := addTrack(forma, codec)
@@ -617,7 +617,7 @@ func (f *formatFMP4) initialize() bool {
})
case *rtspformat.MPEG4Audio:
codec := &mp4.CodecMPEG4Audio{
codec := &mcodecs.MPEG4Audio{
Config: *forma.Config,
}
track := addTrack(forma, codec)
@@ -650,7 +650,7 @@ func (f *formatFMP4) initialize() bool {
case *rtspformat.MPEG4AudioLATM:
if !forma.CPresent {
codec := &mp4.CodecMPEG4Audio{
codec := &mcodecs.MPEG4Audio{
Config: *forma.StreamMuxConfig.Programs[0].Layers[0].AudioSpecificConfig,
}
track := addTrack(forma, codec)
@@ -681,7 +681,7 @@ func (f *formatFMP4) initialize() bool {
}
case *rtspformat.MPEG1Audio:
codec := &mp4.CodecMPEG1Audio{
codec := &mcodecs.MPEG1Audio{
SampleRate: 32000,
ChannelCount: 2,
}
@@ -732,7 +732,7 @@ func (f *formatFMP4) initialize() bool {
})
case *rtspformat.AC3:
codec := &mp4.CodecAC3{
codec := &mcodecs.AC3{
SampleRate: forma.SampleRate,
ChannelCount: forma.ChannelCount,
Fscod: 0,
@@ -801,7 +801,7 @@ func (f *formatFMP4) initialize() bool {
// TODO
case *rtspformat.G711:
codec := &mp4.CodecLPCM{
codec := &mcodecs.LPCM{
LittleEndian: false,
BitDepth: 16,
SampleRate: forma.SampleRate,
@@ -838,7 +838,7 @@ func (f *formatFMP4) initialize() bool {
})
case *rtspformat.LPCM:
codec := &mp4.CodecLPCM{
codec := &mcodecs.LPCM{
LittleEndian: false,
BitDepth: forma.BitDepth,
SampleRate: forma.SampleRate,
+1 -2
View File
@@ -9,12 +9,11 @@ import (
"time"
amp4 "github.com/abema/go-mp4"
"github.com/google/uuid"
"github.com/bluenviron/mediacommon/v2/pkg/formats/fmp4"
"github.com/bluenviron/mediacommon/v2/pkg/formats/fmp4/seekablebuffer"
"github.com/bluenviron/mediamtx/internal/logger"
"github.com/bluenviron/mediamtx/internal/recordstore"
"github.com/google/uuid"
)
func writeInit(
+2 -2
View File
@@ -5,7 +5,7 @@ import (
"time"
"github.com/bluenviron/mediacommon/v2/pkg/formats/fmp4"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mp4"
mcodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mp4/codecs"
"github.com/bluenviron/mediamtx/internal/logger"
)
@@ -47,7 +47,7 @@ type formatFMP4Track struct {
f *formatFMP4
id int
clockRate uint32
codec mp4.Codec
codec mcodecs.Codec
initTrack *fmp4.InitTrack
nextSample *formatFMP4Sample
+12 -11
View File
@@ -15,6 +15,7 @@ import (
"github.com/bluenviron/mediacommon/v2/pkg/codecs/mpeg4audio"
"github.com/bluenviron/mediacommon/v2/pkg/codecs/mpeg4video"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
"github.com/bluenviron/mediamtx/internal/defs"
"github.com/bluenviron/mediamtx/internal/logger"
@@ -66,7 +67,7 @@ type formatMPEGTS struct {
func (f *formatMPEGTS) initialize() bool {
var tracks []*mpegts.Track
addTrack := func(codec mpegts.Codec) *formatMPEGTSTrack {
addTrack := func(codec tscodecs.Codec) *formatMPEGTSTrack {
track := &formatMPEGTSTrack{
f: f,
codec: codec,
@@ -83,7 +84,7 @@ func (f *formatMPEGTS) initialize() bool {
switch forma := forma.(type) {
case *rtspformat.H265: //nolint:dupl
track := addTrack(&mpegts.CodecH265{})
track := addTrack(&tscodecs.H265{})
var dtsExtractor *h265.DTSExtractor
@@ -125,7 +126,7 @@ func (f *formatMPEGTS) initialize() bool {
})
case *rtspformat.H264: //nolint:dupl
track := addTrack(&mpegts.CodecH264{})
track := addTrack(&tscodecs.H264{})
var dtsExtractor *h264.DTSExtractor
@@ -167,7 +168,7 @@ func (f *formatMPEGTS) initialize() bool {
})
case *rtspformat.MPEG4Video:
track := addTrack(&mpegts.CodecMPEG4Video{})
track := addTrack(&tscodecs.MPEG4Video{})
firstReceived := false
var lastPTS int64
@@ -204,7 +205,7 @@ func (f *formatMPEGTS) initialize() bool {
})
case *rtspformat.MPEG1Video:
track := addTrack(&mpegts.CodecMPEG1Video{})
track := addTrack(&tscodecs.MPEG1Video{})
firstReceived := false
var lastPTS int64
@@ -240,7 +241,7 @@ func (f *formatMPEGTS) initialize() bool {
})
case *rtspformat.Opus:
track := addTrack(&mpegts.CodecOpus{
track := addTrack(&tscodecs.Opus{
ChannelCount: forma.ChannelCount,
})
@@ -266,7 +267,7 @@ func (f *formatMPEGTS) initialize() bool {
})
case *rtspformat.KLV:
track := addTrack(&mpegts.CodecKLV{
track := addTrack(&tscodecs.KLV{
Synchronous: true,
})
@@ -292,7 +293,7 @@ func (f *formatMPEGTS) initialize() bool {
})
case *rtspformat.MPEG4Audio:
track := addTrack(&mpegts.CodecMPEG4Audio{
track := addTrack(&tscodecs.MPEG4Audio{
Config: *forma.Config,
})
@@ -319,7 +320,7 @@ func (f *formatMPEGTS) initialize() bool {
case *rtspformat.MPEG4AudioLATM:
if !forma.CPresent {
track := addTrack(&mpegts.CodecMPEG4Audio{
track := addTrack(&tscodecs.MPEG4Audio{
Config: *forma.StreamMuxConfig.Programs[0].Layers[0].AudioSpecificConfig,
})
@@ -353,7 +354,7 @@ func (f *formatMPEGTS) initialize() bool {
}
case *rtspformat.MPEG1Audio:
track := addTrack(&mpegts.CodecMPEG1Audio{})
track := addTrack(&tscodecs.MPEG1Audio{})
f.ri.reader.OnData(
media,
@@ -377,7 +378,7 @@ func (f *formatMPEGTS) initialize() bool {
})
case *rtspformat.AC3:
track := addTrack(&mpegts.CodecAC3{})
track := addTrack(&tscodecs.AC3{})
f.ri.reader.OnData(
media,
+2 -1
View File
@@ -5,11 +5,12 @@ import (
"time"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
)
type formatMPEGTSTrack struct {
f *formatMPEGTS
codec mpegts.Codec
codec tscodecs.Codec
track *mpegts.Track
startInitialized bool
+6 -6
View File
@@ -12,7 +12,7 @@ import (
rtspformat "github.com/bluenviron/gortsplib/v5/pkg/format"
"github.com/bluenviron/mediacommon/v2/pkg/codecs/mpeg4audio"
"github.com/bluenviron/mediacommon/v2/pkg/formats/fmp4"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mp4"
mcodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mp4/codecs"
"github.com/stretchr/testify/require"
"github.com/bluenviron/mediamtx/internal/conf"
@@ -242,7 +242,7 @@ func TestRecorder(t *testing.T) {
{
ID: 1,
TimeScale: 90000,
Codec: &mp4.CodecH264{
Codec: &mcodecs.H264{
SPS: test.FormatH264.SPS,
PPS: test.FormatH264.PPS,
},
@@ -250,7 +250,7 @@ func TestRecorder(t *testing.T) {
{
ID: 2,
TimeScale: 90000,
Codec: &mp4.CodecH265{
Codec: &mcodecs.H265{
VPS: []byte{
0x40, 0x01, 0x0c, 0x01, 0xff, 0xff, 0x01, 0x60,
0x00, 0x00, 0x03, 0x00, 0x90, 0x00, 0x00, 0x03,
@@ -272,7 +272,7 @@ func TestRecorder(t *testing.T) {
{
ID: 3,
TimeScale: 44100,
Codec: &mp4.CodecMPEG4Audio{
Codec: &mcodecs.MPEG4Audio{
Config: mpeg4audio.AudioSpecificConfig{
Type: 2,
SampleRate: 44100,
@@ -283,7 +283,7 @@ func TestRecorder(t *testing.T) {
{
ID: 4,
TimeScale: 8000,
Codec: &mp4.CodecLPCM{
Codec: &mcodecs.LPCM{
BitDepth: 16,
SampleRate: 8000,
ChannelCount: 1,
@@ -292,7 +292,7 @@ func TestRecorder(t *testing.T) {
{
ID: 5,
TimeScale: 44100,
Codec: &mp4.CodecLPCM{
Codec: &mcodecs.LPCM{
BitDepth: 16,
SampleRate: 44100,
ChannelCount: 2,
+3 -2
View File
@@ -7,6 +7,7 @@ import (
"github.com/bluenviron/gortsplib/v5/pkg/description"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
"github.com/bluenviron/mediamtx/internal/conf"
"github.com/bluenviron/mediamtx/internal/defs"
"github.com/bluenviron/mediamtx/internal/externalcmd"
@@ -105,7 +106,7 @@ func TestServerPublish(t *testing.T) {
defer publisher.Close()
track := &mpegts.Track{
Codec: &mpegts.CodecH264{},
Codec: &tscodecs.H264{},
}
bw := bufio.NewWriter(publisher)
@@ -228,7 +229,7 @@ func TestServerRead(t *testing.T) {
require.Equal(t, []*mpegts.Track{{
PID: 256,
Codec: &mpegts.CodecH264{},
Codec: &tscodecs.H264{},
}}, r.Tracks())
received := false
+3 -2
View File
@@ -8,6 +8,7 @@ import (
"github.com/bluenviron/mediacommon/v2/pkg/codecs/mpeg4audio"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
"github.com/stretchr/testify/require"
"github.com/bluenviron/mediamtx/internal/conf"
@@ -17,11 +18,11 @@ import (
func TestSource(t *testing.T) {
track1 := &mpegts.Track{
Codec: &mpegts.CodecH264{},
Codec: &tscodecs.H264{},
}
track2 := &mpegts.Track{
Codec: &mpegts.CodecMPEG4Audio{
Codec: &tscodecs.MPEG4Audio{
Config: mpeg4audio.AudioSpecificConfig{
Type: 2,
SampleRate: 44100,
+3 -2
View File
@@ -9,6 +9,7 @@ import (
"time"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
"github.com/stretchr/testify/require"
"github.com/bluenviron/mediamtx/internal/conf"
@@ -113,7 +114,7 @@ func TestSourceUDP(t *testing.T) {
defer conn.Close() //nolint:errcheck
track := &mpegts.Track{
Codec: &mpegts.CodecH264{},
Codec: &tscodecs.H264{},
}
w := &mpegts.Writer{W: conn, Tracks: []*mpegts.Track{track}}
@@ -185,7 +186,7 @@ func TestSourceUnixSocket(t *testing.T) {
require.NoError(t, err)
track := &mpegts.Track{
Codec: &mpegts.CodecH264{},
Codec: &tscodecs.H264{},
}
w := &mpegts.Writer{W: conn, Tracks: []*mpegts.Track{track}}
+2 -1
View File
@@ -6,6 +6,7 @@ import (
"time"
"github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts"
tscodecs "github.com/bluenviron/mediacommon/v2/pkg/formats/mpegts/codecs"
srt "github.com/datarhei/gosrt"
"github.com/stretchr/testify/require"
@@ -56,7 +57,7 @@ func TestSource(t *testing.T) {
require.NoError(t, err2)
defer conn.Close()
track := &mpegts.Track{Codec: &mpegts.CodecH264{}}
track := &mpegts.Track{Codec: &tscodecs.H264{}}
w := &mpegts.Writer{W: conn, Tracks: []*mpegts.Track{track}}
err2 = w.Initialize()