* Cleaning up use of "Exception".
* Introducing some new Exception types we'll use. OpenDevice, CameraStart, and IMUStart.
* Adding logging to the exceptions.
* Add functionality to record custom track
Add the feature to the k4a recorder to allow users to record custom tracks defined by their own.
1. Add custom track recording code to recorder.cpp
2. Expose the custom track recording API through record.h
3. Create a simple example to showcase how the API can be used.
4. Add unit test for the custom track recording APIs.
* Add functionality to playback custom track (#196)
* Implement the basic functionality of the custom track playback
1. Add feature to query timestamp by frame index for any given track
2. Add unit test for custom track playback
3. Fix custom track playback/record API to take/output microsecond for the timestamps
4. Define data_block handle to access to custom track timestamp and data
5. Allow k4a_playback_get_previous_data_block/k4a_playback_get_next_data_block API to move non-custom tracks
6. Add comments to the recording API.
* Support legacy depth mode tag strings (#239)
The legacy depth mode tag strings are using lower letter 'x' for "NFOV_2X2BINNED" and "WFOV_2X2BINNED". Add support to be able to read the legacy depth mode tags.
* Fix build break caused by merge conflict
* Fix clangformat errors.
* Remove code to pre-scan the mkv file to get the index-timestamp map
* Fix small issues.
* Address comments
* Update track tags for custom track playback/record (#251)
* Update track tags to fix legacy file support
Revert change to next_child and fix upper_level check
* Fix build errors and clean up for PR review
* More build fixes
* Address comments
* Address comments
* Fix linux build break
* Remove track / attachment tags from public api
Restrict track names to A-Z, 0-9, -, _
Minor docs cleanup
* Add internal flag for high frequency data tracks
* Add track settings for subtitle track
* Fix merge error
* Change playback to use a track map for all tracks
Add get_track_count and get_track_name functions
Add more tests
* Update documentation
* More test updates
* Fix build on linux
* Change built-in track names to use #defines
* Code cleanup
* More review and code cleanup
Adjust test cases to cover a current bug in this branch
* Add timestamp estimation for high_freq option.
* Complete high_freq_data feature and update tests
* Add k4a_playback_track_is_builtin()
* PR review changes, fix linux build
* Remove unused variable from record context
* Document track / tag character limitations
Update record example
* Fix linux build warnings
* Fix PR comments
* Add new test for IMU start offset
* Update custom track recording to use device_timestamp on playback
* Minor documentaiton change around timestamps
* Convert all playback timestamps to use device time
* Add some extra documentation comments around seek_timestamp
* Rename last_timestamp_ns field to last_file_timestamp_ns
* Converted logger to initialize 1 time when module is loaded into memory. Removed logger_create/destroy API's and updated all callers as logging is now ready to go with the first API call to the SDK.
* fixing build break
* addressing feedback
* Made allocator hookable
* Plumbed public API for allocator
* C# hooks native allocator
* Update src/csharp/SDK/Device.cs
* Update src/csharp/SDK/Image.cs
Co-Authored-By: Derek M. <MsDerekMa@users.noreply.github.com>
* Move playback.hpp
Move playback.hpp to include/k4arecord
* Add set color conversion
Add set color conversion to playback wrapper.
* Update to comment for Clang-Format
* Setting powerline to 60Hz
* Fixed Linux Break
* Added exposure mapping support for Linux and Windows
* updated comment
* minor cleanup
* Updated Throughput_perf to support exposure
* fixing build break on Linux with Clang
* fixed Linux Clang build break
* Fixed Linux Clang build break
* Updates documented linux dependencies
Previously our linux development dependencies where listed in the
building.md documentation on our bootstrap-ubuntu.sh file. In order to
minimize duplication, the documentation now points to
bootstrap-ubuntu.sh
* Linux dependencies documentation now only points to script
* Update docs/building.md
Co-Authored-By: Brent Allen <brenta@microsoft.com>