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.
initramfs (3):
chore: rewrite all links to the qTox repository from tux3 to qTox
chore: rewrite forgotten tux3 link to qTox
docs(INSTALL.md): remove unnecessary backticks in qTox URL
This commit replaces the contents of toQImage(), toToxAVFrame() and
getAVFrame() with speciailized calls to a generic toGenericObject()
function for better code clarity.
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.
Instead of misusing an existing structure from another library, defines
a new simpler structure that reflects the capabilities of the ToxAV
transport mechanism.