Commit Graph

499 Commits

Author SHA1 Message Date
Alessandro Ros
7a4c7d6d66 remove h264 decoding and re-encoding (#144)
* stop re-encoding H264

* stop decoding H264

* improve tests
2022-11-02 14:38:05 +01:00
aler9
89aa62d01b try to fix DTS extraction of nvenc H264 streams (https://github.com/aler9/rtsp-simple-server/issues/1002) 2022-11-01 19:13:32 +01:00
aler9
d9d6227906 client: simplify usage of Setup() 2022-11-01 09:58:08 +01:00
aler9
0e6a0b8b25 call OnDecodeError when rtpcleaner returns an error 2022-10-31 18:51:29 +01:00
aler9
b1f72f9392 return error in OnDecodeError when there are oversized UDP packets 2022-10-31 15:53:15 +01:00
aler9
5a5f454814 rtpreordered: improve performance 2022-10-31 15:14:07 +01:00
aler9
e8fde26d55 return error in OnDecodeError when there are lost RTP packets 2022-10-31 15:05:42 +01:00
aler9
394c2f0696 client: support FritzBox 660 Cable (https://github.com/aler9/rtsp-simple-server/issues/1119) 2022-10-28 16:49:28 +02:00
aler9
630b1ebce1 change and check error message 2022-10-28 15:28:05 +02:00
aler9
145b21ef3d update docs 2022-10-28 14:11:58 +02:00
aler9
87e9036976 rtptimedec: increase threshold of negative differences 2022-10-26 16:53:27 +02:00
aler9
e97d29084e h264: apply NALU count limit during Annex-B and AVCC unmarshaling 2022-10-09 13:21:40 +02:00
aler9
74f941be71 rtptimedec: improve performance 2022-10-09 11:14:20 +02:00
aler9
b3c70f56f7 h264: fix Annex-B decoding
Some Annex-B streams use both [0 0 1] and [0 0 0 1] as delimiters.
These streams are now parsed correctly.
2022-10-08 20:13:46 +02:00
aler9
92cc1b5ee9 update golangci-lint 2022-09-17 21:19:40 +02:00
aler9
e99f799c07 client: support cameras with invalid SSRC in transport header
(https://github.com/aler9/rtsp-simple-server/issues/1118)
2022-08-29 14:51:32 +02:00
aler9
155862f15b improve coverage 2022-08-16 10:24:36 +02:00
aler9
8268c27bde update docs 2022-08-15 11:00:26 +02:00
aler9
27f8015ac6 simplify usage of Conn 2022-08-15 00:10:21 +02:00
aler9
06bed24dd9 add intermediate layer between net.Conn and client / server 2022-08-14 23:43:01 +02:00
aler9
40c1ff8dfe rename rtpaac into rtpmpeg4audio 2022-08-14 12:47:40 +02:00
aler9
4b19822d51 rename MPEGVideo and MPEGAudio into MPEG2Video and MPEG2Audio 2022-08-07 14:01:00 +02:00
aler9
a2c6a7fb97 server: change behavior in case of unhandled methods
(https://github.com/aler9/rtsp-simple-server/issues/1066)

Return 501 and keep connection open instead of returning 400 and
closing the connection.
2022-08-07 13:51:12 +02:00
aler9
4940e8faeb server: add Session to ServerHandlerOnSetParameterCtx 2022-08-07 13:43:59 +02:00
aler9
537b2033d2 rename TrackAAC into TrackMPEG4Audio 2022-08-05 23:37:53 +02:00
aler9
592d62e859 support HE-AAC v1 and HE-AAC v2 tracks (#1068) 2022-08-05 23:33:44 +02:00
aler9
b1513c6802 rename pkg/acc into pkg/mpeg4audio 2022-08-05 22:40:05 +02:00
aler9
2c8889602c h264: improve error message 2022-07-24 12:07:30 +02:00
aler9
73830e29be rtph264: support streams that encode NALUs into Annex-B
(https://github.com/aler9/rtsp-simple-server/issues/1029)
2022-07-24 01:07:54 +02:00
aler9
a301701169 h264: improve Annex-B unmarshal performance 2022-07-24 00:28:28 +02:00
aler9
570be5c520 rtpaac: support ADTS-encoded, fragmented AUs 2022-07-23 23:58:31 +02:00
aler9
c42900c937 h264: improve nvenc support 2022-07-23 23:12:22 +02:00
aler9
2d5211f734 rtpreorderer: return all buffered packets when the buffer is full
(https://github.com/aler9/rtsp-simple-server/issues/1049)
2022-07-23 13:10:45 +02:00
aler9
937b36cfb1 rtpcleaner: accept RTP/H264 packets even if the server is unable to
parse them (https://github.com/aler9/rtsp-simple-server/issues/1049)
2022-07-23 12:55:21 +02:00
aler9
c6972424d6 avoid using encoding/binary 2022-07-17 14:54:04 +02:00
Alessandro Ros
df7336b5e8 implement packet reordering for UDP / Multicast transports (#132)
* implement packet reordering for UDP transport

* rtcpreceiver: stop handling unordered / duplicate packets

* remote useless Sleep() from tests
2022-07-05 23:29:03 +02:00
aler9
18005a9cde ringbuffer: force size to be a power of 2
otherwise buffer is used partially when writeIndex overflows.
2022-07-05 19:25:53 +02:00
aler9
f3b0fc69b4 rename Read / Write into Unmarshal / Marshal when needed
Read() / Write() are used to read / write from streams, while
Unmarshal() / Marshal() are used to decode / encode from / to bytes.
2022-06-27 17:27:16 +02:00
aler9
e3c9f0c2e6 rtph264: add limit on nalus per group 2022-06-27 09:37:27 +02:00
aler9
793cea631b h264: prefer POC method over SEI method 2022-06-24 20:23:52 +02:00
aler9
dd091a1262 h264: add workaround for nvenc 2022-06-24 20:19:01 +02:00
aler9
52123a2741 aac: use MPEG4AudioType inside ADTSPacket 2022-06-24 16:52:47 +02:00
aler9
d11fe222c3 add more efficient bit reader / writer 2022-06-24 16:41:01 +02:00
aler9
949e27c428 aac: replace AOTSpecificConfig with AAC-LC fields 2022-06-24 13:48:28 +02:00
aler9
6e6938d5e4 aac: rename Encode / Decode into Marshal / Unmarshal 2022-06-24 13:29:01 +02:00
aler9
61726e534c sdp: support TP-Link application tracks (https://github.com/aler9/rtsp-simple-server/issues/990) 2022-06-23 22:47:19 +02:00
aler9
8b9fda867a h264: improve error message 2022-06-23 14:00:32 +02:00
aler9
fa36721df4 h264: support more streams 2022-06-22 23:27:30 +02:00
aler9
f3f34bfeda h264: add additional check on DTS 2022-06-22 22:44:39 +02:00
aler9
709d2fded5 h264: fix DTS extraction for some streams 2022-06-22 20:43:55 +02:00