-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop MATROSKA_VERSION define #41
Comments
Additionally the removal will break the API for any source code checking its value. MKVToolNix used to do this. It doesn't anymore, though. Yeah, the number of people actually defining it beforehand is probably 0. The number of projects checking its value is potentially higher than 0, though. I'm not against dropping it, but we should err on the side of caution & explicitly state that such a release will break API & ABI under certain conditions. And bunch the other pending, ABI-breaking PRs in such a release. |
I don't think it qualifies as an ABI "breakage" if you add new ABI entries but the old ones are unchanged. I do agree on the API breakage for the define. I was planning to add an |
Bump the SO version as it's an ABI breakage. Bump the library to 1.6.0 as it's an API breakage (for outdated softwares). Fixes #41
This breaks the latest version of azure-kinect-sensor-sdk. |
Can you point to some error logs ? It should not be hard to fix. |
@robUx4 |
If this is this thing, it seems to be an error in the packages. The new libmatroska package in your distro should not be mark it as compatible with older versions. It's probably this line that needs a fix. I'll submit a patch. |
The MATROSKA_VERSION define is gone as it was an ancient compilation flag to support writing Matroska v1 files. Since the EDocTypeReadVersion is 2, using 2 as the Matroska version of the file seems the correct value to use. Fixes the issue mentioned here Matroska-Org/libmatroska#41 (comment)
The MATROSKA_VERSION define is gone as it was an ancient compilation flag to support writing Matroska v1 files. Since the EDocTypeReadVersion is 2, using 2 as the Matroska version of the file seems the correct value to use. Fixes the issue mentioned here Matroska-Org/libmatroska#41 (comment)
…uest for this bug fix can be merged automatically. Squashed commit of the following: commit 7156c1a Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sun Feb 21 01:13:40 2021 -0800 Adding docstrings to k4a_device_capabilities_t enum. commit 5793f82 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Fri Feb 19 21:23:38 2021 -0800 More code review changes. commit 4405407 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Fri Feb 19 19:48:56 2021 -0800 change for code revision commit 3638a92 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Fri Feb 19 14:47:35 2021 -0800 Fixing a misnamed variable in fastpointcloud/main.cpp. commit 4d2a6f8 Author: Jonathan Santos <jonathan.e.santos@gmail.com> Date: Thu Feb 18 23:45:04 2021 -0800 Fixing build errors in Linux that were introduced when k4a_device_info_t field was changed from uint32_t to a union, and when k4ainternal/modes.h implementation was put in its own library unit. commit 0250986 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Fri Feb 19 11:16:55 2021 -0800 get mode id from mode info structs in get mode ids functions in examples commit 63491cd Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Feb 18 23:09:00 2021 -0800 moved get device mode ids into seperate functions in the examples commit 661e60c Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Feb 18 21:31:44 2021 -0800 code revisions commit 9a78d55 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 18 19:19:38 2021 -0800 Removing stale comments in k4a.c. commit 58165fd Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 18 19:11:55 2021 -0800 Moving k4a static depth modes, color modes, and fps modes into its own compilation unit and static library. This static library should only be used internally; external tools should use the k4a API. There is one notable place where an external tool uses this backdoor approach to get mode information: the recorder and playback. This is because the information saved in a matroska file consists only of the mode ids and not the full mode info struct. Upon playback, the mode info struct is reconstructed without the presence of a device by using this backdoor approach using k4ainternal/modes.h rather than through k4a/k4a.h. The consequence of this is that it is tied to Azure Kinect modes and will not work for other devices that have different modes. The optimal solution is to save the full mode info structs in the matroska file and reconstructed upon reading. commit f0614c9 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 18 14:29:24 2021 -0800 Moving definition of usb vendor id and product ids into its own header file to consolidate the multiple definitions in various files into one file. commit 9764fda Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 18 12:55:30 2021 -0800 Putting const qualifier in k4atypes.hpp for new Device class functions that do not modify the instance. commit 5984ed3 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 18 12:39:41 2021 -0800 Making the capabilities field of the k4a_device_info_t a union so that users have direct access to the bitmap of capabilities. commit be9aad4 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Tue Feb 16 16:44:45 2021 -0800 Simplifying parsing the --fps parameter and converting to k4a_fps_t enum. commit bd04492 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Tue Feb 16 16:40:26 2021 -0800 Fixing an issue with multidevice.cpp that could prevent an FPS value from being set randomly. commit 18d1580 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Tue Feb 16 16:35:37 2021 -0800 Reverting converting from k4a_fps_t to uint32_t back to a function call, which makes it more obvious what the intent is rather than a simple cast. commit 2a4cdf2 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Tue Feb 16 16:11:03 2021 -0800 Adding a conversion function to go from k4a_fps_t to fps. commit bb9476a Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Feb 11 22:25:27 2021 -0800 quick clang format error in streaming example commit 8b08269 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Feb 11 22:23:41 2021 -0800 more minor fixes to examples commit 4974857 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 11 19:43:27 2021 -0800 clangformat changes, and deleting a file that should not be checked in. commit 95b442f Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Feb 11 22:03:40 2021 -0800 minor fixes to examples commit b063021 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Feb 11 17:18:13 2021 -0800 added query for capabilities using get device info commit 2280a71 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Feb 11 10:03:11 2021 -0800 examples query for modes commit df9f8bd Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Feb 11 00:31:38 2021 -0800 cleaning up the examples commit b00335e Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sun Feb 7 21:56:57 2021 -0800 k4ainternal/modes.h: Renaming _DEPTH16 to DEPTH16 to avoid C convention of variable names starting with underscore followed by underscore or capital letter as reserved for implementation and library. commit 88f3ad3 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sun Feb 7 14:28:12 2021 -0800 Functional Tests: Fixing functional tests that broke because of not setting the desired fps_mode. Previously it defaulted to 30 fps, but because there is a default 0 FPS case that is added to the enum, the user now has to explicitly set the desired fps. commit a97bad4 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sun Feb 7 12:15:12 2021 -0800 k4aviewer: Reverting static variable to a class member variable. commit ed0c71d Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sun Feb 7 03:30:42 2021 -0800 k4arecorder: Fixing code that is using mode ID as parameter into k4a_get_color_mode(), k4a_get_depth_mode(), and k4a_get_fps_mode(). The parameter into these functions are the mode_index, not the mode_id. commit c7ed54d Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sun Feb 7 02:30:32 2021 -0800 k4aviewer: Fixing an issue where introducing an invalid FPS enum displayed a 0 FPS option on the viewer, which should not be displayed as a valid option. Also, the k4a function to get modes rely on the mode index, not the mode id, so the procedure to get the correct mode id is modified to take that into account. commit 0e52280 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sun Feb 7 00:33:50 2021 -0800 matroska_read.cpp: Replacing valuedouble with valueint for values that are stored as int. commit e7c99a2 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sun Feb 7 00:29:35 2021 -0800 SDK internal: Replacing magic numbers with their enum equivalents. commit 3cb409a Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sun Feb 7 00:09:17 2021 -0800 SDK C API: Changing type of min_range and max_range in k4a_depth_mode_info_t from int to uint32_t. commit e4e2c55 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sun Feb 7 00:02:42 2021 -0800 SDK C API: Fixing bug in the k4a_get_color_mode(), k4a_get_depth_mode(), and k4a_get_fps_mode() functions where the struct size is not being validated, and the returned struct is not being populated with the correct struct size before returning it. commit 6a0b7e4 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sat Feb 6 23:52:54 2021 -0800 SDK internal implementation: Replacing magic numbers with their enums for clarity. commit 0080b2d Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sat Feb 6 23:38:39 2021 -0800 SDK C API: Refactoring k4a.c and k4ainternal/modes.h so that the mode definitions are all stored in k4ainternal/modes.h. This consolidates all mode-related information in one file and removes 2 definitions of the same information in k4a.c and matroska_read.cpp. This also allows the convenience functions in k4ainternal/modes.h to be very much simplified. UnitTests: Refactored the logic in writing and reading tags so that subsequent tags are not dependent on prior tags being successful. There was an issue in which calibration data was not being written successfully (because there is no device connected for unit tests), and because calibration data is one of the first tags written, all tags after it were skipped. This change allows tags to be written independently of the successful or failed writes of prior tags. commit b2e267e Author: Jonathan Santos <jonsanto@microsoft.com> Date: Sat Feb 6 13:54:09 2021 -0800 C internal: Changing k4a_fps_t enum values from 0, 1, 2, 3 to 0, 5, 15, 30 to reflect the actual fps values. commit ea02fb7 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Fri Feb 5 01:00:28 2021 -0800 SDK C/C++ API: The following changes are made: 1. The functions in k4ainternal/common.h relating to modes are moved to k4ainternal/modes.h where it more properly belongs. a. This has the implication that many files that previously included k4ainternal/common.h no longer need to include the file. 2. The new C functions that require a mode index now has a uint32_t type rather than an int. b. This applies also to C++ API. commit ac71668 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 4 02:05:50 2021 -0800 record/sdk/record.cpp: Removing unnecessary cast in line 53. commit 59a9ae6 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 4 01:59:07 2021 -0800 SDK C API: Adding K4A_CAPABILITY_MICROPHONE as a device capability. #5531 commit 3aa93ce Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 4 01:47:27 2021 -0800 SDK C API: Moving header file from transformation.h to transformation.c uncovered an issue where a function definition does not match the parameter types at the point when it is actually called. Fixed the mismatched parameter type. #5526 commit 35887f1 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 4 01:04:30 2021 -0800 SDK C API: Fixing comments and reverting from int to enum in color_ft.cpp. commit 32a08d8 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 4 00:15:35 2021 -0800 SDK C API: ninja clangformat changes only. commit be6db18 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Thu Feb 4 00:06:58 2021 -0800 SDK C API: Fixing docstrings for added C functions and structs. commit 940d377 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Wed Feb 3 23:43:34 2021 -0800 SDK C API: Removing doxygen output files. These files should not be checked in since they can be easily regenerated from source. commit 2ca5600 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Fri Jan 29 21:00:35 2021 -0800 ninja clangformat changes only, needed to build without errors. commit eb687e2 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Feb 10 11:39:50 2021 -0800 quick fix to a TODO commit 384bdcd Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Tue Feb 9 12:47:51 2021 -0800 update C# tests commit c2b9e28 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Mon Feb 8 21:00:31 2021 -0800 Remove old enums commit a2ffabb Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Mon Feb 8 20:55:40 2021 -0800 update c# sdk and examples for c/c++ api revisions commit 8dfd037 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Mon Feb 8 14:30:16 2021 -0800 changes to match up to c/c++ api revisions commit 283c93b Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Fri Feb 5 09:25:31 2021 -0800 Commented the C# examples to describe how to use the new modes. commit a284750 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Fri Feb 5 08:39:35 2021 -0800 new C# classes and native methods are commented properly commit 12a4d48 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Feb 4 21:03:21 2021 -0800 Fixing C# to C communication. commit f73f60f Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Feb 4 12:05:44 2021 -0800 revert c++ changes (should be done in this branch) commit 9ea5532 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Feb 3 22:03:49 2021 -0800 meaningful mode usage in example commit 6ffb1c6 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Feb 3 21:14:07 2021 -0800 Refactored C# wrapper and examples. commit f847d40 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Fri Jan 29 16:44:01 2021 -0800 Commit ac68044 was overriden by a PR merge, so, this fixes that. commit 8af41bf Author: Jonathan Santos <jonsanto@microsoft.com> Date: Fri Jan 29 12:06:21 2021 -0800 Re-inserting the check if fps is less than the minimum allowed. commit 5bc2c8e Author: Jonathan Santos <jonsanto@microsoft.com> Date: Fri Jan 29 03:31:51 2021 -0800 k4a.c: Undo a broken "fix" which prevents validating any fps mode set. commit a65e5f7 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Fri Jan 29 03:19:20 2021 -0800 k4a: ninja clangformat made these formatting changes. commit e5cf767 Author: Jonathan Santos <jonathan.e.santos@gmail.com> Date: Fri Jan 29 02:51:04 2021 -0800 Fix broken Linux build. commit 989ec96 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Fri Jan 29 16:38:23 2021 -0800 Disable FPS dropdown in viewer while playing. commit c11c14b Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Fri Jan 29 16:35:03 2021 -0800 Doxygen comments for C/C++ refactor commit 1f9f374 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Jan 28 00:37:34 2021 -0800 Fixed get fps mode in recorder. commit 6cee948 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Jan 27 23:35:13 2021 -0800 finished validating recording cmd options commit a4cd431 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Jan 27 23:21:54 2021 -0800 validate recorder cmd options commit b0c9517 Author: Jonathan Santos <jonathan.e.santos@gmail.com> Date: Wed Jan 27 18:41:16 2021 -0800 Update main.cpp commit 69df58b Author: Jonathan Santos <jonathan.e.santos@gmail.com> Date: Wed Jan 27 18:38:52 2021 -0800 Update main.cpp commit f46ed1d Author: Jonathan Santos <jonathan.e.santos@gmail.com> Date: Wed Jan 27 18:37:35 2021 -0800 Update main.cpp commit 8dd06ca Author: Jonathan Santos <jonathan.e.santos@gmail.com> Date: Wed Jan 27 18:35:47 2021 -0800 Update main.cpp commit 1c2e403 Author: Jonathan Santos <jonathan.e.santos@gmail.com> Date: Wed Jan 27 18:34:41 2021 -0800 Update main.cpp commit 52a04e2 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Wed Jan 27 16:39:51 2021 -0800 k4a: Fixing a test in depth_ft. commit 7aeff33 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Wed Jan 27 16:36:45 2021 -0800 Removing commented-out code. commit f997474 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Wed Jan 27 16:33:01 2021 -0800 k4a: Adding functional tests for calling the added functions in k4a.h. commit 43d8223 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Wed Jan 27 12:29:07 2021 -0800 k4arecorder: Minor editing. commit b6c0277 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Jan 27 12:19:49 2021 -0800 working on recorder command line validation commit f001063 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Tue Jan 26 23:14:43 2021 -0800 Recorder mode option listed. commit ffffdb4 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Tue Jan 26 21:19:37 2021 -0800 Use modes for k4arecorder commit bdb07ba Author: Jonathan Santos <jonsanto@microsoft.com> Date: Tue Jan 26 23:37:54 2021 -0800 k4aviewer: Removing support for audio and clangformat wants to format one file a certain way. commit f767c58 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Tue Jan 26 23:33:53 2021 -0800 k4aviewer: Removing audio support. To turn on audio support, in tools/k4aviewer/CMakeLists.txt, set K4A_INCLUDE_AUDIO to 1. commit ed16e3e Author: Jonathan Santos <jonsanto@microsoft.com> Date: Tue Jan 26 14:25:32 2021 -0800 K4A API: Adding to docstrings that functions may return status of UNSUPPORTED for devices that choose not to support that operation. commit 7220725 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Tue Jan 26 15:32:51 2021 -0800 Recording description from mode info saved in recording (or legacy defauts). commit 37d7a75 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Tue Jan 26 14:57:03 2021 -0800 linked k4a_math in viewer commit cee1d03 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Mon Jan 25 21:41:02 2021 -0800 SDK: docstring changes for Doxygen to run without errors. Part of satisfying the acceptance criteria for Story 5373. The TODO: comments still need to be filled in. commit d1636a0 Author: Jonathan Santos <jonsanto@microsoft.com> Date: Mon Jan 25 19:52:44 2021 -0800 Fixing K4A build errors in src/record/internal/matroska_read.cpp about not being able to convert from float to enum, and in tools/k4aviewer/k4arecordingdockcontrol.cpp about mismatched signed/unsigned comparison. The rest of the changes are formatting enforced by clang with the command line command "ninja clangformat". The command line build enforces this step before building. Fixed Bug 5456. commit cc2de88 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Fri Jan 22 00:56:22 2021 -0800 color, depth, fps mode info and device info saved in and parse from recordings commit f562a87 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Jan 21 22:36:20 2021 -0800 error handling for saving modes and device info in recording commit fa2306c Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Jan 21 21:29:08 2021 -0800 Moved K4A_MSFT_VID, K4A_RGB_PID and K4A_DEPTH_PID to usbcommand.h. Adding device info to recordings. commit eeda58b Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Jan 21 20:28:24 2021 -0800 Initialize the size and version of the mode structs commit 08cb5da Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Tue Jan 19 22:58:19 2021 -0800 color, depth and fps mode infos saved in and parsed from recordings commit db1fdc4 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Mon Jan 18 22:26:25 2021 -0800 Passing depth mode info down to point cloud viewer. Moved static k4a color/depth/fps mode arrays into modes.h. commit fc1abff Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Jan 13 16:30:44 2021 -0800 Used const for color/depth/fps mode info initializers. commit 166f3ce Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Jan 13 15:35:01 2021 -0800 Use constants defined in usb_cmd_priv.h to set the vendor id and device id in device get info in k4a.c commit 99941d6 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Mon Jan 11 12:14:47 2021 -0800 revert back from using device mode info to device mode id for fps/color/depth modes commit d5a9c6a Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Tue Jan 5 11:14:40 2021 -0800 mode id changes and GUI cleanup commit 063e627 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Mon Jan 4 12:34:06 2021 -0800 using depth/color/fps mode info instead of mode id commit cd72c23 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Dec 30 18:59:59 2020 -0800 refactor to use mode info instead of mode id commit 05526d6 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Dec 30 13:29:32 2020 -0800 using mode info types instead of mode info type index commit 86c2353 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Dec 16 18:06:22 2020 -0800 Viewer mode selection from radio to comboboxes commit 49f3b46 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Dec 9 15:01:38 2020 -0800 Changed get modes loops for fps, color and depth. commit 7d16edb Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Dec 2 18:40:40 2020 -0800 quick comments fix in calibration example and updates to color_ft tests to use new get mode functions commit 45486f4 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Sun Nov 29 21:09:28 2020 -0800 examples, tests, tools refactored to use new get mode functions commit 31502da Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Mon Nov 23 12:52:01 2020 -0800 Quick fix: forgot to add K4A_EXPORT to get mode and mode count functions in k4a.h commit 466f0ef Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Mon Nov 23 12:41:45 2020 -0800 Update k4astaticimageproperties.h to use k4a.hpp instead of k4a.h commit 9ba6e0d Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Mon Nov 23 12:32:06 2020 -0800 added depth range to k4a_depth_mode_info, updated get color/depth/fps count functions, refactored k4astaticimageproperties commit 859cb0c Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Nov 18 17:47:02 2020 -0800 Update k4arecord/types.h and examples to use color, depth and fps modes instead of enums. commit a91d4af Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Mon Nov 16 18:53:58 2020 -0800 Updated C++ wrapper with get device, depth, color and fps functions. Added to device class. commit 5f44c39 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Mon Nov 16 16:40:50 2020 -0800 Updated c++ wrapper to use new color and depth modes. commit eed529f Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Nov 12 19:41:16 2020 -0800 Moded color, depth and fps enums from k4a/k4atypes.h to k4ainternal/modes.h commit fe4ef43 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Nov 11 11:42:54 2020 -0800 Updated code to reflect change to using fps mode. commit 7065e41 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Nov 11 10:09:29 2020 -0800 Added fps mode structs and functions. commit 67c5906 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Nov 11 09:54:24 2020 -0800 Updates examples, src, tests and tools to use new config and color and depth modes. commit 0cc40a7 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Wed Nov 11 09:31:04 2020 -0800 Structs for device, color, depth. Enum for calibration. Functions to get mode for color and depth. commit 9e583d9 Author: AntonClaytonBursch <v-abursch@microsoft.com> Date: Thu Nov 5 18:26:05 2020 -0800 Add K4A_RESULT_UNSUPPORTED to result enums. commit f210de3 Author: Tsukasa Sugiura <t.sugiura0204@gmail.com> Date: Fri Apr 9 17:51:22 2021 +0900 Fix compile error for std::nothrow (microsoft#1560) Fix C2039, and C2065 commit 2feb342 Author: Jonathan Santos <jonathan.e.santos@gmail.com> Date: Wed Mar 24 13:50:25 2021 -0700 Python api development (microsoft#1483) * PythonK4A: Adding initial directory structure, k4atypes.py which defines enums, and tests to check the enum values. The _bindings/ folder is meant to contain internal ctypes bindings to the C-exported functions in k4a.dll. The _libs/ folder is meant to contain the required DLLs: k4a.dll and DepthEngine.dll. The api/ folder is meant for modules that define the actual Python K4A API. The docs/ folder is for documentation. The tests/ folder is for unit tests and functional tests. The examples/ folder is for simple example code on how to use the API. * PythonK4A: Updating __init__.py to point to the "api" directory (renamed from sdk). * Python K4A: Rearranging directory tree so that it matches the expectation of what gets imported when users use "import k4a". Adding a powershell script to build a wheel file. Adding empty docs files. * Python k4a api: Put ctypes structs inside k4atypes.py. Arrange import methods so that: 1. "import k4a" will expose all visible symbols in the module k4atypes.py. 2. "from k4a import *" will work the same way as "import k4a". To see all symbols in k4atypes.py, use "import k4a.k4atypes". This is considered to be a development or debug way of importing symbols. Users are encouraged to use "import k4a". * Python k4a api: Adding to setup.py so that "pip install -e .[test]" will install pytest along with k4a (in editable mode). * Python k4a api: An enum name with AUTO was mistakenly replaced with _auto. Switching it back to AUTO. For the enum tests, explicitly testing the enum entries rather than doing it in a for loop. These don't really test much other than making sure the enums have values from 0 to n. * Python k4a api: Adding __repr__() functions to structs in order to print the contents of the struct. * Python k4a api: Adding a check that the required dlls are in the _libs folder before making the wheel. * Python k4a api: Adding the rest of the bindings for the functions that are exposed in the dll. * Python k4a: Adding tests to call the functions in the dll. TODO: Test the following functions: k4a_calibration_3d_to_3d k4a_calibration_2d_to_3d k4a_calibration_3d_to_2d k4a_calibration_2d_to_2d k4a_calibration_color_2d_to_depth_2d k4a_transformation_create k4a_transformation_destroy k4a_transformation_depth_image_to_color_camera k4a_transformation_depth_image_to_color_camera_custom k4a_transformation_color_image_to_depth_camera k4a_transformation_depth_image_to_point_cloud * Python k4a: Adding missing enum in color resolution, and adding tests for the transformation functions. The build_wheel.ps1 script will create a win-amd64 only python wheel. * Python k4a: Changing @unittest.skip to @unittest.expectedfail for those tests that fail. * Python k4a: Updating docs. Removing platform tag in building the k4a library wheel file. * Python API: Renaming enums and structs to Python naming convention. * Python API: Moving all internal files and symbols into the _bindings/ folder. By doing this, when a user "import k4a", only the exported symbols will be visible. Everything else will be under a _bindings symbol. * Python API: Moving handle structs from _k4a.py back to _k4atypes.py so that it aligns more with k4a.h and k4atypes.h. * Renaming modules inside _bindings subpackage to not include underscore. This seems redundant since the subpackage _bindings already has an underscore. * Python api: Adding Device class which corresponds to a device with a device_handle. * Python API: Adding capture and image classes to encapsulate capture and image functions and handles. Adding test files. * Python API: Bug in Image class was missing a height_pixels in one line, causing import k4a to fail. * Python API: Adding Calibration and Transformation wrapper classes. * Python API: Renaming a test file. * Python API: Adding more tests to test the Device, Capture, Image, and Calibration classes. Fixing shallow copy and deep copy of Image objects. * Python API: Fixing transformation functions and their tests. * Python API: Adding example code that makes use of the Python API. Fixing minor bugs in the Transformation class, and fixing issues with the unit tests regarding starting and stopping the imu and getting imu samples. * Python API: Adding docstrings *.py files and a Doxygen settings file to generate the html documentation for the Python API. * Python API: Adding a main page to the documentation, and fixing a bug in the example code image_transformations.py. * Python API: Adding lines in build_wheel.ps1 to generate the documentation using doxygen. Fixing several bugs: 1. The build_wheel.ps1 had extra arguments that breaks the building of the wheel. 2. The Transformation class had some parameters renamed but the renamed vars were not changed in the functions accordingly. 3. The Transformation class removed an unneeded param in depth_image_to_color_camera_custom but did not remove it in the test code. * Making minor changes to get this k4a package to work in both Windows and Linux. Adding a bash script to automate generating the wheel file in Ubuntu (Linux). * Forgot to commit the minor changes to get this k4a package to work in both Windows and Linux. Doing it now. * Python API: Specifying specific library names that the python code will try to load. In Windows, the library names must be k4a.dll and depthengine.dll. In Linux, the library names must be libk4a.so and libdepthengine.so. If the libraries have different names, the user should create symlinks and point it to the actual library using relative addressing. * Python API: Modifying the build_wheel.csh script to look for libdepthengine.so and libk4a.so file names. * Python API: Updating building.md for clarity. * Python API: Fixing bug in tests that causes failure in some of the tests. Also renaming the tests so that they can be filtered into unit, functional_fast, functional, and perf tests. * Removing forced-loading of depthengine library. Just load k4a.dll and let it load the depth engine. Fixing markdown formatting. * In the wheel build scripts, adding test to check if doxygen is installed. In the building.md docs, adding a Linux requirement to install venv. For some reason, it is not installed natively as part of a Python installation. * Fixing markdown documents. * Adding blurb about installing pip in Linux. * Changing ctypes.c_ulonglong to ctypes.c_size_t where it matches the function signature on the C API better. * Changing c_ulonglong to c_size_t in the tests to match the change in the bindings. * Fixing build script in Linux to look for depthengine.so* inside a subfolder. Fixing docs to reflect these changes. * Fixing documents that say the Linux depthengine.so.2.0 must be in a subfolder libk4a1.4. This is a previous method of chain loading the libraries, which is not the case anymore. The depthengine.so.2.0 should be in the same folder as the libk4a.so. * The build script for Linux needs to check for depthengine.so* in the same folder as libk4a.so. * Making slight changes to the building.md documentation for more clarity. * Fixing a minor typo in the comments of image_transformations.py, and adding additional comments to let the users know they have to install a required package separately from k4a package. Co-authored-by: Jonathan Santos <jonsanto@microsoft.com> commit aac136c Author: jaygullapalli <jay.gullapalli@outlook.com> Date: Thu Mar 18 10:04:40 2021 -0700 Adding Azure Kinect DK Camera CAD file (microsoft#1532) Co-authored-by: Jay Gullapalli <jagullap@microsoft.com> commit e354721 Author: Steve Lhomme <robux4@ycbcr.xyz> Date: Thu Mar 18 02:03:14 2021 +0100 Fix build with libmatroska 1.6.x (microsoft#1379) The MATROSKA_VERSION define is gone as it was an ancient compilation flag to support writing Matroska v1 files. Since the EDocTypeReadVersion is 2, using 2 as the Matroska version of the file seems the correct value to use. Fixes the issue mentioned here Matroska-Org/libmatroska#41 (comment) commit ec82b0b Author: Tae Young Kim <tyoung96@naver.com> Date: Thu Mar 18 09:58:53 2021 +0900 update usage.md (microsoft#1522) Co-authored-by: [Taeyoung <[tyoung96@naver.com]> # Conflicts: # src/python/k4a/docs/examples.md # src/python/k4a/setup.py # src/python/k4a/src/k4a/_bindings/transformation.py
…1983) * Reduce usage of build pools (#1222) * Reduce usage of build pools We are currently using over 30 machines in parallel. This will reduce our usage down to 15 machines by staggering the master and develop builds as well as removing some build flavors we don't really care about. * Update azure-pipelines.yml Co-authored-by: wes-b <wesbarc@microsoft.com> * Update azure-pipelines.yml Co-authored-by: wes-b <wesbarc@microsoft.com> Co-authored-by: wes-b <wesbarc@microsoft.com> * Update usage.md * update usage.md (#1522) Co-authored-by: [Taeyoung <[tyoung96@naver.com]> * Fix build with libmatroska 1.6.x (#1379) The MATROSKA_VERSION define is gone as it was an ancient compilation flag to support writing Matroska v1 files. Since the EDocTypeReadVersion is 2, using 2 as the Matroska version of the file seems the correct value to use. Fixes the issue mentioned here Matroska-Org/libmatroska#41 (comment) * Adding Azure Kinect DK Camera CAD file (#1532) Co-authored-by: Jay Gullapalli <jagullap@microsoft.com> * Python api development (#1483) * PythonK4A: Adding initial directory structure, k4atypes.py which defines enums, and tests to check the enum values. The _bindings/ folder is meant to contain internal ctypes bindings to the C-exported functions in k4a.dll. The _libs/ folder is meant to contain the required DLLs: k4a.dll and DepthEngine.dll. The api/ folder is meant for modules that define the actual Python K4A API. The docs/ folder is for documentation. The tests/ folder is for unit tests and functional tests. The examples/ folder is for simple example code on how to use the API. * PythonK4A: Updating __init__.py to point to the "api" directory (renamed from sdk). * Python K4A: Rearranging directory tree so that it matches the expectation of what gets imported when users use "import k4a". Adding a powershell script to build a wheel file. Adding empty docs files. * Python k4a api: Put ctypes structs inside k4atypes.py. Arrange import methods so that: 1. "import k4a" will expose all visible symbols in the module k4atypes.py. 2. "from k4a import *" will work the same way as "import k4a". To see all symbols in k4atypes.py, use "import k4a.k4atypes". This is considered to be a development or debug way of importing symbols. Users are encouraged to use "import k4a". * Python k4a api: Adding to setup.py so that "pip install -e .[test]" will install pytest along with k4a (in editable mode). * Python k4a api: An enum name with AUTO was mistakenly replaced with _auto. Switching it back to AUTO. For the enum tests, explicitly testing the enum entries rather than doing it in a for loop. These don't really test much other than making sure the enums have values from 0 to n. * Python k4a api: Adding __repr__() functions to structs in order to print the contents of the struct. * Python k4a api: Adding a check that the required dlls are in the _libs folder before making the wheel. * Python k4a api: Adding the rest of the bindings for the functions that are exposed in the dll. * Python k4a: Adding tests to call the functions in the dll. TODO: Test the following functions: k4a_calibration_3d_to_3d k4a_calibration_2d_to_3d k4a_calibration_3d_to_2d k4a_calibration_2d_to_2d k4a_calibration_color_2d_to_depth_2d k4a_transformation_create k4a_transformation_destroy k4a_transformation_depth_image_to_color_camera k4a_transformation_depth_image_to_color_camera_custom k4a_transformation_color_image_to_depth_camera k4a_transformation_depth_image_to_point_cloud * Python k4a: Adding missing enum in color resolution, and adding tests for the transformation functions. The build_wheel.ps1 script will create a win-amd64 only python wheel. * Python k4a: Changing @unittest.skip to @unittest.expectedfail for those tests that fail. * Python k4a: Updating docs. Removing platform tag in building the k4a library wheel file. * Python API: Renaming enums and structs to Python naming convention. * Python API: Moving all internal files and symbols into the _bindings/ folder. By doing this, when a user "import k4a", only the exported symbols will be visible. Everything else will be under a _bindings symbol. * Python API: Moving handle structs from _k4a.py back to _k4atypes.py so that it aligns more with k4a.h and k4atypes.h. * Renaming modules inside _bindings subpackage to not include underscore. This seems redundant since the subpackage _bindings already has an underscore. * Python api: Adding Device class which corresponds to a device with a device_handle. * Python API: Adding capture and image classes to encapsulate capture and image functions and handles. Adding test files. * Python API: Bug in Image class was missing a height_pixels in one line, causing import k4a to fail. * Python API: Adding Calibration and Transformation wrapper classes. * Python API: Renaming a test file. * Python API: Adding more tests to test the Device, Capture, Image, and Calibration classes. Fixing shallow copy and deep copy of Image objects. * Python API: Fixing transformation functions and their tests. * Python API: Adding example code that makes use of the Python API. Fixing minor bugs in the Transformation class, and fixing issues with the unit tests regarding starting and stopping the imu and getting imu samples. * Python API: Adding docstrings *.py files and a Doxygen settings file to generate the html documentation for the Python API. * Python API: Adding a main page to the documentation, and fixing a bug in the example code image_transformations.py. * Python API: Adding lines in build_wheel.ps1 to generate the documentation using doxygen. Fixing several bugs: 1. The build_wheel.ps1 had extra arguments that breaks the building of the wheel. 2. The Transformation class had some parameters renamed but the renamed vars were not changed in the functions accordingly. 3. The Transformation class removed an unneeded param in depth_image_to_color_camera_custom but did not remove it in the test code. * Making minor changes to get this k4a package to work in both Windows and Linux. Adding a bash script to automate generating the wheel file in Ubuntu (Linux). * Forgot to commit the minor changes to get this k4a package to work in both Windows and Linux. Doing it now. * Python API: Specifying specific library names that the python code will try to load. In Windows, the library names must be k4a.dll and depthengine.dll. In Linux, the library names must be libk4a.so and libdepthengine.so. If the libraries have different names, the user should create symlinks and point it to the actual library using relative addressing. * Python API: Modifying the build_wheel.csh script to look for libdepthengine.so and libk4a.so file names. * Python API: Updating building.md for clarity. * Python API: Fixing bug in tests that causes failure in some of the tests. Also renaming the tests so that they can be filtered into unit, functional_fast, functional, and perf tests. * Removing forced-loading of depthengine library. Just load k4a.dll and let it load the depth engine. Fixing markdown formatting. * In the wheel build scripts, adding test to check if doxygen is installed. In the building.md docs, adding a Linux requirement to install venv. For some reason, it is not installed natively as part of a Python installation. * Fixing markdown documents. * Adding blurb about installing pip in Linux. * Changing ctypes.c_ulonglong to ctypes.c_size_t where it matches the function signature on the C API better. * Changing c_ulonglong to c_size_t in the tests to match the change in the bindings. * Fixing build script in Linux to look for depthengine.so* inside a subfolder. Fixing docs to reflect these changes. * Fixing documents that say the Linux depthengine.so.2.0 must be in a subfolder libk4a1.4. This is a previous method of chain loading the libraries, which is not the case anymore. The depthengine.so.2.0 should be in the same folder as the libk4a.so. * The build script for Linux needs to check for depthengine.so* in the same folder as libk4a.so. * Making slight changes to the building.md documentation for more clarity. * Fixing a minor typo in the comments of image_transformations.py, and adding additional comments to let the users know they have to install a required package separately from k4a package. Co-authored-by: Jonathan Santos <jonsanto@microsoft.com> * Fix compile error for std::nothrow (#1560) Fix C2039, and C2065 * Update to project build pipeline (#1575) * Update to build schedule and build matrix * Set UsesOpenCV to FALSE in VS2019 x86 builds Co-authored-by: Jay Gullapalli <jagullap@microsoft.com> * Add missing const qualifiers (#1451) By not having const on these c++ member functions, it prevents the use of const objects. Such objects are desired by style, coders, and compliers. Signed-off-by: v-hkazakov <v-hkazakov@microsoft.com> * Fix Close Device of Python API (#1558) * Fixing point cloud transformation bug, switching type used for image representation uint16 to int16 (#1568) * Fixing point cloud transformation bug with using uint16 when int16 should be used because the X and Y images are centered around 0 and can take on negative values. Adding point_cloud_capture.py example to capture depth data, transform to point cloud, and write to text file which can then be opened with a 3D modeling application like MeshLab. * Adding a newline to avoid a warning or no new line at the end of the file. * Replacing point cloud example to use numpy reshape. * Fixing example point_cloud_capture.py with getting the numpy array shape and having the correct order of the width vs height. * Mark member functions as const that don't modify state (#1593) * Fix a typo in the documentation (#1445) k4a_transformation_depth_image_to_point_cloud() transforms the depth image into a single image, not 3 planar images Signed-off-by: v-hkazakov <v-hkazakov@microsoft.com> * Replace C clock with steady_clock (#1592) clock() reports CPU time and not the 'wall time'. Without this fix recording obtained by k4arecorder will be longer than the time passed to the `--record-length` argument. * Adding calibration and registration tools to examples. (#1475) * Adding tools for calibration and registration of cameras. * removing two unnecessary tools from pipfile * removing unused elements in pipfile * removing test pylintrcfile * Minor cleanup of the printing, template file fixes, and one edge case detection bug. * bugfix to how rms radians is computed and more quality of image checks * BUGFIX: enforcing that registration is attached to the correct camera and adding more images to examples * fixing spelling errors * remove unnecessary elements from gitignore * Removing package that is not relevant to this tool. Co-authored-by: Kyle Rendon <kyrendon@microsoft.com> * Create readme.txt * Add files via upload * Update readme.txt * Delete firmware-beta directory * Create readme.txt * Update readme.txt * Update readme.txt * Add files via upload * Update usage.md * Update usage.md Mark .msi installers prior to v1.3 deprecated. * Update azure-pipelines.yml for Azure Pipelines Removed all VS2017 and Win2017 references to address a build warning/error in the pipeline. * Update azure-pipelines.yml for Azure Pipelines Removing references for vs2017 from the documentation task * Microsoft mandatory file (#1814) Co-authored-by: microsoft-github-policy-service[bot] <77245923+microsoft-github-policy-service[bot]@users.noreply.github.com> * Updating Targetframework to netcoreapp3.1 (#1826) * Using netcoreapp3.1 for TargetFramework * Updating target framework to use net6.0 (#1980) * Updating target framework to use net6.0 * Disabling generation of reference assemblies for C# tests * Updating logo image * Updating usage.md markdown file for SDK v1.4.2 * Updates from develop for v1.4.2 (#1984) * Adding retirement date for Azure Kinect DK Sensor SDK * Updating firmware version and download link to v1.6.110080014 (Same as what is included in v1.4.2 installer) --------- Signed-off-by: v-hkazakov <v-hkazakov@microsoft.com> Co-authored-by: Matt Schulte <maschu@microsoft.com> Co-authored-by: wes-b <wesbarc@microsoft.com> Co-authored-by: Tae Young Kim <tyoung96@naver.com> Co-authored-by: [Taeyoung <[tyoung96@naver.com]> Co-authored-by: Steve Lhomme <robux4@ycbcr.xyz> Co-authored-by: Jay Gullapalli <jagullap@microsoft.com> Co-authored-by: Jonathan Santos <jonathan.e.santos@gmail.com> Co-authored-by: Jonathan Santos <jonsanto@microsoft.com> Co-authored-by: Tsukasa Sugiura <t.sugiura0204@gmail.com> Co-authored-by: HlibKazakov2000 <74240687+HlibKazakov2000@users.noreply.github.com> Co-authored-by: KyleRendon <77355198+not-the-programmer@users.noreply.github.com> Co-authored-by: Kyle Rendon <kyrendon@microsoft.com> Co-authored-by: qm13 <47307385+qm13@users.noreply.github.com> Co-authored-by: Dale <102560310+dasparli@users.noreply.github.com> Co-authored-by: microsoft-github-policy-service[bot] <77245923+microsoft-github-policy-service[bot]@users.noreply.github.com>
The only use is to be able to build the library to parse only Matroska version 1 elements. This has no use for pretty much anyone, and it's a pain to generate the code correctly.
In libmatroska2 all elements are supported in each build but marked for which version of Matroska/WebM/DivX they are allowed.
The selection of what subset you want should be done at runtime, not compilation time. Compiling with just just v1 elements won't make the code much smaller.
It shouldn't break ABI or API as it only adds classes for those (rare) people who only wanted v1 classes.
The text was updated successfully, but these errors were encountered: