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
TheSpiritXIII
7f5a95a599
Video: Cleanup
2015-08-19 19:13:45 -04:00
TheSpiritXIII
7886fdcb69
Video: resizable group avatar, synchronize avatar
2015-08-19 12:42:54 -04:00
TheSpiritXIII
50041a3140
Video: Initial video when call starts
2015-08-18 17:44:34 -04:00
TheSpiritXIII
814bd922ca
Video: Group audio view avatars
2015-08-18 13:40:11 -04:00
TheSpiritXIII
1522d3848c
Video: Show avatar, clean ups
2015-08-13 09:31:15 -04:00
TheSpiritXIII
9d12c295be
Keep aspect ratio of inner video
2015-08-11 14:01:49 -04:00
TheSpiritXIII
cd90d8d34b
Video: Add collapse/expand button, expand all the way, better self video output location
2015-07-22 14:50:39 -04:00
TheSpiritXIII
4c493b85a0
Video: View self video during video call
2015-07-21 14:38:43 -04:00
TheSpiritXIII
1b10672179
Video: Embed video into chat
2015-07-20 17:57:46 -04:00
Yuri
0895b89794
Prevent crashed when default video format not found.
2015-07-15 01:46:23 -07:00
tux3
9e55c77849
Better freeing of CameraSource
2015-06-26 19:04:53 +02:00
tux3
2ab55568f2
Make the video code a singleton, fix multithreading bugs
...
There can now only be one CameraSource running.
Video frames are decoded in their own thread, and then converted by users in the user's threads.
The CameraSource API is entirely thread-safe and controls the video decoding thread.
The video device only stays open as long as there are users subscribed to the CameraSource.
We use a dangerous combination of spinlocks and memory fences to keep things synchronized.
2015-06-26 18:34:48 +02:00
tux3
9c87d5ed2e
Add 'None' video device
...
Fixes #1825
2015-06-22 14:59:55 +02:00
tux3
36fcb5cb62
Add final/override specifiers
...
We get more compile time checking, and it's always good for performance to help the compiler
2015-06-08 20:08:24 +02:00
Zetok Zalbavar
67e9aeec63
Fix incorrect copyright headers
...
The qTox Project is not associated with the Tox Project in any way, with the
exception of "qTox" using the Tox Projet's "toxcore" collection of libraries.
In particular, the Tox Projet does not own copyright over the qTox Project's
"qTox" collection of software, source code, and assets.
The qTox Project's assets are under the sole copyright of the qTox
contributors, and no partiular rights are granted to the Tox Project.
2015-06-06 14:51:28 +01:00
tux3
20f254651d
Reorganize files
2015-06-06 01:44:47 +02:00
tux3
31f7ded768
Fix #1794
2015-06-05 03:07:42 +02:00
tux3
e3dd2dc9e1
Limit desktop streamins FPS
...
Otherwise we get overwhelmed and start dropping frames
2015-06-04 23:34:17 +02:00
tux3
862ad154fc
Fix crash if avdevice_list_devices fails
2015-06-04 17:22:58 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
44628373cd
Windows desktop capture (gdigrab)
2015-06-03 11:47:19 +02:00
tux3
37a3a8d9d6
Properly set desktop capture region
...
We now capture the full screen by default, with code to handle modesetting, instead of always the FFmpeg default region of 1024x768
2015-06-03 02:10:53 +02:00
tux3
8ad0f6c573
X11 dekstop streaming
2015-06-03 02:10:53 +02:00
tux3
fe4838bb83
Video modesetting for v4l2
2015-06-03 02:10:53 +02:00
tux3
bf3b9239b5
Never resize frames with Qt, use sws_scale
...
If we're going to convert between pixel formats with sws_scale, we might as well do the rescaling in the same step.
Giving a potentially hueg fram to Qt and having it rescale in a separate step is wasted cycles.
2015-06-03 02:10:52 +02:00
tux3
db7d86ae50
Ifdef some dshow code on win only
2015-06-03 02:10:52 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
27bb71f195
Implement video modesetting for dshow
2015-06-03 02:10:52 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
b463028536
Released frames are out of the freelist
...
So they shouldn't call the freelistCallback. VideoFrame now forgets
about the callback when it is being released.
2015-06-03 02:10:52 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
f0f069114c
Implement DirectShow video dev listing
...
We can now get the list of video devices with the dshow ffmpeg device
(so, on Windows). Most of this patch is adapted from libavdevice's dshow
private internal interface, which retrieves useful info but is only
designed to log it to stdout. We reimplement that to get an actual list
of devices names/descriptions, that we can then open with ffmpeg the
refular way.
2015-06-03 02:10:52 +02:00
tux3
8568a6b94e
More compatibility with older libavdevice
...
By not using avdevice_list_input_sources
2015-06-03 02:10:52 +02:00
tux3
95e4a20f05
Compatibility with older libavdevice
...
By not using avdevice_list_input_sources
2015-06-03 02:10:52 +02:00
tux3
d53b426750
Replace OpenCV with FFmpeg
2015-06-03 02:10:52 +02:00
tux3
2505c01cdd
Invert U and V video planes back
...
We now correctly send YUV420P and not YV12 to keep matching uTox bug-for-bug.
2015-05-14 22:36:17 +02:00
tux3
76cbaf18f1
Fix incorrect copyright headers
...
The qTox Project is not associated with the Tox Project in any ways, with the exception of "qTox" using the Tox Projet's "toxcore" collection of libraries.
In particular, the Tox Projet does not own copyright over the qTox Project's "qTox" collection of software, source code, and assets.
The qTox Project's assets are under the sole copyright of the qTox contributors, and no partiular rights are granted to the Tox Project.
2015-05-12 04:12:53 +02:00
sudden6
1506a9a30e
Change log messages to fit new log format
2015-05-11 15:37:56 +02:00
tux3
8fed00cf55
Avoid unecessary copying of video frames
...
And release some more data when possible
2015-05-10 00:35:07 +02:00
tux3
e79d40e356
Merge branch 'pr1446'
...
Conflicts:
src/chatlog/chatlog.cpp
src/chatlog/content/filetransferwidget.cpp
src/core.cpp
src/core/coreencryption.cpp
src/toxdns.cpp
src/widget/form/chatform.cpp
src/widget/form/genericchatform.cpp
src/widget/friendwidget.cpp
src/widget/widget.cpp
2015-05-07 22:00:50 +02:00
tux3
cdf3d9f553
Change some tabs to space for consistency
2015-04-24 23:05:44 +02:00
PKEv
55d33fbcc0
correct after CppCheck
2015-04-13 00:49:24 +03:00
Zetok Zalbavar
f95291af3e
Some style fixes
...
"if(" → "if ("
"for(" → "for ("
"while(" → "while ("
2015-03-20 18:38:10 +00:00
sudden6
df785e6608
Add some error handling in attempt to fix #1240
...
This should prevent the application from crashing, but there is still no
way to tell there is no webcam attached.
2015-03-19 13:30:19 +01:00
Tux3 / Mlkj / !Lev.uXFMLA
c32eb98e6c
CppCheck, some video perf improvements
2015-01-30 13:40:04 -06:00
Dubslow
b245fe034a
Merge branch 'pr949'
2015-01-20 03:48:37 -06:00
derMart
7d11e9192c
0x0 resolution removed
...
better camera initializing in av settings
2015-01-12 18:08:14 +01:00
novist
313f666a2b
Including only required opencv headers. Workaround for opencv bug where partial builds would lack certain headers but opencv.hpp includes them anyway resulting in a build error.
2015-01-08 13:59:05 +02:00
Zetok Zalbavar
e0993a72f6
Style corrections
...
'if()' → 'if ()'
'for()' → 'for ()'
2014-12-11 18:05:52 +00:00
mannol
36d4460fef
Core update
2014-11-18 00:15:54 +01:00
Tux3 / Mlkj / !Lev.uXFMLA
eb2b7d03ad
Fix uninitialized return value in createVpxImage
2014-10-26 21:22:04 +01:00
krepa098
fadbb10ebc
fixup rebase
2014-10-24 16:33:44 +02:00
krepa098
7d4230095c
cleanup, use chroma_shift
2014-10-24 16:04:47 +02:00
krepa098
f05e2ba9c9
refactoring
2014-10-24 16:04:47 +02:00
krepa098
20b7fb0c67
cleanup
2014-10-24 16:03:45 +02:00
krepa098
15851604cd
moved video stuff to src/video
2014-10-24 16:02:55 +02:00