Commit Graph

15 Commits

Author SHA1 Message Date
aler9
9d12c345f8 support go 1.18 2022-04-07 12:57:23 +02:00
aler9
f4c783bc85 add base class for tracks 2022-03-15 12:04:10 +01:00
aler9
a7aa9e23d0 add mutex around SPS and PPS of TrackH264 2022-02-26 19:48:01 +01:00
aler9
ab50034c93 improve coverage 2022-02-12 17:03:24 +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
2c613ddf7a rewrite track tests 2022-02-11 20:22:56 +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
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
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
cab3fe270e client: support publishing with opus 2021-10-30 15:45:13 +02:00