History log of /haiku/src/add-ons/media/media-add-ons/mixer/MixerOutput.h
Revision Date Author Comments
# bf7ab50d 03-Oct-2007 Stephan Aßmus <superstippi@gmx.de>

large patch by Bek (HOST team):
* style improvements, header reformatting, small refactoring and adding
of missing copyrights

(to Marcus: this is not the original patch, it has already been revised two
times by myself and I thought it was very nice now)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22426 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


# 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


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

Fixed some debug macros.
Cleanup of MixerInput class.
Implemented output destination mapping controls.


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


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

introduce a gain cache for non active sources to allow changing of gain without activating them, and to avoid gain value beeing reset to 0.0 each time enable is cycled.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3814 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


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

implemented muting of the master output


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


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

now supports endian adjustment at the output


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


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

cosmetic change


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


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

added output channel control functions,
made most often called functions inline


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


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

added format change function


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3723 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


# 7ee2c804 15-Jun-2003 beveloper <beveloper@nowhere.fake>

Internal API rewritten, BMediaNode and derived classes functionality implemented.


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


# be2a2489 11-Jun-2003 beveloper <beveloper@nowhere.fake>

Mixer rewrite, work in progress.
Moved Input and Output handling into the MixerCore class,
format and connection negotiation remains in AudioMixer class.


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


# 678c2017 06-Jun-2003 beveloper <beveloper@nowhere.fake>

added new mixer components


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


# bf7ab50d4ced3f1735551c8f6d9032a42e548f7e 03-Oct-2007 Stephan Aßmus <superstippi@gmx.de>

large patch by Bek (HOST team):
* style improvements, header reformatting, small refactoring and adding
of missing copyrights

(to Marcus: this is not the original patch, it has already been revised two
times by myself and I thought it was very nice now)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22426 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


# 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


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

Fixed some debug macros.
Cleanup of MixerInput class.
Implemented output destination mapping controls.


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


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

introduce a gain cache for non active sources to allow changing of gain without activating them, and to avoid gain value beeing reset to 0.0 each time enable is cycled.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3814 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


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

implemented muting of the master output


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


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

now supports endian adjustment at the output


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


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

cosmetic change


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


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

added output channel control functions,
made most often called functions inline


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


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

added format change function


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3723 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


# 7ee2c8049caebce89fd72e544a5db9f94cc6613f 15-Jun-2003 beveloper <beveloper@nowhere.fake>

Internal API rewritten, BMediaNode and derived classes functionality implemented.


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


# be2a24894fa4b3e2578b1d1994d33bbb2b935216 11-Jun-2003 beveloper <beveloper@nowhere.fake>

Mixer rewrite, work in progress.
Moved Input and Output handling into the MixerCore class,
format and connection negotiation remains in AudioMixer class.


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


# 678c20170c8b023b7d2e297b3ac436dbdea61e52 06-Jun-2003 beveloper <beveloper@nowhere.fake>

added new mixer components


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