summaryrefslogtreecommitdiff
path: root/toxav/toxav.c
AgeCommit message (Collapse)Author
2018-02-24Fix a bunch of compiler warnings and remove suppressions.iphydf
2018-02-11Improve video key frame sending.zoff99
This change does not include the addition of VP9. We do that in a separate pull request. Changes: * fix the video bug (video frames larger than 65KBytes) by sending full frame length in alternate header field * improve video frame reconstruction logic with slots * configure video encoder and decoder to be multihtreaded * set error resilience flags on video codec * change encoder and decoder softdeadline
2018-01-30Use nullptr as NULL pointer constant instead of NULL or 0.iphydf
This changes only code, no string literals or comments.
2018-01-28Make audio/video bit rates "properties"xhe
follow TokTok#731. This commit completely removed all things in namespace bit_rate, and deprecated functions are to be added back in another commit. set_xxx() is treadted as a property of namespace audio&video, same as bit_rate change event. toxav_basic_test is fixed, either.
2018-01-25Split bit_rate_set(), one for audio, one for video.xhe
Fixes #572. As discussed in the issue, there's a risk that toxcore may not hold the maximum bitrates libvpx supports, if toxcore insists on using integer type. I initially proposed to have another flag in set(), so that we can use unsigned type instead. iphydf came up with a better solution, that is splitting the original functions, one for audio, one for video. Now, we could safely replace int32_t with uint32_t. Also: clean video_bit_rate_invalid() Though this is not a part of issue #572, as it's used in the toxav_bit_rate_set(), i cleaned the code. As mannol said, there should be a check. Uint32_t is large enough to hold the maximum bitrates libvpx supports, but user may pass a value larger than uint while smaller than uint32_t. Thanks to the reminding from nurupo, it's no longer a stub function. Bitrate error enums are shared for both audio and video https://github.com/TokTok/c-toxcore/pull/578#issuecomment-360095609, just as iphydf said.
2017-12-17Split video payload into multiple packets when >65kmannol
This is the implementation of the [proposed fix](https://github.com/TokTok/c-toxcore/issues/620#issuecomment-346902071) for [this issue](https://github.com/TokTok/c-toxcore/issues/620).
2017-02-26Add part of platform-independent network API implementationDiadlo
socket -> net_socket htons -> net_htons htonl -> net_htonl connect -> net_connect sendto -> net_sendto_ip4 getaddrinfo -> net_getipport sa_family_t -> Family
2017-01-28Add VLA compatibility macro for C89-ish compilers.iphydf
2017-01-26Add platform-independent Socket and IP implementationDiadlo
2017-01-19Update license headers and remove redundant file name comment.iphydf
"All rights reserved" was incorrect. The project was licensed under GPL3, which means a lot of rights are licensed to everybody in the world, i.e. not reserved to the "Tox Project".
2016-12-21Use after free reported in #278 occurs because toxav_kill()mannol
calls msi_kill() (toxav.c:180) which frees msi_call instances (msi.c:161) which are then used when call_remove() (toxav.c:1136) is called. This fix prevents call_remove() from calling invalid pointer. Fixes #278
2016-11-20Fix NULL pointer dereference in log callsMaxim Biro
2016-09-28v0.0.0 => v0.0.1Gregory Mullen (grayhatter)
2016-09-24Make toxcore code C++ compatible.iphydf
It is still C code, so still compatible with C compilers as well. This change lets us see more clearly where implicit conversions occur by making them explicit.
2016-09-19Revert "Make ToxAV stateless"iphydf
This reverts commit 21f8db12c45bd56293262cd4abfb73cd9abec821. It is currently broken. Incoming call callbacks are not invoked, and instead the client goes offline immediately.
2016-09-17Make ToxAV statelessGregory Mullen (grayhatter)
2016-09-16Ensure that all TODOs have an owner.iphydf
In the future, all TODOs added either need a bug number (TODO(#NN)) or a person's github user name. By default, I made irungentoo the owner of all toxcore TODOs, mannol the owner of toxav TODOs, and myself the owner of API TODOs.
2016-09-13Add some astyle options to make it do more.iphydf
It now enforces a bit more formatting. In particular, padding inside parentheses is removed. I would like it to remove padding after unary operators, but there seems to be no option for that.
2016-09-13Group #include directives in 3-4 groups.iphydf
1. Current module (if C file). 2. Headers from current library. 3. Headers from other library (e.g. toxcore includes in toxav). 4. System headers.
2016-09-02Do not use `else` after `return`.iphydf
http://llvm.org/docs/CodingStandards.html#use-early-exits-and-continue-to-simplify-code
2016-09-01Match parameter names in declarations with their definitions.iphydf
The parameter names were taken from function definitions to update the names in function declarations (prototypes).
2016-08-31Add braces to all if statements.iphydf
2016-08-27Move logging to a callback.iphydf
This removes the global logger (which by the way was deleted when the first tox was killed, so other toxes would then stop logging). Various bits of the code now carry a logger or pass it around. It's a bit less transparent now, but now there is no need to have a global logger, and clients can decide what to log and where.
2016-08-12Check code formatting on Travis.iphydf
We run astyle on Travis and check if there is a diff. The build terminates if git finds a difference.
2016-02-13added the dropped ;Gregory Mullen (GrayHatter)
2016-02-13missed a line tox to toxavGregory Mullen (GrayHatter)
2016-02-13update the compatablity function to match the macroGregory Mullen (GrayHatter)
2016-02-13SemVer toxav tooGregory Mullen (GrayHatter)
2015-11-29Fix error reporting in toxav_call()Eniz Vukovic
2015-11-19Merge branch 'master' of https://github.com/helium-software/toxcoreirungentoo
2015-11-17Mannol toxav fix.irungentoo
2015-11-11fix BWController misspellingTibor Stolz
2015-11-03Astyle.irungentoo
2015-10-31Revert "Removed mutex operations"Eniz Vukovic
2015-10-24Add synchronization protection for send_frame API functionsEniz Vukovic
2015-10-23Removed mutex operationsEniz Vukovic
2015-10-23Added mutex lock+unlock.irungentoo
Should it be also added to the other parts of this function?
2015-10-23Fixed error in last commit.irungentoo
2015-10-23Fixed some memory related bugs.irungentoo
2015-10-23Fix setting resolution for vpx v1.4 (or newer i suppose)Eniz Vukovic
2015-10-11Remove old commentEniz Vukovic
2015-10-10New Adaptive BR algorithm, cleanups and fixesEniz Vukovic
2015-08-09Remove empty linesmannol
2015-08-09Fix possible double freemannol
2015-08-08Removed redundant function from video.[h|c]mannol
2015-06-30Implement handling capability change on rtp levelmannol
2015-06-27Renamed TOXAV_CALL_STATE to TOXAV_FRIEND_CALL_STATEmannol
2015-06-27Added payload turning off by setting bit rate to 0mannol
2015-06-25Random fixesmannol
2015-06-05Rebased on master and removed alpha channel (again)mannol