Commit Graph

13602 Commits

Author SHA1 Message Date
cbdf0a13fc Makefile.am: remove foo folder for better coverage
Change-Id: I592902fb71aa6b7a155c7656298596e0931da353
2019-02-11 11:12:52 -05:00
61a7bb6361 audio: don't needlessly restart/stop audio layer
Change-Id: Ifc04005addd189d2e4829372cb53ce29152d102c
2019-02-11 09:55:38 -05:00
f73eedaf26 proxy: support multi dht proxy
The entry to use a dhtproxy should supports multiple proxy to
balance the load. If multiple proxy are specified, the daemon
will select one proxy and use it.

Change-Id: Ib9cf2692e41a726ce1073537bdbbbf33654e50e7
2019-02-06 12:19:26 -05:00
8ee6d40fba doxygen: enable searchengine
Change-Id: If4a8407b130950e150153ab9c2d072c51f2894a7
2019-02-05 17:55:58 -05:00
cc06b84703 docs: fix doxygen makefile to sed project name+version+srcdir
Change-Id: If627188657bf3f024ff7604e4de752e6cf9d83e0
2019-02-05 11:54:25 -05:00
f7aaf32c1e audio_input: switch to mic on empty resource
Change-Id: Ia65bdc80217c407d43b1c4cb064530c04a94a851
2019-02-04 13:39:50 -05:00
c30db636f8 account_factory: fixed unitTest
Change-Id: Ib9cf84c2dfbf8491248ca219bb85eaf8b3523702
2019-02-04 11:35:37 -05:00
e0ce35418d doxygen: update config file
Change-Id: Id5fcca08b9ff0b3322aa71a1cbb7d7c8c1741fd9
2019-02-04 11:34:33 -05:00
c52e332b0b audio: add audio meter
Adds a signal that sends the linear RMS level for a given ring buffer.
The signal must be turned on via the API and can be turned off when
needed.

Adds an audio preview so the mic can be read. Call startAudioDevice and
stopAudioDevice to initialize and stop the audio layer.

Change-Id: I6a71ef87ee805a6d4bfa824fa901dd638e8cbd65
2019-02-01 10:10:02 -05:00
53da9361e5 encoder: fix recording
Recorder has multiple streams, and needs to know which streams it's
writing the packet to. Also reverts the change to a hardcoded timebase
of 1/20.

Change-Id: I75989ceafe4e4956ebb1adbbd53d13564aa942ea
2019-01-28 12:20:53 -05:00
28938f7c8d videomanager: add requestKeyFrame signal for Android
Allows to request key frame from client-side hardware encoder.

Change-Id: Id14ea527bc5e0852de4538c93ac60da5616879ec
2019-01-27 00:21:35 -05:00
2aad6913b4 video: allow capturing encoded packets
Change-Id: Idb983898ae2cd0d9b58a46baf76073b9eac4e3be
2019-01-26 17:55:16 -05:00
aff0eda4f9 encoder: allow config to override some settings
MediaEncoder sets some of AVCodecContext's fields. Allow the
configuration file to override these fields.

Change-Id: Ic44da217344aca2da0634e81bf247d4a21bb9510
Reviewed-by: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
2019-01-25 14:12:37 -05:00
19442e3b09 encoder: support loading per encoder config
This allows users to use different configurations than the one provided
by Jami. File settings overwrite Jami's existing configuration options.

Note that only codec-level options are supported, format-level is not
implemented.

The following options are ignored, as they are set by going into the
settings page: width, height, framerate, sample_rate, channels,
frame_size, parameters (internal option for h264's profile level id).

If a file encoder.json exists in the same folder as dring.yml, it is
loaded into the encoder's configuration options. The config file is
separated by codec. Multiple configurations can exist for the same codec
family (ex: libx264 and h264_vaapi) because each encoder has different
options. Section name should be the codec implementation's name and not
the codec's name (h264 won't work, but libx264 will).

Example configuration file:
{
    "libx264": {
        "crf": 15,
        "preset": "ultrafast"
    },
    "h264_vaapi": {
        "low_power": 1
    },
    "libopus": {
        "application": "voip"
    }
}

Change-Id: Ia6bb184af382638d4016256b393ac7295408ed82
Gitlab: #75
Reviewed-by: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
2019-01-25 14:12:32 -05:00
abb09e1e91 libav_utils: add shortcut to set dictionary values
Change-Id: Iab880ac674e15dc2f0baba260632ead4cb6e4870
Reviewed-by: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
2019-01-25 14:12:17 -05:00
d0390c98f6 recorder: fix sequence of operations
Change-Id: I1dc2f0c12cc7be2efea92add495fa42a982ad8a1
2019-01-24 17:31:08 -05:00
ee2dd41a61 audio_input: unbind default buffer from file buffer
Change-Id: Iccf2b2234ecc17e8ef3c4cb2f144648aee8bbc45
2019-01-24 14:44:11 -05:00
505ae0d7bd accel: get/set directly in video prefs
Declutters Manager a tiny bit.

Change-Id: I322685b865f71e96f85bb00117486053cf483d08
Reviewed-by: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
2019-01-24 11:15:08 -05:00
5421633d70 nodejs: add hardware codec signals
Change-Id: I9fe37333bfbd4f089c8d85db9c2b446e4a1a7cbe
Gitlab: #55
2019-01-22 10:44:00 -05:00
754f17df3c portaudio: expose seperate indexes for input/output devices
- Portaudio enumerates all input and output devices in a single
  list, but we split them up in the selection models in lrc. This
  patch exposes device indexes based on device type, converts them
  to an Portaudio index for saving to preferences.

- This patch also catches out of range values incoming from the
  saved preferences. This can happen if we decide to switch default
  host APIs in portaudio, or if someone's cat walks on their laptop
  while they edit their config.

Change-Id: I350f283588745fe4186ae11a8410d7c9374b72ee
2019-01-16 17:35:14 -05:00
3dcfb098c1 portaudio: use directsound and a full-duplex stream
- forces dsound as the only host API
- patches portaudio dsound impl to use AEC and NS if possible

Change-Id: I3f648a41ae8991318c839de22ca322f350a2b2b2
2019-01-16 17:32:45 -05:00
b59eddda00 contrib: update opendht
Change-Id: I9d6a31e35672b370faf155ab64aa1222a10cd6eb
2019-01-16 16:01:12 -05:00
94c8f4b616 accel: add signals when toggled
Preemptively adds signal for hardware encoding so version won't have to
be bumped again.

Change-Id: Ie3b828671fab3628853b85a2a8259200e9a809c0
Gitlab: #55
2019-01-16 13:26:09 -05:00
8d0d80b3f7 resampler: set matrix on uninitialized context
A comment in swr_set_matrix says "[SwrContext] needs to be allocated
but not initialized" before returning an error code.

Adds a unit test for reinitializing a matrix.

Change-Id: If8f38a5dd15393f8ae9578b4f272c2554a663c11
2019-01-15 16:30:03 -05:00
c422fd093d makefile: better coverage
Added precoverage step to ensure the percentage of lines covered are accurate

Added remove feature to better target files

Fixed coverage routine at the end

Removed make check in precoverage

Excluded /bin/* files

fixed output file

Change-Id: I7a4a4947d7a5491543e58b1c4b029db3cbcd0b7c
Reviewed-by: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
2019-01-15 14:32:31 -05:00
d18192bdb5 call: mute audio on macOS
Change-Id: If1b0abb2939fae2d6374991616419a5703bec09e
2019-01-14 21:18:35 -05:00
ed6995370b Build with _LARGEFILE_SOURCE _FILE_OFFSET_BITS=64 on Linux.
Add -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 to CFLAGS and CXXFLAGS
on Linux platforms, except on Android.

Makes the build not fail in 32-bit linux.

Change-Id: I31358b69b2bf0a99b03d148fbc9f0a3a235d9741
2019-01-14 21:18:19 -05:00
d2f1f81cd2 ringaccount: remove presence only if all values for all devices has expired
Change-Id: I4dda17d658aaa5324827625cef4971499119ec84
2019-01-14 15:15:13 -05:00
e2ac73b3a1 sip test: fixed configuration file not being found
Fixed unused parameter warning for main function

Fixed test_sipp.cpp not finding dring-sample.yml in test cases

Change-Id: Ie88ce5853bf18aa6f9c5c07bc0ec888aa268682f
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2019-01-11 11:39:48 -05:00
91a7780591 audio_frame_resizer: fixed unitTest
fixed getFormat

fixed testCase evaluating the sample of the queue

Change-Id: Id6ddb3ee90e674776bec53cfa81e984d47db3ef9
2019-01-11 11:39:10 -05:00
3aa08a5985 gitignore: ignore coverage files
Change-Id: I81c5c16cfd50e029ccbba84705e855139db4b189
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2019-01-11 09:56:47 -05:00
ffbd2a0f56 Fix 'configure --enable-restbed-old-api'.
(It would probably be enough to just include config.h, but now the
intention is clearer)

Change-Id: Ia427d940b5b9e94b6ba174fc38e9d638d507ae45
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2019-01-11 09:10:14 -05:00
97579542b0 audio: fix mute
Change-Id: I71fbb873a57eacb83a22474d88cc772c733ea38e
2019-01-10 15:28:42 -05:00
5f1e61d559 contrib: patch upnp to support store and windows7
Change-Id: I30ca1d3cc90f1ed30beff1934e8eff66820e61ab
2019-01-10 13:36:16 -05:00
e22acb9f34 ringaccount: update account's archive before exporting
If the archive is not updated before exporting it, contacts can be
missing (because the file is only updated when a new device is
added for now).

Change-Id: Ie1068af26826b2a9acd1aa2c76123cff43eb6836
Gitlab: #65
2019-01-10 13:22:09 -05:00
fe226c7a41 Revert "Revert "media_encoder: fixed unitTest""
This reverts commit 0bba87efce.

Reason for revert: merged by mistake

Change-Id: I884227ca3152fa068028a8d4fb839603eb98e1d5
2019-01-10 11:44:28 -05:00
0bba87efce Revert "media_encoder: fixed unitTest"
This reverts commit 5d8d6252d1.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I6bf7ed70695901cc9e115ea93155be720c71ee29
2019-01-10 11:10:54 -05:00
9f191323d2 ip_utils: set _WIN32_WINNT to support windows7 when building win32
Change-Id: I0a79b5c4825a346309361e53afe7b328b1c0df8d
2019-01-09 20:29:30 -05:00
9011eeb518 ringaccount: remove debug line
Change-Id: Ifcbb7c34c429b7bc68db68b32be6569aa3fc6453
2019-01-09 09:30:40 -05:00
2b40016b12 datatransfer: decode multi-byte path string on windows
Change-Id: I0c6cb7a45ceb142717519f4dfd2a8541aea5db5d
2019-01-07 19:35:21 -05:00
13b8e81efc audio: input format
Change-Id: I4f886e8d03da3cef6ae9746f7dc56a2b77816db1
2019-01-07 19:03:15 -05:00
5d8d6252d1 media_encoder: fixed unitTest
Change-Id: Ic5c7b37ee534b4e379c7b7ec363d459e85c024d8
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2019-01-07 17:38:58 -05:00
6f42739902 audio_frame_resizer: fixed setFormat
fixed unitTest

frameSize should be set before reallocating the queue

Change-Id: Ie9cefb5419b34d487d67fcd6bd44f66aa192dc57
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2019-01-07 17:38:30 -05:00
d4808158ca win32: handle multi-byte characters in path strings
Change-Id: I30276479189012edfb4f334641c66596c59b0ba9
2019-01-06 22:16:13 -05:00
f5ce0b2b5a Revert "audio: buffer size"
This reverts commit e61092b302.

Change-Id: I0b92a092baa0818199ab5dea44d79337aa60791f
2019-01-05 21:56:49 -05:00
d07f3ef151 video device monitor: initialize mutex before structures
Change-Id: I4c5e046383c4ca3b9de2b66521d5d61ae01b3e14
2019-01-05 19:45:13 -05:00
e61092b302 audio: buffer size
use different size for apple and other platforms

Change-Id: I9b5d6385dca64e624e221a42fc1c6440aa7f72f0
2019-01-05 18:41:49 -05:00
83c5ad9d0a ringaccount: handle untracking buddy presence
Change-Id: I6ff9480aa8bfedcf4de96d16d25162b7f65acc16
2019-01-05 01:16:22 -05:00
981c9df98e pulselayer: honor isPlaybackMuted, isRingtoneMuted
Change-Id: I419b7c77987347bab6aa0b67205eb4e3743c9365
2019-01-04 17:48:53 -05:00
f381fc36a6 frame resizer: update format if format changed
Change-Id: Ieef91a39e066116544ff4d95efed6ba62718ac11
2019-01-04 17:46:30 -05:00