Commit Graph

1243 Commits

Author SHA1 Message Date
aler9
256877086b merge serverWriter and clientWriter 2022-12-11 22:54:16 +01:00
Alessandro Ros
a1396206b5 convert Tracks into Medias and Formats (#155)
* split tracks from medias

* move tracks into dedicated package

* move media into dedicated package

* edit Medias.Marshal() in order to return SDP

* add medias.Find() and simplify examples

* improve coverage

* fix rebase errors

* replace TrackIDs with MediaIDs

* implement media-specific and track-specific callbacks for reading RTCP and RTP packets

* rename publish into record, read into play

* add v2 tag

* rename tracks into formats
2022-12-11 22:03:22 +01:00
aler9
2a5b3e3ee5 server: return error in case of unexpected interleaved frames v1.0.0 2022-12-11 17:59:58 +01:00
aler9
fa95f5a86b add Client.SetupAll() 2022-12-11 14:25:35 +01:00
aler9
99855bd3a2 allow invalid RTCP packets in both client and server
(https://github.com/aler9/rtsp-simple-server/issues/1085)

Invalid RTCP packets, in both server and client, do not trigger a fatal
error anymore but they're just blocked. OnDecodeError() is called in
order to emit a warning.
2022-12-09 12:48:33 +01:00
aler9
00efb912aa avoid using fmt.Print* in example 2022-12-09 12:45:16 +01:00
aler9
e6e7f11ee1 improve coverage 2022-12-09 12:31:18 +01:00
Alessandro Ros
8515d62735 fix codecov / github api limits (#157) 2022-11-29 15:48:15 +01:00
aler9
d521a785c4 support tracks without clock rate 2022-11-27 21:17:48 +01:00
aler9
f16cb173b7 rename read-codec and publish-codec examples into read-track and publish-track 2022-11-27 19:42:05 +01:00
aler9
ab0c9e64c9 merge TrackPCMA and TrackPCMU into Track G711 2022-11-27 19:36:46 +01:00
aler9
150f16ae65 revert 15ec133 2022-11-20 22:33:48 +01:00
aler9
be93b242a5 examples: disconnect allow overriding publishers in server 2022-11-20 22:16:16 +01:00
aler9
ed8665762a examples: fix memory leak in server-h264-save-to-disk 2022-11-20 22:15:49 +01:00
aler9
91e15d6e1a examples: fix x265enc flags 2022-11-20 22:07:25 +01:00
aler9
15ec13386d improve ptsEqualsDTS algothm with H264 tracks 2022-11-20 12:29:59 +01:00
aler9
9f5ab03742 headers: simplify usage of Range 2022-11-20 11:33:49 +01:00
aler9
e6477ceacc add Track.String() method 2022-11-19 20:39:53 +01:00
aler9
a682c228b2 do not check for codec case when parsing tracks 2022-11-19 09:50:51 +01:00
aler9
87d5a512b1 add TrackVorbis 2022-11-15 23:27:55 +01:00
aler9
c2c0230669 move RTP decoders/encoders into pkt/rtpcodecs 2022-11-15 23:08:36 +01:00
Alessandro Ros
9795e9175a add H265 decoder and encoder (#154) 2022-11-15 23:01:26 +01:00
aler9
a7e222d3e6 add RTP/LPCM decoder and encoder 2022-11-15 22:11:26 +01:00
aler9
0bee80a277 add CreateEncoder() method to add tracks that have an encoder 2022-11-15 17:31:55 +01:00
aler9
8984685105 add RTP encoder/decoder for G722, PCMA, PCMU 2022-11-15 17:22:40 +01:00
aler9
f07fad893f add TrackLPCM and client-publish-codec-lpcm example 2022-11-14 22:46:23 +01:00
aler9
cb05e71b46 add TrackG722 and client-publish-codec-g722 example 2022-11-14 22:16:55 +01:00
aler9
1656e0e823 add CreateDecoder() method to all tracks that can be decoded 2022-11-14 21:32:49 +01:00
Alessandro Ros
51b8063325 rtph264: return error in decoder if packetization-mode is 2 (#153) 2022-11-14 21:23:13 +01:00
aler9
1161ed966f fix race condition in tests 2022-11-14 20:12:45 +01:00
aler9
cac23fd512 update readme 2022-11-14 18:46:59 +01:00
Alessandro Ros
e264304710 add RTP/VP9 encoder and decoder (#152) 2022-11-14 18:46:26 +01:00
aler9
34545becc3 rtpreorder: do not freeze in case the stream timestamp resets 2022-11-14 18:39:20 +01:00
Alessandro Ros
4d7abfc638 add RTP/VP8 encoder and decoder (#149) 2022-11-14 17:38:58 +01:00
Alessandro Ros
0ad09c2184 add RTP/Opus decoder and encoder (#151) 2022-11-14 17:12:58 +01:00
Alessandro Ros
7951b2e4af allow to set NTP of outgoing packets in both client and server (#148) 2022-11-14 16:55:40 +01:00
aler9
ae0df8d4c9 use named constant for MPEG4-audio object type 2022-11-14 16:50:21 +01:00
aler9
8fc6bf35ae improve client-read examples in order to setup only needed tracks 2022-11-14 16:05:14 +01:00
aler9
402cae203e rename aac examples into mpeg4audio examples 2022-11-14 15:59:49 +01:00
aler9
3c358e9cfd add client-publish-codec-pcma example 2022-11-14 15:56:45 +01:00
aler9
54b701049b add *codec* to codec-related examples 2022-11-14 15:54:40 +01:00
aler9
4a3ab9a5fe rtpmpeg4audio: cleanup 2022-11-14 15:50:17 +01:00
Alessandro Ros
764ac1ce35 rtph264: fix decode error (#150)
Intact NALUs received after corrupted NALUs were wrongly discarded.
2022-11-14 14:30:30 +01:00
aler9
12c8845fef client: add variables to store received and sent bytes 2022-11-10 22:15:34 +01:00
aler9
62f597457b fix support for 32bit architectures 2022-11-10 22:06:33 +01:00
aler9
d75423d185 rename ReadBytes and WrittenBytes into BytesReceived and BytesSent 2022-11-09 19:28:05 +01:00
Alessandro Ros
95d1562735 server: add methods to get read and written bytes (#147)
ServerConn.ReadBytes()
ServerConn.WrittenBytes()
ServerSession.ReadBytes()
ServerSession.WrittenBytes()
2022-11-09 13:41:48 +01:00
aler9
9029c3a9a3 clarify error 2022-11-09 12:54:35 +01:00
Jon Lech Johansen
76460d6404 Fix parsing of Transport header with multiple transports. (#145)
* Fix parsing of Transport header with multiple transports.

* Lint.

* Add test for Transport header with multiple transports.

* Filter out unsupported transports.

* Handle multicast properly when filtering out unsupported transports.

* Minor code cleanup.

* add Transports.Unmarshal(), add additional tests

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2022-11-09 12:00:33 +01:00
aler9
16e4e3c2ef simplify example 2022-11-07 22:01:39 +01:00