This commit takes the existing travis task list and attempts to split
it into multiple jobs for the sake of efficiency. Also properly
separates out the build/deploy of documentation.
This commit enables travis to automatically build doxygen documentation
on updates to the master branch. The documentation is accessible from
the qTox website under the URL: https://qtox.github.io/doxygen
Add OpenAL-specific define to fix `error: redefinition of 'struct timespec'` when compiling with MinGW.
`timespec` is already defined within MinGW, but probably detection does not work correctly.
Partially fixes#3372
This commit uncomments a previously removed line that creates OSX
binaries. Without creation of the dmg, OSX releases cannot be deployed
automatically by travis on release.
initramfs (26):
feat(video): redesign and improve VideoFrame class
fix(video): fix CoreAV and VideoSurface to conform to new VideoFrame
refactor(video): rename and make the frame alignment propety public
fix(video): fix memory leak caused by unfreed buffers in CoreVideoSource
fix(video): fix slanted video when video size is not divisible by 8
refactor(video): use a new ToxAVFrame structure instead of vpx_image
refactor(video): static cast video dimensions to suppress warnings
feat(video): adds an ID parameter to the VideoSource class
refactor(video): internalize frame reference counting
feat(video): add accessor functions for sourceID and frameID
refactor(video): make type aliases public
refactor(video): use generics to simply VideoFrame conversion functions
refactor(video): rename ToxAVFrame to ToxYUVFrame and add documentation
refactor(video): update documentation to match new format (issue #3559)
refactor(videoframe): correct mistakes in commit documentation format
fix(video): fix a use-after-free with VideoFrame
fix(video): added declaration for missing biglock in CameraSource
docs(video): remove old unnecessary comment pertaining to removed code
fix(video): fix invalid VideoSource ID allocation
fix(video): specify color ranges for pixel formats that are not YUV
fix(video): use a QReadWriteLock to manage camera access
fix(video): force the use of non-deprecated pixel formats for YUV
refactor(video): update code and documentation to honour QSize validity
refactor(videoframe): move all inline/template functions into source
fix(video): guard storeVideoFrame() against freeing in-use memory
feat(video): add a isValid() function to ToxTUVFrame
It became apparent in #3574 that it's not clear what scope should be.
Added `CONTRIBUTING` as suggested by @Diadlo.
Added `build` as suggested by @initramfs.
Also improve formatting of the file, so that it will conform to <=80
chars per line for markdown.
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.
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.
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.