Commit Graph

19 Commits

Author SHA1 Message Date
aler9
3e3271297c do not store extradata into H264 tracks 2022-06-23 13:17:00 +02:00
aler9
9f4fea8a01 change track initialization method 2022-06-23 13:13:36 +02:00
aler9
3223af460e fix storing of H264 extradata 2022-06-23 11:30:53 +02:00
aler9
774d3f2973 add TrackH265 2022-06-14 12:43:44 +02:00
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