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