Commit Graph

18 Commits

Author SHA1 Message Date
Alessandro Ros
a9a7426412 client, server: print number of lost packets even when using TCP (#269) 2023-05-02 14:30:32 +02:00
Alessandro Ros
a955288571 replace Format.Marshal() with RTPMap() and FMTP() (#253) 2023-04-15 13:46:19 +02:00
Alessandro Ros
9e29555063 simplify tests (#247) 2023-04-14 11:53:37 +02:00
Alessandro Ros
1f19f3cdb8 simplify tests (#245) 2023-04-13 12:01:57 +02:00
Alessandro Ros
1694d9086d use normalized trackID in place of mediaUUID (#226)
This is needed to support clients like the Grandstream GXV3500.

Fixes #190
2023-04-07 12:38:10 +02:00
Alessandro Ros
2fbba142cc add OnTransportSwitch, OnPacketLost, OnDecodeError to server and client (#225)
These new hooks replace the generic hooks Log() and OnWarning().
2023-04-04 17:10:37 +02:00
Alessandro Ros
af3ed2bd83 merge format and formatdecenc into formats (#222) 2023-04-01 13:23:16 +02:00
Alessandro Ros
04f5a4041c change owner (#217) 2023-03-31 12:34:07 +02:00
Alessandro Ros
1ad059a80b server: use absolute RTSP URL as control attribute (#210)
this is necessary in order to make GStreamer's rtspsrc to send query parameters correctly in SETUP requests.
2023-03-24 10:54:14 +01:00
aler9
d75c8e4788 speedup tests 2023-02-13 13:18:22 +01:00
Alessandro Ros
a2d6ce8af6 replace OnDecodeError with OnWarning (#177) 2023-01-23 12:54:57 +01:00
aler9
645f9462e2 server: support publishing/reading to/from path '/' or '' 2023-01-11 00:39:58 +01:00
aler9
8320b1aceb improve coverage 2022-12-23 14:27:44 +01:00
Alessandro Ros
ae9dac0ad3 use random UUIDs as media IDs (#163)
* remove Medias.Clone(), Media.Clone(), Format.Clone()

* server: use random UUIDs as media IDs

* client: use random UUIDs as media IDs
2022-12-22 20:32:28 +01:00
aler9
ffe8c87c38 fix overriding of previously-received RTP packets that leaded to crashes
RTP packets were previously take from a buffer pool. This was messing
up the Client, since that buffer pool was used by multiple routines at
once, and was probably messing up the Server too, since packets can be
pushed to different queues and there's no guarantee that these queues
have an overall size less than ReadBufferCount.

This buffer pool is removed; this decreases performance but avoids bugs.
2022-12-19 13:51:49 +01:00
aler9
6141afcfc4 add H264 NALU types 2022-12-14 14:57:02 +01:00
aler9
38b24b8e26 rename 'track' references into 'format' 2022-12-13 18:06:41 +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