1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

202 Commits

Author SHA1 Message Date
Zetok Zalbavar
80f5de31b3
style: reformat current C++ codebase using clang-format 2017-02-26 11:52:45 +00:00
sudden6
39b473cc86
Merge pull request #3309
Nils Fenner (1):
      refactor(audio): remove obsolete signal "groupAudioPlayed"
2017-02-08 13:32:47 +01:00
Yuri
2340a7491a style(video): Simplified ifdefs, made them USING_V4L to be explicit.
Changed complex ifdef statements into simpler ones using the easy to
read token USING_V4L.
2017-02-05 10:44:58 -08:00
Diadlo
fcd8eed7cd
style: Fix style of a lot of pointers 2017-01-06 23:03:58 +03:00
sudden6
e07d8d358f
feat(toxid): reduce passing Tox IDs around
reasons:
- most of the time we don't even know the Tox ID but only the Public Key
- use well defined objects instead of strings that could be anything
2017-01-04 00:20:24 +01:00
Zetok Zalbavar
d4ac13dbf4
revert: "refactor: Added to include path and exclude it from all includes"
Revert needed, since otherwise there is no way to do automatic sorting
of includes.
Also reverted change to the docs, as leaving it would make incorrect
docs.

In case of conflicts, includes were sorted according to the coding
standards from #3839.

This reverts commit b4a9f04f92.
This reverts commit 5921122960.
2016-12-29 16:10:53 +00:00
sudden6
8d320ca3be
chore: Make building for FreeBSD easier
Add some patches from https://svnweb.freebsd.org/ports/head/net-im/qTox/
and make some things more platform independent.
2016-12-28 22:15:16 +01:00
Diadlo
3c304c50bc
refactor(core): Added error handling 2016-12-19 00:42:54 +03:00
Zetok Zalbavar
7b60a5dd36
chore: explicitly mention that copyright belongs to qTox contributors 2016-11-29 11:12:06 +00:00
Diadlo
b4a9f04f92
refactor: Added to include path and exclude it from all includes 2016-11-28 23:28:42 +03:00
Zetok Zalbavar
64bbc6cfbb
style: change postfix increment to prefix increment 2016-11-03 07:57:14 +00:00
Diadlo
26a27cf3f8
fix(videomode): Added ability to store negative coordinates 2016-08-24 22:35:31 +03:00
Diadlo
672744de96
docs(audio, video): Added leading stars 2016-08-19 00:20:23 +03:00
initramfs
ef157ca8af
fix(video): fix scaling issues under HiDPI displays with desktop video
This commit fixes missing scaling factors with desktop video to allow
desktop video under HiDPI scaling to work as intended. Also removes a
few obsolete lines of scaling that that was required for older Qt
versions.
2016-08-16 14:27:56 +08:00
Zetok Zalbavar
79c249be55
fix: use qAbs() instead of abs() for better platform compatibility
Apparently FreeBSD doesn't include by default `stdlib.h` that provides
`abs()`.

Fix suggested by @antis81.

Fixes #3613.
2016-08-15 23:27:44 +01:00
Nils Fenner
018360887e
refactor(audio): remove obsolete signal "groupAudioPlayed" 2016-08-08 14:22:02 +02:00
initramfs
3e7d55e833
feat(video): add a isValid() function to ToxTUVFrame 2016-08-06 22:12:32 +08:00
initramfs
5b31b5db72
fix(video): guard storeVideoFrame() against freeing in-use memory
This commit fixes an issue where storeVideoFrame() can in rare cases
free memory that is still in use. Also adds extra documentation
documenting it's precise usage.
2016-08-05 10:42:07 +08:00
initramfs
f6a698bec5
refactor(videoframe): move all inline/template functions into source 2016-08-05 09:20:21 +08:00
initramfs
07f5cf3a65
refactor(video): update code and documentation to honour QSize validity 2016-08-05 09:16:31 +08:00
initramfs
df3345dce5
fix(video): force the use of non-deprecated pixel formats for YUV 2016-08-04 23:46:37 +08:00
initramfs
de6475f3d3
fix(video): use a QReadWriteLock to manage camera access
This commit changes the mutex-memfence combination to a pure-mutex
implementation within CameraSource. This should prevent a lot of
pre-existing race conditions from happening.
2016-08-04 23:18:37 +08:00
initramfs
00270ee4d2
fix(video): specify color ranges for pixel formats that are not YUV 2016-08-04 23:16:46 +08:00
initramfs
707f7af29a
fix(video): fix invalid VideoSource ID allocation
This commit fixes the an invalid ID allocation by VideoSource, before
this commit all VideoSources receives the same ID causing VideoFrame to
believe all frames belong to the same video source.

Additionally, this commit addresses issues with deprecated pixel
formats and silences libswscale warnings.
2016-08-04 19:51:15 +08:00
initramfs
c4f88df7c9
fix(video): added declaration for missing biglock in CameraSource 2016-08-04 06:33:40 +08:00
initramfs
8487dcecf8
fix(video): fix a use-after-free with VideoFrame 2016-08-04 06:33:40 +08:00
initramfs
8ef89a267e
refactor(videoframe): correct mistakes in commit documentation format 2016-08-04 06:33:40 +08:00
initramfs
8d3aef9269
refactor(video): update documentation to match new format (issue #3559) 2016-08-04 06:33:40 +08:00
initramfs
f85a299e75
refactor(video): rename ToxAVFrame to ToxYUVFrame and add documentation 2016-08-04 06:33:40 +08:00
initramfs
6d18c109e8
refactor(video): use generics to simply VideoFrame conversion functions
This commit replaces the contents of toQImage(), toToxAVFrame() and
getAVFrame() with speciailized calls to a generic toGenericObject()
function for better code clarity.
2016-08-04 06:33:40 +08:00
initramfs
897cec4e75
refactor(video): make type aliases public
This allows other classes to use the type aliases defined in the
respective classes within their own code.
2016-08-04 06:33:40 +08:00
initramfs
8952208e8a
feat(video): add accessor functions for sourceID and frameID
Additionally refactors some code to be more optimized.
2016-08-04 06:33:40 +08:00
initramfs
80a776475c
refactor(video): internalize frame reference counting
This commit takes the frame tracking code and internalizes it into the
VideoFrame class itself for better reusability. The code in
CameraSource has since been removed.
2016-08-04 06:33:40 +08:00
initramfs
4ac20c7b46
feat(video): adds an ID parameter to the VideoSource class 2016-08-04 06:33:40 +08:00
initramfs
57f38e281b
refactor(video): static cast video dimensions to suppress warnings 2016-08-04 06:33:40 +08:00
initramfs
8bfbae1b47
refactor(video): use a new ToxAVFrame structure instead of vpx_image
Instead of misusing an existing structure from another library, defines
a new simpler structure that reflects the capabilities of the ToxAV
transport mechanism.
2016-08-04 06:33:40 +08:00
initramfs
904495d2bf
fix(video): fix slanted video when video size is not divisible by 8 2016-08-04 06:33:40 +08:00
initramfs
3df6b990ae
fix(video): fix memory leak caused by unfreed buffers in CoreVideoSource
Fixes a memory leak caused by old code within CoreVideoSource in the
way AVFrame buffers are allocated.
2016-08-04 06:33:40 +08:00
initramfs
50f67b3cef
refactor(video): rename and make the frame alignment propety public
Making the frame alignment property public allows for a standardized
parameter for frame alignment, usable by other code that allocates
frame buffers.
2016-08-04 06:33:40 +08:00
initramfs
277ddc3d2f
fix(video): fix CoreAV and VideoSurface to conform to new VideoFrame 2016-08-04 06:33:40 +08:00
initramfs
38b1a9b63d
feat(video): redesign and improve VideoFrame class
This commit redesigns the VideoFrame class to be more robust,
documented and performant
2016-08-04 06:33:40 +08:00
Diadlo
29443040fb
docs(audio, video): Change comment style 2016-07-27 01:23:27 +03:00
Diadlo
3edd84c4d8
refactor(videomode): Move implementation in cpp file 2016-07-27 00:40:15 +03:00
Diadlo
b1adef2fd0
fix(corevideosource): Partial revert of ef641ce6d3
Fixes crash, during video call with "None" video device.
Fixes #3527.
2016-07-23 11:01:23 +03:00
sudden6
b5c8c60d81
Merge pull request #3505
Colomban Wendling (1):
      fix(x11grab): try and use the current display
2016-07-16 23:50:12 +02:00
Diadlo
2258748d28
style(audio, video): Style fixes 2016-07-13 01:54:37 +03:00
Colomban Wendling
294bdab77f fix(x11grab): try and use the current display
Don't hard-code ":0" as the display and try and use the DISPLAY
environment variable instead.

This fixes screen grabbing under X11 when the user is not on screen 0.

Fix #3500.
2016-07-12 21:31:33 +02:00
sudden6
e97a870c0f
Merge pull request #3392
Diadlo (12):
      refactor(avform): Extracted functions with best mode search and combo box filling
      refactor(avform): Replace `bestModeInds` on videoMode index and video height as quality name
      refactor(avform): Separeted search of preferred index in function
      fix(avform): Took default resolution from middle of list
      feat(videomode): Added possible video shift
      feat(cameradevice, avform): Added ability of screen selection
      feat(avform, screenshotgrabber): Added custom screen region selection
      style(corevideosource): Small style fixes
      fix(videoframe): Added correct image copy
      fix(avform): Added restoring selected region
      feat(camerasource): Change default video mode to preferred
      fix(directshow): Fixed problem with crosses initialization
2016-07-12 19:56:41 +02:00
Diadlo
f8a45b4051
fix(video): Changed minimum window size with video
Fix #3396.
2016-07-09 22:15:04 +03:00
Diadlo
c3de6238ca
feat(camerasource): Change default video mode to preferred 2016-06-25 14:20:13 +03:00
Diadlo
1ddc1371a0
fix(videoframe): Added correct image copy 2016-06-25 14:20:13 +03:00
Diadlo
ef641ce6d3
style(corevideosource): Small style fixes 2016-06-25 14:20:13 +03:00
Diadlo
d781a4f762
feat(cameradevice, avform): Added ability of screen selection 2016-06-25 14:20:08 +03:00
Diadlo
fd701df101
feat(videomode): Added possible video shift 2016-06-25 14:19:46 +03:00
Polshakov Dmitry
343568339f
style(constructors): Constructors are explicit now 2016-04-20 22:53:27 +03:00
Polshakov Dmitry
910c41f4fa
perf(camerasource): Passed parameter by reference 2016-04-20 22:53:27 +03:00
Diadlo
082fb4c056
refactor(videoframe, camerasource, corevideosource): Change calls deprecated functions 2016-04-20 13:17:19 +03:00
initramfs
00947bc7ad
refactor(video): simplifies retrieval of primary screen
This commit reduces primary screen retrieval to a single static field
access as opposed to obtaining a runtime instance of the QApplication
object
2016-04-04 23:02:54 -04:00
initramfs
d2189f3891
fix(video): uses explicit default screen from QGuiApplication
This commit changes the method used to obtain the active screen from
simply selecting the first screen in the list to using the explicit
default screen from QGuiApplication::primaryScreen() function
2016-04-04 09:06:16 -04:00
initramfs
75b40d0a6f
fix(video): incorrect desktop video resolution when using HiDPI
Fixes desktop sharing region being clipped when DPI scaling is being
used.
2016-04-03 10:17:25 -04:00
sudden6
a770b9be20
fix build on mac 2016-03-22 15:44:50 +01:00
Sean
f595f4f817 camera res option reduction 2016-03-21 21:17:21 -05:00
Sean
ffa312b91b tabs to spaces 2016-01-26 13:34:29 -06:00
Sean
ded8d87ba8 generic pixel format selection 2016-01-26 13:14:58 -06:00
tux3
aef447d7c7
Have v4l2 read MJPEG video by default
Fixes #2826

Thanks to @seanlaguna for finding a fix
2016-01-20 00:00:03 +01:00
Andrew Novikov
985def25ff Implemented screen capturing support for Mac OS X 2015-12-23 15:31:28 +03:00
Andrew Novikov
cc64db3f27
Implemented listing and setting video modes on Mac OS X 2015-12-21 01:27:38 +01:00
Andrew Novikov
9d43062639
Changed the type of VideoMode::FPS to float: this is necessary for Mac OS X which uses frame rates like 29.97 2015-12-21 01:27:01 +01:00
Andrew Novikov
cf6623cfc8
Implemented enumeration of video devices. 2015-12-21 01:26:18 +01:00
tux3
e286f9673c
Fix use after free of NetCamView
Someone was connecting a singal to a lambda capturing this, and never disconnecting it in the destructor. Capturing this is DANGEROUS, kids, don't do this at home.
2015-12-15 21:19:18 +01:00
tux3
25ed3d4fba
Fix avatars for encrypted profiles
WARNING: Note that avatars for encrypted profiles are currently stored unencrypted!
2015-12-05 19:08:28 +01:00
tux3
b1f8d3f912
Fix attempt for #2438 2015-12-04 20:35:50 +01:00
tux3
104095c6be
Fix video starting with bad resolution
The netcamview has no business trying to open the video source, especially in the wrong video mode
2015-12-04 13:56:42 +01:00
tux3
bf8bdaf619
Improve perf of opening/closing AV tab
Should help with #2424
2015-11-07 18:30:09 +01:00
tux3
71e26fb15b
List video devices using v4l2 directly, not ffmpeg
Turns out, FFmpeg is annoyingly unreliable when it comes to this. It ignores uvcvideo devices for example
2015-11-07 01:34:07 +01:00
tux3
50006a9a32
Faster video device opening 2015-10-24 05:20:49 +02:00
tux3
e1c61cd207
CoreVideoSource: Replace insane spinlock by QMutex
What was I thinking.
2015-10-24 04:38:00 +02:00
tux3
c0d8703368
Properly signal when we stop sending video
And properly handle toxav happily delivering things out of order,
like firing a video frame callback right after a callback setting the bitrate to 0,
when the peer sent these commands in the right order
2015-10-24 04:26:39 +02:00
tux3
8ebf07762f
VideoSurface: Release null frames 2015-10-24 03:30:42 +02:00
tux3
aaf04a80db
Remove some debug output 2015-10-24 02:46:34 +02:00
tux3
51ffd94e68
Fix possible nullptr deref in ~CameraSource 2015-10-23 20:30:22 +02:00
tux3
6dc91b156a Use actual mutexes for CameraSource
That homemade spinlock thing was insane, VTune says we were spending 1.5s spinning for no reason when openning a device for example
2015-10-23 17:52:46 +02:00
tux3
f45256baf1 Implement group calls 2015-10-23 17:52:45 +02:00
tux3
69b8a90277 Implement video calls 2015-10-23 17:39:08 +02:00
tux3
512dc8de2d Implement basic call logic
We can now make New AV calls, but without any audio/video. Just opening a link.
2015-10-23 17:09:53 +02:00
tux3
dbbc702c60 Strip out old AV code 2015-10-23 17:02:01 +02:00
tux3
1f61534841 Merge branch 'pr2343' 2015-10-23 15:20:58 +02:00
agilob
ecbda91764
Merge remote-tracking branch 'bitok/fix_performance_issues' 2015-10-21 19:12:15 +01:00
Nils Fenner
1fc703c281
fix warnings 2015-10-18 22:20:16 +02:00
Zetok Zalbavar
d60cfe07b6
Remove an empty line and unneeded slash 2015-10-18 17:04:49 +01:00
agilob
cde9721600
qunused on event 2015-10-18 10:18:13 +01:00
agilob
d2e09ead7a
one more line to remove 2015-10-18 10:18:13 +01:00
agilob
d875221e53
remove unused code, removed unused checks 2015-10-18 10:18:06 +01:00
bitok
d6ff67893f Fix performance issues detected with static analyze 2015-10-13 23:21:20 +03:00
agilob
7c6ac40d21
add debugging messages to camerasource, code reformatting to make it more readable and ogranized better 2015-10-11 07:38:44 +01:00
agilob
266c0fb989
Merge branch TheSpiritXIII:video 2015-10-10 13:49:30 +01:00
Dmytro Shynkevych
901befb270 cameradevice: fixed a double free
Introduced by c491f79077
2015-10-09 19:10:43 -04:00
Dmytro Shynkevych
c491f79077 cameradevice: fixed a regression
Memory would sometimes not be freed.
Caused by 8776682d44
2015-10-05 21:21:12 -04:00
Dmytro Shynkevych
8776682d44 cameradevice: fixed a major leak: avformat_context not always freed 2015-10-04 17:21:52 -04:00
Zetok Zalbavar
6998c2c757
Make 'None' and 'Desktop' camera device names translatable
fixes #2252
2015-09-18 19:12:10 +01:00