Alessandro Ros
904b0a1920
client: enable keepalives in most cases ( #775 )
2025-05-04 15:39:07 +02:00
Alessandro Ros
ca6286321d
fix various race conditions when writing packets to closed clients or server sessions ( #684 )
2025-01-19 12:07:59 +01:00
Alessandro Ros
87c6d81053
add statistics to Client, ServerSession, ServerConn, ServerStream ( #556 ) ( #656 )
2024-12-25 13:30:08 +01:00
Alessandro Ros
8f74559616
close connections in case of write errors ( #613 ) ( #655 )
2024-12-14 13:45:11 +01:00
Alessandro Ros
a2df9d83b3
client: fix BytesSent / BytesReceived computation ( #612 ) ( #654 )
...
When the TCP transport protocol is in use, BytesSent and BytesReceived
were increased twice.
2024-12-13 20:55:50 +01:00
Alessandro Ros
72e74f349e
server: use relative control attributes ( #620 )
2024-09-15 22:51:55 +02:00
Alessandro Ros
c9bf79f340
client: omit mode from Transport header ( #611 ) ( #574 ) ( #614 )
2024-09-09 10:28:34 +02:00
Alessandro Ros
363b48e632
update golangci-lint ( #554 )
2024-04-28 18:20:25 +02:00
Alessandro Ros
24ed937861
update golangci-lint ( #535 )
2024-03-19 12:50:26 +01:00
Alessandro Ros
93b02bc0e8
simplify tests ( #461 )
2023-11-07 23:21:33 +01:00
Alessandro Ros
01b3bfc6ab
move url.URL into base.URL ( #459 )
2023-11-07 16:51:45 +01:00
Alessandro Ros
8f18a0d83b
check SPS/PPS of H264/H265 SDPs ( #394 )
2023-09-01 18:31:52 +02:00
Alessandro Ros
3bdae4ed46
make WritePacket*() return errors when write queue is full ( #388 )
2023-08-26 18:09:45 +02:00
Alessandro Ros
ed4bbe3986
client: support server-sent requests ( #93 ) ( #378 )
2023-08-24 16:07:09 +02:00
aler9
cdbecb1f5d
allow setting additional properties of streams through description.Stream
2023-08-22 16:46:18 +02:00
aler9
4e000eb2dd
emit a decode error in case of packets with wrong SSRC
2023-08-18 18:20:13 +02:00
aler9
bfef17b717
add Client.PacketNTP(), ServerSession.PacketNTP()
2023-08-17 13:23:16 +02:00
aler9
939c065f6f
client: invert arguments of Setup() and SetupAll()
2023-08-17 13:23:15 +02:00
aler9
5e5a21240d
rename pkg/formats into pkt/format
2023-08-16 13:26:17 +02:00
aler9
80106144e6
bump to v4
2023-08-16 13:26:17 +02:00
aler9
18ddae4c50
enable errcheck
2023-08-13 16:29:53 +02:00
Alessandro Ros
0f97e8158c
client: return an error in case of invalid packet ( #305 )
...
when reading with TCP and packet has an unknown format.
2023-06-08 23:33:29 +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
Alessandro Ros
d369d215c2
client: replace OnWarning with Log ( #208 )
2023-03-19 18:15:33 +01:00
Alessandro Ros
a2d6ce8af6
replace OnDecodeError with OnWarning ( #177 )
2023-01-23 12:54:57 +01:00
aler9
5a2ea9cf9c
partially revert cabfcd6
2022-12-22 20:36:41 +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
cabfcd627b
client: do not override media controls inside Announce()
...
this fixes the client-read-republish example and allows users to set
their own media controls.
Function medias.SetControls() is provided in order to automatically set
media controls and must be called manually.
2022-12-22 18:54:09 +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