Commit Graph

41 Commits

Author SHA1 Message Date
Martin Pulec
a0cc3db591 Transmit: correctly split packets
Correctly split packets for different pixel formats - previously there
was preset 48 B boundary which was least common multiple for then
present pixel formats (v210 has 16, RGB 3). However, R12L is not covered
since it uses block of 36 bytes.

From now on, we are splitting the packets according to the needed
boundary of pixel format (or arbitrarily for compressed). As a side effect,
the packets may be slightly bigger up to MTU size.
2019-02-22 16:38:29 +01:00
Martin Pulec
384f6ef97f Transmit: same buf. number for all substreams
Keep the same buffer number for all substreams of the frame in RTP
payload header.
2019-02-14 14:55:21 +01:00
Martin Pulec
baf069b7c5 H.264 std: simplified a bit
Note that RTCP SR are now send slightly in a different way - previously
the timestamp used was T-1.
2018-12-17 10:57:52 +01:00
Martin Pulec
9f6048e144 Added RFC 2435 compliant RTP JPEG transport
Compliant JPEGs can be now sent with SDP or RTSP.
2018-12-17 10:37:53 +01:00
Martin Pulec
315749bbe5 RTP: fix sending of RFC-compilant OPUS stream
RTP timestamp was incorrectly computed from data_len/bps which confused VLC.

+ some cleanup
2018-10-18 16:27:42 +02:00
Martin Pulec
f0c99a4005 Readded SDP
* Since RTSP is no longer working with current LIVE555, RFC-conforming
  H.264/A-law/u-law/OPUS streams can be accessed with SDP.
* experimental only (would need more effort to be robust, well written
  etc.)
* removed ifdefs from transmit relating to standard AV RTP payload
  formating
* main: added --protocol option (shortcut for --audio-protocol and
  --video-protocol)
* main: disable intra refresh in default setting for H.264 in RTSP/SDP
2018-10-18 16:27:42 +02:00
Martin Pulec
2cee596807 Transmit: handle better FPS < 1.0 2017-05-11 13:53:26 +02:00
Martin Pulec
d55cc45a54 Encryption: better handling of modes
* check if the received cipher mode is known (forward compatibility)
2017-04-07 10:00:55 +02:00
Martin Pulec
eabc29d956 Encryption: use CFB instead of CTR
* implemented CFB + switched to it because Debian currently does not
  include CTR mode
* use CFB by default (decoder should still be able to decompress CTR if
  support is compiled in)
2017-04-05 22:24:56 +02:00
Martin Pulec
f47597dd89 Fixed bugs reported by Coverity 2017-03-03 18:07:18 +01:00
Martin Pulec
58d2cb8ec8 Fixed commit d12f99
Errorneously taken uninitialized packet_rate value instead of given
bitrate.
2017-01-27 11:13:53 +01:00
Martin Pulec
d12f9932b6 Transmit: packet rate changes
* video: compute packet rate from actual (average) size of packet, not
         MTU, because it may be different from MTU when using FEC to
         align the size to size of FEC symbol
* audio: disable traffic shaping at all
2017-01-24 16:51:02 +01:00
Martin Pulec
cdf865394f Transmit: use bitrate instead of packet rate
Packet rate is now computed in transmit.cpp
2017-01-24 16:26:01 +01:00
Martin Pulec
892883df02 Fixed some Coverity bugs 2016-06-28 17:33:24 +02:00
Martin Pulec
0c3f23623a Control: fixed FEC on-fly change 2016-03-07 15:57:53 +01:00
Martin Pulec
2cc6aab0e2 Added possibility to send message synchronously
+ in capabilities list, given bitrate is computed according to the
  detected capture format (provided that '-t' argument is given)
2015-08-25 17:05:23 +02:00
Martin Pulec
f738f5f2b7 Module registration: require (const void *) instead of (void *) for metadata 2015-08-19 09:53:10 +02:00
Martin Pulec
821eda0e43 Traffic shaper: adjust wait intervals
Take into account when sending of a packet took significantly more
(eg. full buffer or process switch). In this case adlujust following
packet interval(s) accordingly.
2015-07-31 11:32:21 +02:00
Martin Pulec
b38bc4f53f Warn about exceeding allowed MTU in tx_init() 2015-07-23 14:09:18 +02:00
Martin Pulec
f1094d119b Control socket: per frame reports for producent 2015-05-18 13:10:41 +02:00
Martin Pulec
9d251ec068 Audio: don't let user use unsupported FEC 2015-04-20 16:19:13 +02:00
Martin Pulec
b807249136 Compute packets intervals from packet count
This can have an impact when there are inequal sizes of packets (eg.
with FEC symbol size aligned packets).
2015-04-07 14:00:31 +02:00
Martin Pulec
2512737c09 Added Reed-Solomon 2015-04-07 10:44:04 +02:00
Martin Pulec
7faaab480d Fixed wrong constant 2015-04-02 16:26:20 +02:00
Martin Pulec
ab902ebf08 Avoid potential packet rate problems (overflow) 2015-02-18 16:15:43 +01:00
Martin Pulec
33ff4d435f MSW: use asynchronous API
This hugely increases network performance on MSW which make it suitable
to low ratio compressions as well as uncompressed video.
2015-02-12 14:54:35 +01:00
Martin Pulec
afaedbc25a Fixed computation of packet size
Reflect sizes of IPv6/IPv4 header individually.
2015-02-12 14:34:08 +01:00
Martin Pulec
6730b8b3a9 Transmit: get rid of async messages 2015-01-30 14:59:39 +01:00
Martin Pulec
8d78aa6f03 Removed change commited by mistake 2015-01-05 12:43:16 +01:00
Martin Pulec
df665088b0 UltraGrid 1.3 2014-12-23 13:27:07 +01:00
Martin Pulec
e6583622cc Some functions' rename 2014-10-15 16:01:45 +02:00
Martin Pulec
c49e0bc473 OpenSSL encryption: build as a library
+ added API for universal module
2014-10-15 15:50:25 +02:00
Martin Pulec
1d146cbeee Merge branch 'trunk' 2014-10-09 17:50:33 +02:00
Gerard CL
7a20e0b26f merge for opus codec over rtp transmission support 2014-10-09 12:28:54 +02:00
Martin Pulec
54cc95c0da Transmit: assume IPv6 header size 2014-10-08 17:53:25 +02:00
Martin Pulec
d8886e7c81 Fixed another Coverity bugs 2014-09-12 16:07:43 +02:00
Martin Pulec
06d89598fa Fixed some Coverity reported errors
These Coverity errors should be fixed (mostly classified as High
Impact Outstanding by Coverity):
53922, 53923, 53935, 53938, 53945, 53963, 53974, 53976, 53978, 53979,
53980, 53981, 53982, 53988, 53990, 53991, 53993, 53994, 53995, 53998,
54000, 54002, 54004, 54008, 54010, 54013, 54016, 54018, 54020, 54022,
54024, 54025, 54027, 54028, 54030, 54031, 54032, 54033, 54034, 54035,
54036, 54038, 54039, 54041, 54043, 54047, 54048, 54050, 54053, 54054,
54055, 54056, 54062, 54064, 54065, 54067, 54071, 54072, 54074, 54075,
54076, 54081, 54087, 54088, 54089, 54091, 54093, 54096, 54097, 54103,
54104, 54106, 54109, 54111, 54112, 54114, 54117, 54119, 54120, 54121,
54125, 54126, 54129, 54130, 54132, 54133, 54136, 54137, 54140, 54145,
54146, 54149, 54150, 54151, 54153, 54154, 54156, 54157
2014-09-08 15:29:02 +02:00
Martin Pulec
ef733c6f9e audio_frame2: added const semantics 2014-08-21 14:01:31 +02:00
Martin Pulec
abb0cd7a20 Added rate limiter for audio but disable it
Is it really needed??
2014-08-18 12:37:19 +02:00
Martin Pulec
13b3555c0a Rewrite audio_frame2 to C++ class 2014-08-18 12:37:14 +02:00
Martin Pulec
42504a3980 Use C++ compiler for files using audio_frame2 2014-08-13 13:37:52 +02:00