Commit Graph

13602 Commits

Author SHA1 Message Date
9a7498d4da SonarQube:fixes
Change-Id: I1e3647227bdf225267e78d98305bd81d335a72e8
2019-03-15 17:21:52 -04:00
f9b944fafe alsalayer: cleanup and fixed class
Change-Id: Ice2d49076b129c59e3cf6e8a6a70890379ebac71
2019-03-15 16:32:03 -04:00
cebc85322e fix: save audio input/output device at user change
Change-Id: If6cbb6c5753e0eebcf555f4e6126a7d368f93aef
2019-03-15 15:20:05 -04:00
be64436f2b namedirectory: forward declare dht::crypto::PublicKey
Change-Id: I3fb49911b13cf06e513ff4523a78522a9c2059fc
2019-03-15 15:20:05 -04:00
8930de4549 SonarQube: fixes
Change-Id: Ifab6afaee0711332d92bc21b7f2f0658756fa4d8
2019-03-15 12:30:23 -04:00
34ec4f82e6 rotation: always use transpose filter
Change-Id: Ia8ae624f441907b47237149767b0422b5b7abace
2019-03-15 11:15:38 -04:00
6dcca2b980 rotation: fix build with ffmpeg < 4.0
Change-Id: I975fb3844b135c7eb15357558e52f9bbfee13237
2019-03-15 11:15:38 -04:00
fb6dbb060a daemon: added signature verification of name
Verification is done in two ways, first it checks if the public-key
actually matches the registered name,
and second it uses the public-key to verify the signature.

These two checks are sufficient to guarantee that owner of the
registered name is the one who posted name data to the
blockchain nameserver.

Change-Id: If5cfd0eeb01b305f290b7a5e7d424688ccf8ccb1
2019-03-14 16:50:35 -04:00
c01f488b51 daemon: added REST call to resolve name
used callback in restclient.cpp to handle http request asynchronouly

Change-Id: If09d19aa2b73eab2a217b9319c7a911b7c85cf76
2019-03-14 16:50:35 -04:00
9817268c50 nameservice: daemon now POSTs publickey and signed name
When reigstering a name, the daemon now signs the requested name
and POSTs it along public-key
Also added error handling for response from server with appropriate codes

Also added ability to register name from restdring (setNameRegistration)

Change-Id: Id973cb9a2fa4d4410e0266287192ce452d08249b
2019-03-14 16:50:35 -04:00
d4c9b3e3e6 preferences: use constexpr
Change-Id: Iacefbdcb6163f3e5e4637a3c9140cdc2698294dc
2019-03-14 16:50:35 -04:00
60858fdd1b ringaccount: log cleanup
Change-Id: I12cf6898f14b93b2f8d14323d2c4273a48212279
2019-03-14 16:50:35 -04:00
94460d0ec9 qa: fix issues found using clang-tidy
Change-Id: I04de6bb39925c48665cf234f3a714167d9f6ef7c
2019-03-14 16:50:34 -04:00
044ac7649f message engine: retry on peer online
Change-Id: Ic769a3928f84efc3bc83188766292e720b3061df
2019-03-14 16:50:34 -04:00
be41645ae4 configuration: fix saving codec details
Change-Id: I16c3c467ee1b1b583f1dc74e2294b7c069331f73
2019-03-13 17:27:42 -04:00
249bc589cd contrib: update opendht
Change-Id: I01b737e19ce3e6023eedd29e5e158571718994a0
2019-03-12 11:14:53 -04:00
36bee9bb72 build, contrib: remove pcre
Change-Id: Ifc2c224afe9d3de9d52ecc1d66d7d81ccec524ac
2019-03-11 13:08:00 -04:00
efdfbe5e18 namedirectory: lock cache during lookup
Change-Id: If92032d68a6429695cb698ca6fc497b1b095f3a5
2019-03-11 12:33:18 -04:00
f0506e1622 regex: use std::regex instead of pcre, remove pattern
Sdes_negotiator: Omit pattern.h,unique_ptr Using regex
pluselayer: Remove support for pcre

Change-Id: Iab71f482df0dd89de72e28befa25abc0dadab79f
2019-03-11 12:05:20 -04:00
3df2d8a586 contrib/ffmpeg: add transpose filter
Change-Id: Id78f7e751602d65768abd8d0c1fffc0e2503a719
2019-03-11 10:13:58 -04:00
91897ff584 android: support accelerated video rotation
Change-Id: Id19a9987a218ef94915e94df9635c11986d8a34e
2019-03-08 14:53:16 -05:00
dda1f61d22 video: add rotation
Change-Id: I0b760e4ae32ab372cef49ef9c2120e722e041ef1
2019-03-07 16:27:29 -05:00
2a9e7bb9ba KeyFrameRequest: use callback to request new key frame
Change-Id: Id7c250c83de49d0ae712bb5e1e95d3f11565efe9
2019-03-07 12:40:03 -05:00
1293273396 accel: add hardware encoding
Adds VAAPI and VideoToolbox hardware encoders.

Abstracts hardware related field accesses from the encoder and decoder
to put them in HardwareAccel. They are freed in ~HardwareAccel.

Limits bitrate when hardware encoding h264, else it can easily go up to
a few MiB/s.

Change-Id: I7d847d8ab3e4c9692341f038ce6d5dd76562e606
2019-03-06 15:57:54 -05:00
fda668f9f1 accel: modernise decoding
Rewrites the hardware decoding system with C++-style code instead of
C-style.

Removes support for hardware decoding h263, as we do not use the h263p
decoder, which is the codec with hardware support.

Change-Id: I96b796ba8847dadd388c6e29eaee1115b25c2fb3
2019-03-06 15:57:54 -05:00
abc14fb0bb SonarQube fixes
Change-Id: I9059de723d757a437eb04fd05b01b16e29219b98
2019-03-05 13:40:28 -05:00
40f62e9807 SonarQube:fixes
Change-Id: I653a3435a51f7aa6bdd200235298c28fa0d6fe22
2019-03-05 11:49:17 -05:00
947a4646e3 SonarQube: integration of config files for static-analysis/linter
This will improve code quality and detect possible bugs. Please note it is
only for daemon and linux build at the moment.

Change-Id: Ib91c188ed087c94c361ff585b69629cf2ffa755f
2019-03-04 11:36:27 -05:00
357537f106 debug: add video writer
Writes raw frames of any pixel format. File can be played with:
ffplay -f rawvideo -pixel_format <format> -video_size <width>x<height> <file>

Change-Id: I774642f84694a36c16436ba2aa1363edc7ee3d62
2019-02-22 15:41:53 -05:00
2011f36677 tls: fix compilation when not using tls 1.3
Change-Id: I43762a658e7f8fb43c6b0fda4cc38ce040e18f13
2019-02-21 17:23:55 -05:00
63786c809c tlssession: supports TLS 1.3
Bump GNUTls to 3.6.5 and nettle to 3.4.1

Change-Id: I666f5137ad2c495b4c49b838b8ecf281ed523766
2019-02-21 13:49:05 -05:00
30862d5a1c macOS: bump minimum version support
Current minimum macOS supported version is 10.11, but contributions
were build for 10.8. This patch bump minimum version for contribution
to 10.11 as well.

Change-Id: I9d7a45ce2409b309b2bbab5be85b5cbb60801b34
2019-02-21 10:22:07 -05:00
f02d3225a3 contrib: update opendht
Change-Id: Ia7f75e47d5a1e12bd07a8774b5cebc5ac86238f0
2019-02-20 18:59:06 -05:00
a094152b2f contrib: update opendht
Change-Id: I5729be1472dc0b347d029c6a694f442a8bb36712
2019-02-20 18:51:20 -05:00
1b769bce98 ringaccount: protect pending messages access
Change-Id: If2f26577d1e48812bb0b49e00bcd716e5b73fa7f
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2019-02-20 13:42:14 -05:00
d3e9462231 build: build specific contribs on windows
Change-Id: I2b5b0d4892d44ff861a45a2a4d7cff937b1e280f
2019-02-19 11:24:42 -05:00
fef703874c encoder: fix race condition segfault in rtp_write_trailer
Change-Id: I5b036bd9285197934eae942c8c2c23d675bc69af
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2019-02-18 15:32:25 -05:00
68f7c77f80 media decoder: fix warning
Change-Id: Iffa05aec0c61f8db1e4bed82ce2b3df95b77f30b
2019-02-14 12:47:22 -05:00
d314184763 contrib: update opendht
Change-Id: I128e6dcdb5fe0f601cc6ccea086c5260abe70290
2019-02-14 12:47:10 -05:00
2fda4b2d07 media decoder: deal with particularities in ffpmeg's avrational
Change-Id: I913ba3783f499d47ace745740443f24849b288b0
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2019-02-14 09:47:23 -05:00
e4fa8338cb winvideo: only add relevant framerates to ratelist
- Ignores video formats with duplicate or zero bitrates.

- Adds only the average framerate to the list instead of the min
  and max.

Change-Id: I18b878a3235fe786281b10627232e046fc8f77d6
2019-02-13 18:18:21 -05:00
1cf882766b winvideo: implement video device monitor
- Creates a window to use RegisterDeviceNotification then converts
  the device name to a friendly name using the windows setup api.

Change-Id: Ia0946b5febdbd48b8633931b8902e6aca824907c
2019-02-13 18:17:41 -05:00
e928f99e2c video: keep hardware frame reference
Adds possibility to keep the hardware frame reference on the receiver
side instead of immediately transferring it to main memory.

Components that require software frames were updated to transfer the
frame back to main memory.

Change-Id: Idb9ecb64fdefedb9db160ec93592d7a047d356e8
2019-02-13 16:52:05 -05:00
08222f2dc4 macOS: video settings
Sometimes changing of video settings does not work because of
using unsupported framerates. This patch lists framerates depending
of resolution so only supported framerate could be selected.

Change-Id: I779c0a769c9ab611962e689173bed109932b652e
2019-02-13 11:33:20 -05:00
cc0aaa4e61 coverage: fix jenkins pipeline
Jenkins uses /foo folder, so only remove /foo/contrib and /foo/bin from
coverage.

Change-Id: I89b43f4bbc505e5001ceee733742352edb428208
2019-02-12 13:17:45 -05:00
e059062a01 encoder: cleanup and simplify
Cleans up the encoder a bit and removes methods that weren't used or did
nothing. In any case, it should not be the encoder's responsibility to
mute audio/video.

Removes direct accesses to private data. All these options are accessible
through the av_opt_* API with the AV_OPT_SEARCH_CHILDREN flag.

Adding streams to the encoder is now done separately than opening an RTP
output in an effort to streamline the encoder setup (file vs RTP).

Change-Id: I7a868d098fa942697cfbe3246f368fb9fc7bfb0f
2019-02-12 11:03:10 -05:00
9de822ce5b video: don't always clear default device when calling removeDevice
- Checks if there are still video devices in the list, and if so,
  sets the default to the 0th, otherwise empties the string.

Change-Id: Ib7fed45bf2d32d1d41c6286b4d62c71183eed39d
2019-02-11 16:54:35 -05:00
e75fb15393 videogenerator: use AVPixelFormat
Change-Id: I6989c6708ccfab2a2bcdc274c353e3efdc1ffc8c
2019-02-11 14:43:57 -05:00
9af60e1dee videomanager: add AVSinkTarget
Allows clients to retrieve an AVFrame instead of a FrameBuffer

Change-Id: I19ca0935fa08b46e0261713e842e1b4f156bdbe7
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2019-02-11 14:42:53 -05:00
c75a7cd795 video_device_impl: fixes
Change-Id: I54d78bab69ecc3ea5249336b492f88043b138e5d
2019-02-11 11:13:01 -05:00