mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 07:06:58 +08:00
rename pkg/formats into pkt/format
This commit is contained in:
38
README.md
38
README.md
@@ -102,35 +102,35 @@ In RTSP, media streams are routed between server and clients by using RTP packet
|
||||
|
||||
|format / codec|variant|documentation|encoder and decoder available|
|
||||
|--------------|-------|-------------|-----------------------------|
|
||||
|AV1||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#AV1)|:heavy_check_mark:|
|
||||
|VP9||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#VP9)|:heavy_check_mark:|
|
||||
|VP8||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#VP8)|:heavy_check_mark:|
|
||||
|H265||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#H265)|:heavy_check_mark:|
|
||||
|H264||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#H264)|:heavy_check_mark:|
|
||||
|MPEG-4 Video (H263, Xvid)||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#MPEG4VideoES)|:heavy_check_mark:|
|
||||
|MPEG-1/2 Video||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#MPEG1Video)||
|
||||
|M-JPEG||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#MJPEG)|:heavy_check_mark:|
|
||||
|AV1||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#AV1)|:heavy_check_mark:|
|
||||
|VP9||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#VP9)|:heavy_check_mark:|
|
||||
|VP8||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#VP8)|:heavy_check_mark:|
|
||||
|H265||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#H265)|:heavy_check_mark:|
|
||||
|H264||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#H264)|:heavy_check_mark:|
|
||||
|MPEG-4 Video (H263, Xvid)||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#MPEG4VideoES)|:heavy_check_mark:|
|
||||
|MPEG-1/2 Video||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#MPEG1Video)||
|
||||
|M-JPEG||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#MJPEG)|:heavy_check_mark:|
|
||||
|
||||
### Audio
|
||||
|
||||
|format / codec|variant|documentation|encoder and decoder available|
|
||||
|--------------|-------|-------------|-----------------------------|
|
||||
|Opus||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#Opus)|:heavy_check_mark:|
|
||||
|Vorbis||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#Vorbis)||
|
||||
|MPEG-4 Audio (AAC)|Generic (RFC3640)|[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#MPEG4AudioGeneric)|:heavy_check_mark:|
|
||||
|MPEG-4 Audio (AAC)|LATM (RFC6416)|[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#MPEG4AudioLATM)|:heavy_check_mark:|
|
||||
|MPEG-1/2 Audio (MP3)||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#MPEG1Audio)|:heavy_check_mark:|
|
||||
|Speex||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#Speex)||
|
||||
|G726||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#G726)||
|
||||
|G722||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#G722)|:heavy_check_mark:|
|
||||
|G711 (PCMA, PCMU)||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#G711)|:heavy_check_mark:|
|
||||
|LPCM||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#LPCM)|:heavy_check_mark:|
|
||||
|Opus||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#Opus)|:heavy_check_mark:|
|
||||
|Vorbis||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#Vorbis)||
|
||||
|MPEG-4 Audio (AAC)|Generic (RFC3640)|[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#MPEG4AudioGeneric)|:heavy_check_mark:|
|
||||
|MPEG-4 Audio (AAC)|LATM (RFC6416)|[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#MPEG4AudioLATM)|:heavy_check_mark:|
|
||||
|MPEG-1/2 Audio (MP3)||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#MPEG1Audio)|:heavy_check_mark:|
|
||||
|Speex||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#Speex)||
|
||||
|G726||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#G726)||
|
||||
|G722||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#G722)|:heavy_check_mark:|
|
||||
|G711 (PCMA, PCMU)||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#G711)|:heavy_check_mark:|
|
||||
|LPCM||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#LPCM)|:heavy_check_mark:|
|
||||
|
||||
### Mixed
|
||||
|
||||
|format / codec|variant|documentation|encoder and decoder available|
|
||||
|--------------|-------|-------------|-----------------------------|
|
||||
|MPEG-TS||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/formats#MPEGTS)||
|
||||
|MPEG-TS||[link](https://pkg.go.dev/github.com/bluenviron/gortsplib/v4/pkg/format#MPEGTS)||
|
||||
|
||||
## Standards
|
||||
|
||||
|
@@ -23,7 +23,7 @@ import (
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/base"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/bytecounter"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/conn"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/headers"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/liberrors"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
@@ -199,7 +199,7 @@ type ClientOnDecodeErrorFunc func(err error)
|
||||
type OnPacketRTPFunc func(*rtp.Packet)
|
||||
|
||||
// OnPacketRTPAnyFunc is the prototype of the callback passed to OnPacketRTP(Any).
|
||||
type OnPacketRTPAnyFunc func(*media.Media, formats.Format, *rtp.Packet)
|
||||
type OnPacketRTPAnyFunc func(*media.Media, format.Format, *rtp.Packet)
|
||||
|
||||
// OnPacketRTCPFunc is the prototype of the callback passed to OnPacketRTCP().
|
||||
type OnPacketRTCPFunc func(rtcp.Packet)
|
||||
@@ -1639,7 +1639,7 @@ func (c *Client) OnPacketRTCPAny(cb OnPacketRTCPAnyFunc) {
|
||||
}
|
||||
|
||||
// OnPacketRTP sets the callback that is called when a RTP packet is read.
|
||||
func (c *Client) OnPacketRTP(medi *media.Media, forma formats.Format, cb OnPacketRTPFunc) {
|
||||
func (c *Client) OnPacketRTP(medi *media.Media, forma format.Format, cb OnPacketRTPFunc) {
|
||||
cm := c.medias[medi]
|
||||
ct := cm.formats[forma.PayloadType()]
|
||||
ct.onPacketRTP = cb
|
||||
|
@@ -7,7 +7,7 @@ import (
|
||||
"github.com/pion/rtcp"
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/rtcpreceiver"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/rtcpsender"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/rtplossdetector"
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
|
||||
type clientFormat struct {
|
||||
cm *clientMedia
|
||||
format formats.Format
|
||||
format format.Format
|
||||
udpReorderer *rtpreorderer.Reorderer // play
|
||||
udpRTCPReceiver *rtcpreceiver.RTCPReceiver // play
|
||||
tcpLossDetector *rtplossdetector.LossDetector // play
|
||||
@@ -24,7 +24,7 @@ type clientFormat struct {
|
||||
onPacketRTP OnPacketRTPFunc
|
||||
}
|
||||
|
||||
func newClientFormat(cm *clientMedia, forma formats.Format) *clientFormat {
|
||||
func newClientFormat(cm *clientMedia, forma format.Format) *clientFormat {
|
||||
return &clientFormat{
|
||||
cm: cm,
|
||||
format: forma,
|
||||
|
@@ -18,7 +18,7 @@ import (
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/auth"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/base"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/conn"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/headers"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
@@ -38,7 +38,7 @@ func mustMarshalMedias(medias media.Medias) []byte {
|
||||
return byts
|
||||
}
|
||||
|
||||
func readAll(c *Client, ur string, cb func(*media.Media, formats.Format, *rtp.Packet)) error {
|
||||
func readAll(c *Client, ur string, cb func(*media.Media, format.Format, *rtp.Packet)) error {
|
||||
u, err := url.Parse(ur)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -79,7 +79,7 @@ func TestClientPlayFormats(t *testing.T) {
|
||||
|
||||
media2 := &media.Media{
|
||||
Type: media.TypeAudio,
|
||||
Formats: []formats.Format{&formats.MPEG4Audio{
|
||||
Formats: []format.Format{&format.MPEG4Audio{
|
||||
PayloadTyp: 96,
|
||||
Config: &mpeg4audio.Config{
|
||||
Type: mpeg4audio.ObjectTypeAACLC,
|
||||
@@ -94,7 +94,7 @@ func TestClientPlayFormats(t *testing.T) {
|
||||
|
||||
media3 := &media.Media{
|
||||
Type: media.TypeAudio,
|
||||
Formats: []formats.Format{&formats.MPEG4Audio{
|
||||
Formats: []format.Format{&format.MPEG4Audio{
|
||||
PayloadTyp: 96,
|
||||
Config: &mpeg4audio.Config{
|
||||
Type: mpeg4audio.ObjectTypeAACLC,
|
||||
@@ -271,7 +271,7 @@ func TestClientPlay(t *testing.T) {
|
||||
require.Equal(t, base.Describe, req.Method)
|
||||
require.Equal(t, mustParseURL(scheme+"://"+listenIP+":8554/test/stream?param=value"), req.URL)
|
||||
|
||||
forma := &formats.Generic{
|
||||
forma := &format.Generic{
|
||||
PayloadTyp: 96,
|
||||
RTPMa: "private/90000",
|
||||
}
|
||||
@@ -281,11 +281,11 @@ func TestClientPlay(t *testing.T) {
|
||||
medias := media.Medias{
|
||||
&media.Media{
|
||||
Type: "application",
|
||||
Formats: []formats.Format{forma},
|
||||
Formats: []format.Format{forma},
|
||||
},
|
||||
&media.Media{
|
||||
Type: "application",
|
||||
Formats: []formats.Format{forma},
|
||||
Formats: []format.Format{forma},
|
||||
},
|
||||
}
|
||||
resetMediaControls(medias)
|
||||
@@ -496,7 +496,7 @@ func TestClientPlay(t *testing.T) {
|
||||
err = c.SetupAll(medias, baseURL)
|
||||
require.NoError(t, err)
|
||||
|
||||
c.OnPacketRTPAny(func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
c.OnPacketRTPAny(func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
require.Equal(t, &testRTPPacket, pkt)
|
||||
err := c.WritePacketRTCP(medi, &testRTCPPacket)
|
||||
require.NoError(t, err)
|
||||
@@ -547,7 +547,7 @@ func TestClientPlayPartial(t *testing.T) {
|
||||
require.Equal(t, base.Describe, req.Method)
|
||||
require.Equal(t, mustParseURL("rtsp://"+listenIP+":8554/teststream"), req.URL)
|
||||
|
||||
forma := &formats.Generic{
|
||||
forma := &format.Generic{
|
||||
PayloadTyp: 96,
|
||||
RTPMa: "private/90000",
|
||||
}
|
||||
@@ -557,11 +557,11 @@ func TestClientPlayPartial(t *testing.T) {
|
||||
medias := media.Medias{
|
||||
&media.Media{
|
||||
Type: "application",
|
||||
Formats: []formats.Format{forma},
|
||||
Formats: []format.Format{forma},
|
||||
},
|
||||
&media.Media{
|
||||
Type: "application",
|
||||
Formats: []formats.Format{forma},
|
||||
Formats: []format.Format{forma},
|
||||
},
|
||||
}
|
||||
resetMediaControls(medias)
|
||||
@@ -652,7 +652,7 @@ func TestClientPlayPartial(t *testing.T) {
|
||||
_, err = c.Setup(medias[1], baseURL, 0, 0)
|
||||
require.NoError(t, err)
|
||||
|
||||
c.OnPacketRTPAny(func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
c.OnPacketRTPAny(func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
require.Equal(t, medias[1], medi)
|
||||
require.Equal(t, medias[1].Formats[0], forma)
|
||||
require.Equal(t, &testRTPPacket, pkt)
|
||||
@@ -937,7 +937,7 @@ func TestClientPlayAnyPort(t *testing.T) {
|
||||
|
||||
var med *media.Media
|
||||
err = readAll(&c, "rtsp://localhost:8554/teststream",
|
||||
func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
require.Equal(t, &testRTPPacket, pkt)
|
||||
med = medi
|
||||
close(packetRecv)
|
||||
@@ -1065,7 +1065,7 @@ func TestClientPlayAutomaticProtocol(t *testing.T) {
|
||||
}
|
||||
|
||||
err = readAll(&c, "rtsp://localhost:8554/teststream",
|
||||
func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
close(packetRecv)
|
||||
})
|
||||
require.NoError(t, err)
|
||||
@@ -1245,7 +1245,7 @@ func TestClientPlayAutomaticProtocol(t *testing.T) {
|
||||
}
|
||||
|
||||
err = readAll(&c, "rtsp://localhost:8554/teststream",
|
||||
func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
close(packetRecv)
|
||||
})
|
||||
require.NoError(t, err)
|
||||
@@ -1486,7 +1486,7 @@ func TestClientPlayAutomaticProtocol(t *testing.T) {
|
||||
}
|
||||
|
||||
err = readAll(&c, "rtsp://myuser:mypass@localhost:8554/teststream",
|
||||
func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
close(packetRecv)
|
||||
})
|
||||
require.NoError(t, err)
|
||||
@@ -1609,7 +1609,7 @@ func TestClientPlayDifferentInterleavedIDs(t *testing.T) {
|
||||
}
|
||||
|
||||
err = readAll(&c, "rtsp://localhost:8554/teststream",
|
||||
func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
close(packetRecv)
|
||||
})
|
||||
require.NoError(t, err)
|
||||
@@ -1797,7 +1797,7 @@ func TestClientPlayRedirect(t *testing.T) {
|
||||
ru = "rtsp://testusr:testpwd@localhost:8554/path1"
|
||||
}
|
||||
err = readAll(&c, ru,
|
||||
func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
close(packetRecv)
|
||||
})
|
||||
require.NoError(t, err)
|
||||
@@ -1999,7 +1999,7 @@ func TestClientPlayPause(t *testing.T) {
|
||||
}
|
||||
|
||||
err = readAll(&c, "rtsp://localhost:8554/teststream",
|
||||
func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
if atomic.SwapInt32(&firstFrame, 1) == 0 {
|
||||
close(packetRecv)
|
||||
}
|
||||
@@ -2464,7 +2464,7 @@ func TestClientPlayIgnoreTCPInvalidMedia(t *testing.T) {
|
||||
}
|
||||
|
||||
err = readAll(&c, "rtsp://localhost:8554/teststream",
|
||||
func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
close(recv)
|
||||
})
|
||||
require.NoError(t, err)
|
||||
@@ -2877,7 +2877,7 @@ func TestClientPlayDifferentSource(t *testing.T) {
|
||||
}
|
||||
|
||||
err = readAll(&c, "rtsp://localhost:8554/test/stream?param=value",
|
||||
func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
require.Equal(t, &testRTPPacket, pkt)
|
||||
close(packetRecv)
|
||||
})
|
||||
@@ -2941,7 +2941,7 @@ func TestClientPlayDecodeErrors(t *testing.T) {
|
||||
|
||||
medias := media.Medias{&media.Media{
|
||||
Type: media.TypeApplication,
|
||||
Formats: []formats.Format{&formats.Generic{
|
||||
Formats: []format.Format{&format.Generic{
|
||||
PayloadTyp: 97,
|
||||
RTPMa: "private/90000",
|
||||
}},
|
||||
|
@@ -14,7 +14,7 @@ import (
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/base"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/conn"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/headers"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/sdp"
|
||||
@@ -23,7 +23,7 @@ import (
|
||||
|
||||
var testH264Media = &media.Media{
|
||||
Type: media.TypeVideo,
|
||||
Formats: []formats.Format{&formats.H264{
|
||||
Formats: []format.Format{&format.H264{
|
||||
PayloadTyp: 96,
|
||||
SPS: []byte{0x01, 0x02, 0x03, 0x04},
|
||||
PPS: []byte{0x01, 0x02, 0x03, 0x04},
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"net"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -38,7 +38,7 @@ func main() {
|
||||
// create a media that contains a G711 format
|
||||
medi := &media.Media{
|
||||
Type: media.TypeAudio,
|
||||
Formats: []formats.Format{&formats.G711{}},
|
||||
Formats: []format.Format{&format.G711{}},
|
||||
}
|
||||
|
||||
c := gortsplib.Client{}
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"net"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -38,7 +38,7 @@ func main() {
|
||||
// create a media that contains a G722 format
|
||||
medi := &media.Media{
|
||||
Type: media.TypeAudio,
|
||||
Formats: []formats.Format{&formats.G722{}},
|
||||
Formats: []format.Format{&format.G722{}},
|
||||
}
|
||||
|
||||
c := gortsplib.Client{}
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"net"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -40,7 +40,7 @@ func main() {
|
||||
// create a media that contains a H264 format
|
||||
medi := &media.Media{
|
||||
Type: media.TypeVideo,
|
||||
Formats: []formats.Format{&formats.H264{
|
||||
Formats: []format.Format{&format.H264{
|
||||
PayloadTyp: 96,
|
||||
PacketizationMode: 1,
|
||||
}},
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"net"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -39,7 +39,7 @@ func main() {
|
||||
// create a media that contains a H265 format
|
||||
medi := &media.Media{
|
||||
Type: media.TypeVideo,
|
||||
Formats: []formats.Format{&formats.H265{
|
||||
Formats: []format.Format{&format.H265{
|
||||
PayloadTyp: 96,
|
||||
}},
|
||||
}
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"net"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -38,7 +38,7 @@ func main() {
|
||||
// create a media that contains a LPCM format
|
||||
medi := &media.Media{
|
||||
Type: media.TypeAudio,
|
||||
Formats: []formats.Format{&formats.LPCM{
|
||||
Formats: []format.Format{&format.LPCM{
|
||||
PayloadTyp: 96,
|
||||
BitDepth: 16,
|
||||
SampleRate: 44100,
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"net"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -38,7 +38,7 @@ func main() {
|
||||
// create a media that contains a M-JPEG format
|
||||
medi := &media.Media{
|
||||
Type: media.TypeVideo,
|
||||
Formats: []formats.Format{&formats.MJPEG{}},
|
||||
Formats: []format.Format{&format.MJPEG{}},
|
||||
}
|
||||
|
||||
// connect to the server and start recording the media
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"net"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio"
|
||||
"github.com/pion/rtp"
|
||||
@@ -39,7 +39,7 @@ func main() {
|
||||
// create a media that contains a MPEG4-audio format
|
||||
medi := &media.Media{
|
||||
Type: media.TypeAudio,
|
||||
Formats: []formats.Format{&formats.MPEG4Audio{
|
||||
Formats: []format.Format{&format.MPEG4Audio{
|
||||
PayloadTyp: 96,
|
||||
Config: &mpeg4audio.Config{
|
||||
Type: mpeg4audio.ObjectTypeAACLC,
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"net"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -38,7 +38,7 @@ func main() {
|
||||
// create a media that contains a Opus format
|
||||
medi := &media.Media{
|
||||
Type: media.TypeAudio,
|
||||
Formats: []formats.Format{&formats.Opus{
|
||||
Formats: []format.Format{&format.Opus{
|
||||
PayloadTyp: 96,
|
||||
IsStereo: false,
|
||||
}},
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"net"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -39,7 +39,7 @@ func main() {
|
||||
// create a media that contains a VP8 format
|
||||
medi := &media.Media{
|
||||
Type: media.TypeVideo,
|
||||
Formats: []formats.Format{&formats.VP8{
|
||||
Formats: []format.Format{&format.VP8{
|
||||
PayloadTyp: 96,
|
||||
}},
|
||||
}
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"net"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -39,7 +39,7 @@ func main() {
|
||||
// create a media that contains a VP9 format
|
||||
medi := &media.Media{
|
||||
Type: media.TypeVideo,
|
||||
Formats: []formats.Format{&formats.VP9{
|
||||
Formats: []format.Format{&format.VP9{
|
||||
PayloadTyp: 96,
|
||||
}},
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -40,7 +40,7 @@ func main() {
|
||||
// create a media that contains a H264 media
|
||||
medi := &media.Media{
|
||||
Type: media.TypeVideo,
|
||||
Formats: []formats.Format{&formats.H264{
|
||||
Formats: []format.Format{&format.H264{
|
||||
PayloadTyp: 96,
|
||||
PacketizationMode: 1,
|
||||
}},
|
||||
|
@@ -6,7 +6,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -41,7 +41,7 @@ func main() {
|
||||
// create a media that contains a H264 format
|
||||
medi := &media.Media{
|
||||
Type: media.TypeVideo,
|
||||
Formats: []formats.Format{&formats.H264{
|
||||
Formats: []format.Format{&format.H264{
|
||||
PayloadTyp: 96,
|
||||
PacketizationMode: 1,
|
||||
}},
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -37,7 +37,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the G711 media and format
|
||||
var forma *formats.G711
|
||||
var forma *format.G711
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -37,7 +37,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the G722 media and format
|
||||
var forma *formats.G722
|
||||
var forma *format.G722
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -9,8 +9,8 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtph264"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtph264"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -64,7 +64,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the H264 media and format
|
||||
var forma *formats.H264
|
||||
var forma *format.H264
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -4,8 +4,8 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtph264"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtph264"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -38,7 +38,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the H264 media and format
|
||||
var forma *formats.H264
|
||||
var forma *format.H264
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -4,8 +4,8 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtph264"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtph264"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -41,7 +41,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the H264 media and format
|
||||
var forma *formats.H264
|
||||
var forma *format.H264
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -4,8 +4,8 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtph265"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtph265"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -38,7 +38,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the H265 media and format
|
||||
var forma *formats.H265
|
||||
var forma *format.H265
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -37,7 +37,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the LPCM media and format
|
||||
var forma *formats.LPCM
|
||||
var forma *format.LPCM
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -6,8 +6,8 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpmjpeg"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpmjpeg"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -41,7 +41,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the M-JPEG media and format
|
||||
var forma *formats.MJPEG
|
||||
var forma *format.MJPEG
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -37,7 +37,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the MPEG4-audio media and format
|
||||
var forma *formats.MPEG4Audio
|
||||
var forma *format.MPEG4Audio
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -37,7 +37,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the MPEG4-audio media and format
|
||||
var forma *formats.MPEG4Audio
|
||||
var forma *format.MPEG4Audio
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -37,7 +37,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the Opus media and format
|
||||
var forma *formats.Opus
|
||||
var forma *format.Opus
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -4,8 +4,8 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpvp8"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpvp8"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -38,7 +38,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the VP8 media and format
|
||||
var forma *formats.VP8
|
||||
var forma *format.VP8
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -4,8 +4,8 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpvp9"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpvp9"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
@@ -38,7 +38,7 @@ func main() {
|
||||
}
|
||||
|
||||
// find the VP9 media and format
|
||||
var forma *formats.VP9
|
||||
var forma *format.VP9
|
||||
medi := medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
panic("media not found")
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtcp"
|
||||
@@ -53,7 +53,7 @@ func main() {
|
||||
}
|
||||
|
||||
// called when a RTP packet arrives
|
||||
c.OnPacketRTPAny(func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
c.OnPacketRTPAny(func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
log.Printf("RTP packet from media %v\n", medi)
|
||||
})
|
||||
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtcp"
|
||||
@@ -47,7 +47,7 @@ func main() {
|
||||
}
|
||||
|
||||
// called when a RTP packet arrives
|
||||
c.OnPacketRTPAny(func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
c.OnPacketRTPAny(func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
log.Printf("RTP packet from media %v\n", medi)
|
||||
})
|
||||
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
@@ -54,7 +54,7 @@ func main() {
|
||||
defer publisher.Close()
|
||||
|
||||
// read RTP packets from the reader and route them to the publisher
|
||||
reader.OnPacketRTPAny(func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
reader.OnPacketRTPAny(func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
publisher.WritePacketRTP(medi, pkt)
|
||||
})
|
||||
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"log"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtcp"
|
||||
@@ -44,7 +44,7 @@ func main() {
|
||||
}
|
||||
|
||||
// called when a RTP packet arrives
|
||||
c.OnPacketRTPAny(func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
c.OnPacketRTPAny(func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
log.Printf("RTP packet from media %v\n", medi)
|
||||
})
|
||||
|
||||
|
@@ -5,7 +5,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/url"
|
||||
"github.com/pion/rtp"
|
||||
@@ -74,7 +74,7 @@ func (c *client) read() error {
|
||||
log.Printf("stream is ready and can be read from the server at rtsp://localhost:8554/stream\n")
|
||||
|
||||
// called when a RTP packet arrives
|
||||
rc.OnPacketRTPAny(func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
rc.OnPacketRTPAny(func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
// route incoming packets to the server stream
|
||||
stream.WritePacketRTP(medi, pkt)
|
||||
})
|
||||
|
@@ -9,8 +9,8 @@ import (
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/base"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtph264"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtph264"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
)
|
||||
|
||||
@@ -23,7 +23,7 @@ type serverHandler struct {
|
||||
mutex sync.Mutex
|
||||
publisher *gortsplib.ServerSession
|
||||
media *media.Media
|
||||
format *formats.H264
|
||||
format *format.H264
|
||||
rtpDec *rtph264.Decoder
|
||||
mpegtsMuxer *mpegtsMuxer
|
||||
}
|
||||
@@ -67,7 +67,7 @@ func (sh *serverHandler) OnAnnounce(ctx *gortsplib.ServerHandlerOnAnnounceCtx) (
|
||||
}
|
||||
|
||||
// find the H264 media and format
|
||||
var forma *formats.H264
|
||||
var forma *format.H264
|
||||
medi := ctx.Medias.FindFormat(&forma)
|
||||
if medi == nil {
|
||||
return &base.Response{
|
||||
|
@@ -9,7 +9,7 @@ import (
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/base"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
)
|
||||
|
||||
@@ -127,7 +127,7 @@ func (sh *serverHandler) OnRecord(ctx *gortsplib.ServerHandlerOnRecordCtx) (*bas
|
||||
log.Printf("record request")
|
||||
|
||||
// called when receiving a RTP packet
|
||||
ctx.Session.OnPacketRTPAny(func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
ctx.Session.OnPacketRTPAny(func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
// route the RTP packet to all readers
|
||||
sh.stream.WritePacketRTP(medi, pkt)
|
||||
})
|
||||
|
@@ -8,7 +8,7 @@ import (
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/base"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
)
|
||||
|
||||
@@ -126,7 +126,7 @@ func (sh *serverHandler) OnRecord(ctx *gortsplib.ServerHandlerOnRecordCtx) (*bas
|
||||
log.Printf("record request")
|
||||
|
||||
// called when receiving a RTP packet
|
||||
ctx.Session.OnPacketRTPAny(func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
ctx.Session.OnPacketRTPAny(func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
// route the RTP packet to all readers
|
||||
sh.stream.WritePacketRTP(medi, pkt)
|
||||
})
|
||||
|
@@ -19,7 +19,7 @@ import (
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/base"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/media"
|
||||
)
|
||||
|
||||
@@ -386,7 +386,7 @@ func TestServerRecordRead(t *testing.T) {
|
||||
}, fmt.Errorf("invalid query (%s)", ctx.Query)
|
||||
}
|
||||
|
||||
ctx.Session.OnPacketRTPAny(func(medi *media.Media, forma formats.Format, pkt *rtp.Packet) {
|
||||
ctx.Session.OnPacketRTPAny(func(medi *media.Media, forma format.Format, pkt *rtp.Packet) {
|
||||
stream.WritePacketRTP(medi, pkt)
|
||||
})
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package formats //nolint:dupl
|
||||
package format //nolint:dupl
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpav1"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpav1"
|
||||
)
|
||||
|
||||
// AV1 is a RTP format for the AV1 codec.
|
@@ -1,4 +1,4 @@
|
||||
package formats //nolint:dupl
|
||||
package format //nolint:dupl
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,5 +1,5 @@
|
||||
// Package formats contains RTP format definitions, decoders and encoders.
|
||||
package formats
|
||||
// Package format contains RTP format definitions, decoders and encoders.
|
||||
package format
|
||||
|
||||
import (
|
||||
"strings"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,9 +1,9 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpsimpleaudio"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpsimpleaudio"
|
||||
)
|
||||
|
||||
// G711 is a RTP format for the G711 codec, encoded with mu-law or A-law.
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,9 +1,9 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpsimpleaudio"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpsimpleaudio"
|
||||
)
|
||||
|
||||
// G722 is a RTP format for the G722 codec.
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"strconv"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"fmt"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtph264"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtph264"
|
||||
"github.com/bluenviron/mediacommon/pkg/codecs/h264"
|
||||
)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"github.com/bluenviron/mediacommon/pkg/codecs/h265"
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtph265"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtph265"
|
||||
)
|
||||
|
||||
// H265 is a RTP format for the H265 codec.
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtplpcm"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtplpcm"
|
||||
)
|
||||
|
||||
// LPCM is a RTP format for the uncompressed, Linear PCM codec.
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,9 +1,9 @@
|
||||
package formats //nolint:dupl
|
||||
package format //nolint:dupl
|
||||
|
||||
import (
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpmjpeg"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpmjpeg"
|
||||
)
|
||||
|
||||
// MJPEG is a RTP format for the Motion-JPEG codec.
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,9 +1,9 @@
|
||||
package formats //nolint:dupl
|
||||
package format //nolint:dupl
|
||||
|
||||
import (
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpmpeg1audio"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpmpeg1audio"
|
||||
)
|
||||
|
||||
// MPEG1Audio is a RTP format for a MPEG-1/2 Audio codec.
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,4 +1,4 @@
|
||||
package formats //nolint:dupl
|
||||
package format //nolint:dupl
|
||||
|
||||
import (
|
||||
"github.com/pion/rtp"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"encoding/hex"
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio"
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpmpeg4audio"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpmpeg4audio"
|
||||
)
|
||||
|
||||
// MPEG4Audio is an alias for MPEG4AudioGeneric.
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"encoding/hex"
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio"
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpmpeg4audiolatm"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpmpeg4audiolatm"
|
||||
)
|
||||
|
||||
// MPEG4AudioLATM is a RTP format for a MPEG-4 Audio codec.
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"encoding/hex"
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpmpeg4video"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpmpeg4video"
|
||||
)
|
||||
|
||||
// MPEG4Video is an alias for MPEG4VideoES.
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
3
pkg/format/mpeg4_video_generic.go
Normal file
3
pkg/format/mpeg4_video_generic.go
Normal file
@@ -0,0 +1,3 @@
|
||||
package format
|
||||
|
||||
// TODO
|
3
pkg/format/mpeg4_video_generic_test.go
Normal file
3
pkg/format/mpeg4_video_generic_test.go
Normal file
@@ -0,0 +1,3 @@
|
||||
package format
|
||||
|
||||
// TODO
|
@@ -1,4 +1,4 @@
|
||||
package formats //nolint:dupl
|
||||
package format //nolint:dupl
|
||||
|
||||
import (
|
||||
"github.com/pion/rtp"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
|
||||
"github.com/pion/rtp"
|
||||
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/formats/rtpsimpleaudio"
|
||||
"github.com/bluenviron/gortsplib/v4/pkg/format/rtpsimpleaudio"
|
||||
)
|
||||
|
||||
// Opus is a RTP format for the Opus codec.
|
@@ -1,4 +1,4 @@
|
||||
package formats
|
||||
package format
|
||||
|
||||
import (
|
||||
"testing"
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user