diff --git a/examples/server-h264-save-to-disk/main.go b/examples/server-h264-save-to-disk/main.go index 79aabc1b..b80a196a 100644 --- a/examples/server-h264-save-to-disk/main.go +++ b/examples/server-h264-save-to-disk/main.go @@ -7,7 +7,7 @@ import ( "github.com/aler9/gortsplib" "github.com/aler9/gortsplib/pkg/base" - "github.com/aler9/gortsplib/pkg/rtph264" + "github.com/aler9/gortsplib/pkg/rtpcodecs/rtph264" ) // This example shows how to @@ -79,10 +79,7 @@ func (sh *serverHandler) OnAnnounce(ctx *gortsplib.ServerHandlerOnAnnounceCtx) ( } // setup RTP/H264->H264 decoder - rtpDec := &rtph264.Decoder{ - PacketizationMode: h264track.PacketizationMode, - } - rtpDec.Init() + rtpDec := h264track.CreateDecoder() // setup H264->MPEGTS muxer mpegtsMuxer, err := newMPEGTSMuxer(h264track.SafeSPS(), h264track.SafePPS()) diff --git a/pkg/rtpcodecs/rtpcodecs.go b/pkg/rtpcodecs/rtpcodecs.go new file mode 100644 index 00000000..7f5e3a35 --- /dev/null +++ b/pkg/rtpcodecs/rtpcodecs.go @@ -0,0 +1,2 @@ +// Package rtpcodecs contains utilities to convert codec-specific elements from/to RTP packets. +package rtpcodecs diff --git a/pkg/rtph264/decoder.go b/pkg/rtpcodecs/rtph264/decoder.go similarity index 100% rename from pkg/rtph264/decoder.go rename to pkg/rtpcodecs/rtph264/decoder.go diff --git a/pkg/rtph264/decoder_test.go b/pkg/rtpcodecs/rtph264/decoder_test.go similarity index 100% rename from pkg/rtph264/decoder_test.go rename to pkg/rtpcodecs/rtph264/decoder_test.go diff --git a/pkg/rtph264/encoder.go b/pkg/rtpcodecs/rtph264/encoder.go similarity index 100% rename from pkg/rtph264/encoder.go rename to pkg/rtpcodecs/rtph264/encoder.go diff --git a/pkg/rtph264/encoder_test.go b/pkg/rtpcodecs/rtph264/encoder_test.go similarity index 100% rename from pkg/rtph264/encoder_test.go rename to pkg/rtpcodecs/rtph264/encoder_test.go diff --git a/pkg/rtph264/nalutype.go b/pkg/rtpcodecs/rtph264/nalutype.go similarity index 100% rename from pkg/rtph264/nalutype.go rename to pkg/rtpcodecs/rtph264/nalutype.go diff --git a/pkg/rtph264/nalutype_test.go b/pkg/rtpcodecs/rtph264/nalutype_test.go similarity index 100% rename from pkg/rtph264/nalutype_test.go rename to pkg/rtpcodecs/rtph264/nalutype_test.go diff --git a/pkg/rtph264/rtph264.go b/pkg/rtpcodecs/rtph264/rtph264.go similarity index 100% rename from pkg/rtph264/rtph264.go rename to pkg/rtpcodecs/rtph264/rtph264.go diff --git a/pkg/rtph265/decoder.go b/pkg/rtpcodecs/rtph265/decoder.go similarity index 100% rename from pkg/rtph265/decoder.go rename to pkg/rtpcodecs/rtph265/decoder.go diff --git a/pkg/rtph265/decoder_test.go b/pkg/rtpcodecs/rtph265/decoder_test.go similarity index 100% rename from pkg/rtph265/decoder_test.go rename to pkg/rtpcodecs/rtph265/decoder_test.go diff --git a/pkg/rtph265/encoder.go b/pkg/rtpcodecs/rtph265/encoder.go similarity index 100% rename from pkg/rtph265/encoder.go rename to pkg/rtpcodecs/rtph265/encoder.go diff --git a/pkg/rtph265/encoder_test.go b/pkg/rtpcodecs/rtph265/encoder_test.go similarity index 100% rename from pkg/rtph265/encoder_test.go rename to pkg/rtpcodecs/rtph265/encoder_test.go diff --git a/pkg/rtph265/rtph265.go b/pkg/rtpcodecs/rtph265/rtph265.go similarity index 100% rename from pkg/rtph265/rtph265.go rename to pkg/rtpcodecs/rtph265/rtph265.go diff --git a/pkg/rtplpcm/decoder.go b/pkg/rtpcodecs/rtplpcm/decoder.go similarity index 100% rename from pkg/rtplpcm/decoder.go rename to pkg/rtpcodecs/rtplpcm/decoder.go diff --git a/pkg/rtplpcm/decoder_test.go b/pkg/rtpcodecs/rtplpcm/decoder_test.go similarity index 100% rename from pkg/rtplpcm/decoder_test.go rename to pkg/rtpcodecs/rtplpcm/decoder_test.go diff --git a/pkg/rtplpcm/encoder.go b/pkg/rtpcodecs/rtplpcm/encoder.go similarity index 100% rename from pkg/rtplpcm/encoder.go rename to pkg/rtpcodecs/rtplpcm/encoder.go diff --git a/pkg/rtplpcm/encoder_test.go b/pkg/rtpcodecs/rtplpcm/encoder_test.go similarity index 100% rename from pkg/rtplpcm/encoder_test.go rename to pkg/rtpcodecs/rtplpcm/encoder_test.go diff --git a/pkg/rtplpcm/rtpsimpleaudio.go b/pkg/rtpcodecs/rtplpcm/rtpsimpleaudio.go similarity index 100% rename from pkg/rtplpcm/rtpsimpleaudio.go rename to pkg/rtpcodecs/rtplpcm/rtpsimpleaudio.go diff --git a/pkg/rtpmpeg4audio/decoder.go b/pkg/rtpcodecs/rtpmpeg4audio/decoder.go similarity index 100% rename from pkg/rtpmpeg4audio/decoder.go rename to pkg/rtpcodecs/rtpmpeg4audio/decoder.go diff --git a/pkg/rtpmpeg4audio/decoder_test.go b/pkg/rtpcodecs/rtpmpeg4audio/decoder_test.go similarity index 100% rename from pkg/rtpmpeg4audio/decoder_test.go rename to pkg/rtpcodecs/rtpmpeg4audio/decoder_test.go diff --git a/pkg/rtpmpeg4audio/encoder.go b/pkg/rtpcodecs/rtpmpeg4audio/encoder.go similarity index 100% rename from pkg/rtpmpeg4audio/encoder.go rename to pkg/rtpcodecs/rtpmpeg4audio/encoder.go diff --git a/pkg/rtpmpeg4audio/encoder_test.go b/pkg/rtpcodecs/rtpmpeg4audio/encoder_test.go similarity index 100% rename from pkg/rtpmpeg4audio/encoder_test.go rename to pkg/rtpcodecs/rtpmpeg4audio/encoder_test.go diff --git a/pkg/rtpmpeg4audio/rtpmpeg4audio.go b/pkg/rtpcodecs/rtpmpeg4audio/rtpmpeg4audio.go similarity index 100% rename from pkg/rtpmpeg4audio/rtpmpeg4audio.go rename to pkg/rtpcodecs/rtpmpeg4audio/rtpmpeg4audio.go diff --git a/pkg/rtpsimpleaudio/decoder.go b/pkg/rtpcodecs/rtpsimpleaudio/decoder.go similarity index 100% rename from pkg/rtpsimpleaudio/decoder.go rename to pkg/rtpcodecs/rtpsimpleaudio/decoder.go diff --git a/pkg/rtpsimpleaudio/decoder_test.go b/pkg/rtpcodecs/rtpsimpleaudio/decoder_test.go similarity index 100% rename from pkg/rtpsimpleaudio/decoder_test.go rename to pkg/rtpcodecs/rtpsimpleaudio/decoder_test.go diff --git a/pkg/rtpsimpleaudio/encoder.go b/pkg/rtpcodecs/rtpsimpleaudio/encoder.go similarity index 100% rename from pkg/rtpsimpleaudio/encoder.go rename to pkg/rtpcodecs/rtpsimpleaudio/encoder.go diff --git a/pkg/rtpsimpleaudio/encoder_test.go b/pkg/rtpcodecs/rtpsimpleaudio/encoder_test.go similarity index 100% rename from pkg/rtpsimpleaudio/encoder_test.go rename to pkg/rtpcodecs/rtpsimpleaudio/encoder_test.go diff --git a/pkg/rtpsimpleaudio/rtpsimpleaudio.go b/pkg/rtpcodecs/rtpsimpleaudio/rtpsimpleaudio.go similarity index 100% rename from pkg/rtpsimpleaudio/rtpsimpleaudio.go rename to pkg/rtpcodecs/rtpsimpleaudio/rtpsimpleaudio.go diff --git a/pkg/rtpvp8/decoder.go b/pkg/rtpcodecs/rtpvp8/decoder.go similarity index 100% rename from pkg/rtpvp8/decoder.go rename to pkg/rtpcodecs/rtpvp8/decoder.go diff --git a/pkg/rtpvp8/decoder_test.go b/pkg/rtpcodecs/rtpvp8/decoder_test.go similarity index 100% rename from pkg/rtpvp8/decoder_test.go rename to pkg/rtpcodecs/rtpvp8/decoder_test.go diff --git a/pkg/rtpvp8/encoder.go b/pkg/rtpcodecs/rtpvp8/encoder.go similarity index 100% rename from pkg/rtpvp8/encoder.go rename to pkg/rtpcodecs/rtpvp8/encoder.go diff --git a/pkg/rtpvp8/encoder_test.go b/pkg/rtpcodecs/rtpvp8/encoder_test.go similarity index 100% rename from pkg/rtpvp8/encoder_test.go rename to pkg/rtpcodecs/rtpvp8/encoder_test.go diff --git a/pkg/rtpvp8/rtpvp8.go b/pkg/rtpcodecs/rtpvp8/rtpvp8.go similarity index 100% rename from pkg/rtpvp8/rtpvp8.go rename to pkg/rtpcodecs/rtpvp8/rtpvp8.go diff --git a/pkg/rtpvp9/decoder.go b/pkg/rtpcodecs/rtpvp9/decoder.go similarity index 100% rename from pkg/rtpvp9/decoder.go rename to pkg/rtpcodecs/rtpvp9/decoder.go diff --git a/pkg/rtpvp9/decoder_test.go b/pkg/rtpcodecs/rtpvp9/decoder_test.go similarity index 100% rename from pkg/rtpvp9/decoder_test.go rename to pkg/rtpcodecs/rtpvp9/decoder_test.go diff --git a/pkg/rtpvp9/encoder.go b/pkg/rtpcodecs/rtpvp9/encoder.go similarity index 100% rename from pkg/rtpvp9/encoder.go rename to pkg/rtpcodecs/rtpvp9/encoder.go diff --git a/pkg/rtpvp9/encoder_test.go b/pkg/rtpcodecs/rtpvp9/encoder_test.go similarity index 100% rename from pkg/rtpvp9/encoder_test.go rename to pkg/rtpcodecs/rtpvp9/encoder_test.go diff --git a/pkg/rtpvp9/rtpvp9.go b/pkg/rtpcodecs/rtpvp9/rtpvp9.go similarity index 100% rename from pkg/rtpvp9/rtpvp9.go rename to pkg/rtpcodecs/rtpvp9/rtpvp9.go diff --git a/track_g722.go b/track_g722.go index 0492ec3e..95800f45 100644 --- a/track_g722.go +++ b/track_g722.go @@ -6,7 +6,7 @@ import ( psdp "github.com/pion/sdp/v3" - "github.com/aler9/gortsplib/pkg/rtpsimpleaudio" + "github.com/aler9/gortsplib/pkg/rtpcodecs/rtpsimpleaudio" ) // TrackG722 is a G722 track. diff --git a/track_h264.go b/track_h264.go index d287ae48..6c23bd4d 100644 --- a/track_h264.go +++ b/track_h264.go @@ -10,7 +10,7 @@ import ( psdp "github.com/pion/sdp/v3" - "github.com/aler9/gortsplib/pkg/rtph264" + "github.com/aler9/gortsplib/pkg/rtpcodecs/rtph264" ) // TrackH264 is a H264 track. diff --git a/track_h265.go b/track_h265.go index 03419d3a..b235c093 100644 --- a/track_h265.go +++ b/track_h265.go @@ -9,7 +9,7 @@ import ( psdp "github.com/pion/sdp/v3" - "github.com/aler9/gortsplib/pkg/rtph265" + "github.com/aler9/gortsplib/pkg/rtpcodecs/rtph265" ) // TrackH265 is a H265 track. diff --git a/track_lpcm.go b/track_lpcm.go index 13de6703..90131dd4 100644 --- a/track_lpcm.go +++ b/track_lpcm.go @@ -7,7 +7,7 @@ import ( psdp "github.com/pion/sdp/v3" - "github.com/aler9/gortsplib/pkg/rtplpcm" + "github.com/aler9/gortsplib/pkg/rtpcodecs/rtplpcm" ) // TrackLPCM is an uncompressed, Linear PCM track. diff --git a/track_mpeg4audio.go b/track_mpeg4audio.go index 5a75e023..8b3d0ea8 100644 --- a/track_mpeg4audio.go +++ b/track_mpeg4audio.go @@ -9,7 +9,7 @@ import ( psdp "github.com/pion/sdp/v3" "github.com/aler9/gortsplib/pkg/mpeg4audio" - "github.com/aler9/gortsplib/pkg/rtpmpeg4audio" + "github.com/aler9/gortsplib/pkg/rtpcodecs/rtpmpeg4audio" ) // TrackMPEG4Audio is a MPEG-4 audio track. diff --git a/track_opus.go b/track_opus.go index 445fc14b..082d8c2b 100644 --- a/track_opus.go +++ b/track_opus.go @@ -7,7 +7,7 @@ import ( psdp "github.com/pion/sdp/v3" - "github.com/aler9/gortsplib/pkg/rtpsimpleaudio" + "github.com/aler9/gortsplib/pkg/rtpcodecs/rtpsimpleaudio" ) // TrackOpus is a Opus track. diff --git a/track_pcma.go b/track_pcma.go index c4212bbe..c520795f 100644 --- a/track_pcma.go +++ b/track_pcma.go @@ -6,7 +6,7 @@ import ( psdp "github.com/pion/sdp/v3" - "github.com/aler9/gortsplib/pkg/rtpsimpleaudio" + "github.com/aler9/gortsplib/pkg/rtpcodecs/rtpsimpleaudio" ) // TrackPCMA is a PCMA track. diff --git a/track_pcmu.go b/track_pcmu.go index dced7677..beb8e1e1 100644 --- a/track_pcmu.go +++ b/track_pcmu.go @@ -6,7 +6,7 @@ import ( psdp "github.com/pion/sdp/v3" - "github.com/aler9/gortsplib/pkg/rtpsimpleaudio" + "github.com/aler9/gortsplib/pkg/rtpcodecs/rtpsimpleaudio" ) // TrackPCMU is a PCMU track. diff --git a/track_vp8.go b/track_vp8.go index 0ad0abaa..07e687cd 100644 --- a/track_vp8.go +++ b/track_vp8.go @@ -7,7 +7,7 @@ import ( psdp "github.com/pion/sdp/v3" - "github.com/aler9/gortsplib/pkg/rtpvp8" + "github.com/aler9/gortsplib/pkg/rtpcodecs/rtpvp8" ) // TrackVP8 is a VP8 track. diff --git a/track_vp9.go b/track_vp9.go index 69a89d69..e528f9cd 100644 --- a/track_vp9.go +++ b/track_vp9.go @@ -7,7 +7,7 @@ import ( psdp "github.com/pion/sdp/v3" - "github.com/aler9/gortsplib/pkg/rtpvp9" + "github.com/aler9/gortsplib/pkg/rtpcodecs/rtpvp9" ) // TrackVP9 is a VP9 track.