aler9
eae1e120f1
server: do not allow a client to send TCP frames after TEARDOWN
2022-02-19 18:34:47 +01:00
aler9
c7a36478b4
server: remove useless code
2022-02-19 17:54:11 +01:00
aler9
2844e6dfef
fix tests
2022-02-19 15:53:37 +01:00
aler9
7f799ffea8
add client-read-republish example ( #91 )
2022-02-19 15:13:07 +01:00
aler9
0515539831
add WriteBufferCount; set both ReadBufferCount and WriteBufferCount to 256
2022-02-19 15:09:00 +01:00
aler9
86fb4181c7
server: allow calling ServerSession.WritePacketRTCP() inside OnRecord and OnPlay ( #99 )
2022-02-18 23:19:33 +01:00
aler9
cbc228acbf
remove useless code
2022-02-18 23:02:14 +01:00
aler9
fc2dcf1cfe
save RAM by allocating interleaved frames only when needed
2022-02-18 22:46:23 +01:00
aler9
82b03f368f
update docs
2022-02-18 10:35:29 +01:00
aler9
a7ce5b7a53
update docs
2022-02-18 10:08:47 +01:00
aler9
433426ff07
rename example
2022-02-18 10:04:19 +01:00
aler9
fe99404495
server: sync states with client ones
2022-02-18 10:02:20 +01:00
aler9
d44f1eb03a
server: save RAM by releasing read buffers earlier
2022-02-18 00:03:39 +01:00
aler9
8c7b4c1ce7
client: save RAM by releasing read buffers earlier
2022-02-18 00:03:39 +01:00
aler9
bca6756cd6
improve performance
2022-02-18 00:03:39 +01:00
aler9
3a2f9adbd5
server: decode and encode RTP/RTCP packets
2022-02-18 00:03:39 +01:00
aler9
b7df36d4ad
client: decode and encode RTP/RTCP packets
2022-02-18 00:03:39 +01:00
aler9
9a0eed07b3
server: improve performance
2022-02-17 21:23:10 +01:00
aler9
1c9fb77630
improve coverage
2022-02-17 21:19:38 +01:00
aler9
a235613fd6
fix wrong timestamp computation that happened at 28h28m
...
this was caused by a int64 overflow.
2022-02-13 17:00:13 +01:00
aler9
ab50034c93
improve coverage
2022-02-12 17:03:24 +01:00
aler9
9627570643
print track IDs from 1 instead of 0 in error messages
2022-02-12 16:34:30 +01:00
aler9
8e0b393a47
update docs
2022-02-11 20:28:57 +01:00
Tristan Matthews
1b2a78a744
track: expose Set/GetControl
...
This is useful for clients that need to override the control field, which was
possible prior to 6d5bf0c1bb
via the Media field.
2022-02-11 20:28:57 +01:00
Tristan Matthews
247571eec8
track: expose MediaDescription()
2022-02-11 20:28:57 +01:00
aler9
6f69b9bab9
add NewTrackGeneric()
2022-02-11 20:25:04 +01:00
aler9
2c613ddf7a
rewrite track tests
2022-02-11 20:22:56 +01:00
aler9
9a7ccdff3a
fix test workflow
2022-02-11 19:37:25 +01:00
aler9
f2c1b88453
server: fix multicast listen error on Windows ( https://github.com/aler9/rtsp-simple-server/issues/742 )
...
This happened when the system has network interfaces that don't support multicast.
2022-02-02 18:27:28 +01:00
aler9
88e1244e9f
improve coverage
2022-02-01 19:43:59 +01:00
aler9
0c9bd7a575
fix track.clone() ( https://github.com/aler9/rtsp-simple-server/issues/808 )
2022-02-01 19:09:56 +01:00
aler9
5cf71f59d8
disable buffer alignment in decode examples
2022-02-01 18:03:51 +01:00
aler9
db69235e30
improve h264 decode examples
2022-02-01 17:40:50 +01:00
aler9
3eda3e45e6
replace client-read-h264 example with client-read-h264-decode
2022-01-31 18:47:09 +01:00
aler9
79fdb2b7b4
use log.Print instead of fmt.Print in examples
2022-01-31 18:39:36 +01:00
aler9
8251fe3556
fix comments
2022-01-31 18:39:08 +01:00
aler9
6e2aeade7c
new example client-read-h264-convert-to-jpeg
2022-01-31 18:33:11 +01:00
aler9
9603037fb3
client: fix panic
2022-01-31 09:59:02 +01:00
aler9
8c02b12955
fix tests
2022-01-30 16:50:47 +01:00
aler9
e2019c1205
add TrackAAC.Type(), TrackAAC.ChannelCount(), TrackAAC.AOTSpecificConfig()
2022-01-30 16:16:07 +01:00
aler9
30c5a94df6
add TrackH264.SetSPS(), TrackH264.SetPPS()
2022-01-30 15:58:49 +01:00
aler9
ad69a8957b
support h264 tracks with extradata in sprop-parameter-sets
2022-01-30 15:51:49 +01:00
aler9
5aefa9e271
add tests for #96
2022-01-30 15:51:49 +01:00
aler9
6d5bf0c1bb
new track system
2022-01-30 15:51:49 +01:00
aler9
cd0db96a5d
client: test case in which session is not sent in a PLAY response
2022-01-30 14:27:15 +01:00
Lars The
0014b6a82c
fix ExtractConfigH264() when extradata is present
...
The `sprop-parameter-sets` parameter in a SDP description of a H.264 stream could contain more that two fields. These fields could be considered extradata. Some tools like ffmpeg incorporate them if they are available. You can read about specs of this parameter at https://www.ietf.org/archive/id/draft-lennox-avt-h264-source-fmtp-00.html#anchor3 .
This is an example of a working description:
`a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z01AKJJSgPAIj7wEQAAAAwBAAAAMo8WLZYA=,aP48gAA=; profile-level-id=4D4028`
And this is another example that fails without this PR:
`a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z2QAKawTMUB4BEfeA+oCAgPgAAADACAAAAZSgA==,aPqPLA==,aF6jzAMA; profile-level-id=640029`
So assuming the optional presence of more than two fields in the `sprop-parameter-sets` parameter with PR solves the bug.
2022-01-28 17:45:07 +01:00
aler9
3438279d73
server: move multicast handler into separate file
2022-01-28 00:22:11 +01:00
aler9
7bf111f98a
client: cleanup
2022-01-23 22:39:44 +01:00
aler9
b12468d26e
server: remove useless check
2022-01-23 12:50:03 +01:00
aler9
8ef623f56d
do not treat generic bytes as strings into errors
2022-01-23 12:39:21 +01:00