History log of /haiku/src/add-ons/media/media-add-ons/mixer/MixerUtils.cpp
Revision Date Author Comments
# 95080923 15-Aug-2022 Michael Brumbelow <mbrumbelow@mac.com>

Removed 'register' storage class compiler warnings

Change-Id: Iba89a9d0845bf7e816983f903281d33e273f6e35
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5558
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 973f1214 10-May-2013 Jérôme Duval <jerome.duval@gmail.com>

mixer.media_addon: fixes 64 bit warnings


# a9cf57cf 02-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Cleanup, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34437 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f916862c 13-Mar-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

Switched to using a local debug header file, instead of using the private media kit file.
This should prevent mixer from beeing build with debug enabled, when media kit is build with debug.
Thus CPU usage will be reduced as mixer no longer prints a lot of information to stdout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16759 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cf706dc7 27-Dec-2003 beveloper <beveloper@nowhere.fake>

fixed lockup with 8 channel (or more) soundfiles


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5769 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d91580cd 30-Aug-2003 beveloper <beveloper@nowhere.fake>

removed/fixed warnings


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4418 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab276ac8 03-Jul-2003 beveloper <beveloper@nowhere.fake>

added a dedicated mono channel type, allows nicer mapping of 1 channel input


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3821 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b6270d60 02-Jul-2003 beveloper <beveloper@nowhere.fake>

Cleanup of MixerOutput class, the channel type is now used instead of channel designation or channel_mask
Implemented output channel remapping controls.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3813 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0c63c7d0 02-Jul-2003 beveloper <beveloper@nowhere.fake>

Started implementing input and output channel mapping controls.
Optimized inner loop of mix thread, up to 10% faster now.
Moved some #includes around.
Added #define for maximum supported channel types.
Removed static buffers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3812 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9391f0a5 30-Jun-2003 beveloper <beveloper@nowhere.fake>

added mixer gain controls


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3775 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af8d0a4d 30-Jun-2003 beveloper <beveloper@nowhere.fake>

Fixed the input buffer looping bug that existed if an input wouldn't receive new buffers. Now kips inputs that have no available data.
When no input is connected, use a fast path for sending an empty buffer.
No more debugging output when DEUBG < 1


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3763 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a2ca4723 30-Jun-2003 beveloper <beveloper@nowhere.fake>

cleanup of debugging code


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3761 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 60e2e68c 29-Jun-2003 beveloper <beveloper@nowhere.fake>

finally it does mixing, but we should get rid of the CPU eating List template
at this place, as it internally calls malloc, free, new and delete quite often


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3748 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dfe7be41 28-Jun-2003 beveloper <beveloper@nowhere.fake>

small work around


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3728 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 90f98241 28-Jun-2003 beveloper <beveloper@nowhere.fake>

added some sanity checks


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3726 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2560202b 28-Jun-2003 beveloper <beveloper@nowhere.fake>

additional helper functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3722 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 78563dca 25-Jun-2003 beveloper <beveloper@nowhere.fake>

use sample size when calculating channel offsets, no more buffer overruns


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3664 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 299d70ad 24-Jun-2003 beveloper <beveloper@nowhere.fake>

added helper functions for buffer<->framerate<->duration conversions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3645 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4b8db85 20-Jun-2003 beveloper <beveloper@nowhere.fake>

identify mixer channels by a type number (0 to 31)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3587 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2e9d6607 20-Jun-2003 beveloper <beveloper@nowhere.fake>

mixer input buffer assignment and gain setting implemented


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3585 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e6c7c99f 19-Jun-2003 beveloper <beveloper@nowhere.fake>

added connecting/disconnecting of inputs/outputs
changed debug functions
added multiaudio format correction
added workaround for broken BeOS R5 media_format:SpecializeTo()
fixed AudioMixer::Connect function to use correct destination
added utility functions
fixed locking bugs


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3575 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 973f12146b02030523dca4771408d1a0e8cf31ec 10-May-2013 Jérôme Duval <jerome.duval@gmail.com>

mixer.media_addon: fixes 64 bit warnings


# a9cf57cff5dfe040f74a96705d98d6711b6b1b50 02-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Cleanup, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34437 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f916862c2ebbbf3a1fdeac1541fc75ded977bccf 13-Mar-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

Switched to using a local debug header file, instead of using the private media kit file.
This should prevent mixer from beeing build with debug enabled, when media kit is build with debug.
Thus CPU usage will be reduced as mixer no longer prints a lot of information to stdout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16759 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cf706dc7743a744fcc00aa63b038b67bd2db9837 27-Dec-2003 beveloper <beveloper@nowhere.fake>

fixed lockup with 8 channel (or more) soundfiles


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5769 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d91580cd9a9f39e74f086d5ca31d997a56c111a9 30-Aug-2003 beveloper <beveloper@nowhere.fake>

removed/fixed warnings


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4418 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab276ac888364ea2a0af144d16d62d6505ac48a7 03-Jul-2003 beveloper <beveloper@nowhere.fake>

added a dedicated mono channel type, allows nicer mapping of 1 channel input


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3821 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b6270d60b29ad49ae09811b7d0b4968989229908 02-Jul-2003 beveloper <beveloper@nowhere.fake>

Cleanup of MixerOutput class, the channel type is now used instead of channel designation or channel_mask
Implemented output channel remapping controls.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3813 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0c63c7d061f2d4490205d48b1e5008c8a2cf95f2 02-Jul-2003 beveloper <beveloper@nowhere.fake>

Started implementing input and output channel mapping controls.
Optimized inner loop of mix thread, up to 10% faster now.
Moved some #includes around.
Added #define for maximum supported channel types.
Removed static buffers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3812 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9391f0a5526a6a1efb50e7ca73f1d07ac1c93ee2 30-Jun-2003 beveloper <beveloper@nowhere.fake>

added mixer gain controls


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3775 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af8d0a4d4e15c210c51678cd34de4057e43cf96e 30-Jun-2003 beveloper <beveloper@nowhere.fake>

Fixed the input buffer looping bug that existed if an input wouldn't receive new buffers. Now kips inputs that have no available data.
When no input is connected, use a fast path for sending an empty buffer.
No more debugging output when DEUBG < 1


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3763 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a2ca4723941de50864eb7ef575591629cabb3318 30-Jun-2003 beveloper <beveloper@nowhere.fake>

cleanup of debugging code


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3761 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 60e2e68ce4ee2cd63621a47d1f174c9c5158dcd1 29-Jun-2003 beveloper <beveloper@nowhere.fake>

finally it does mixing, but we should get rid of the CPU eating List template
at this place, as it internally calls malloc, free, new and delete quite often


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3748 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dfe7be41fb1d1bc137a893f2151494764a3b1f40 28-Jun-2003 beveloper <beveloper@nowhere.fake>

small work around


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3728 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 90f98241f4a4b57b525f230ae27eef5cf1839ef9 28-Jun-2003 beveloper <beveloper@nowhere.fake>

added some sanity checks


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3726 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2560202bae4ce7274bbbc1b7289196137167a352 28-Jun-2003 beveloper <beveloper@nowhere.fake>

additional helper functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3722 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 78563dcaec7a619acac5e67d8c47393133e009e2 25-Jun-2003 beveloper <beveloper@nowhere.fake>

use sample size when calculating channel offsets, no more buffer overruns


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3664 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 299d70ad2d8eb6a0f2329cd7813854328decb709 24-Jun-2003 beveloper <beveloper@nowhere.fake>

added helper functions for buffer<->framerate<->duration conversions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3645 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4b8db85300e877ad70fa2c13110eb8e0ab173a5 20-Jun-2003 beveloper <beveloper@nowhere.fake>

identify mixer channels by a type number (0 to 31)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3587 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2e9d660756e64ccd9bd2b779020a167b8c7a5824 20-Jun-2003 beveloper <beveloper@nowhere.fake>

mixer input buffer assignment and gain setting implemented


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3585 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e6c7c99fc916e8a498ef51a4940838d9f864df6c 19-Jun-2003 beveloper <beveloper@nowhere.fake>

added connecting/disconnecting of inputs/outputs
changed debug functions
added multiaudio format correction
added workaround for broken BeOS R5 media_format:SpecializeTo()
fixed AudioMixer::Connect function to use correct destination
added utility functions
fixed locking bugs


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3575 a95241bf-73f2-0310-859d-f6bbb57e9c96