History log of /haiku/src/add-ons/media/media-add-ons/multi_audio/MultiAudioNode.h
Revision Date Author Comments
# c7c0cf72 29-Jul-2020 Michael Lotz <mmlr@mlotz.ch>

multi_audio: Replace old buffer infos with old cycle numbers.

The old buffer info was not initialized so would possibly contain bogus
initial content.

Since the introduction of the TimeComputer, the old buffer info was not
used to update the timesource data and the only remaining use was for
keeping track of the previous cycle number.

Replace the old buffer info by just the old cycle number and initialize
that.

Change-Id: I8be5a17f086a9f81f9b8fd0629e10460518f3d8c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3111
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 3ef97f9a 21-Jan-2017 Axel Dörfler <axeld@pinc-software.de>

hmulti_audio.media_addon: Removed superfluous semaphore.

* The semaphore wasn't really needed to do what it did; using
atomic_{get|set}() as suggested by jua is much faster, anyway.
* Thanks to Dario for the initial work on this.


# b9f09f03 21-Jan-2017 Axel Dörfler <axeld@pinc-software.de>

Coding style cleanup.


# a8e8f7ba 20-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

Revert "MultiAudioNode: Fix and polish output locking issues"

This reverts commit 19da5e15c33f9a85d1e4ca0779f5082fd9d1eaf0.


# 19da5e15 20-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MultiAudioNode: Fix and polish output locking issues

* For people involved please review, too much confusion seems
to have been done in past.
* The fBufferFreeSem is removed as it didn't make sense. It was
used to detected when the output thread should be stopped, a
boolean flag is used instead.
* Avoid to allocate a BAutolocker at begin of the _OutputThread,
plain Lock/Unlock is used instead.
* The fBufferLock is now locked when a buffer is handled.


# ea81d6ea 24-Jan-2012 Jerome Leveque <leveque.jerome@gmail.com>

multi_audio: Add multiple Audio In Feature, implement listed TODO

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# eaa6a6c4 18-Jan-2012 Jerome Leveque <leveque.jerome@gmail.com>

multi_audio: Add support for input/output framerate change

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 3e9336fd 04-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Small coding style fixes and improved naming
of the thread related methods.
* Explicitely reset the fThread member in
_StopOutputThread().
* Added TODO about the somewhat seemingly fragile method
to ensure the previous buffer for a channel has
been processed.


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


# 9c3ad4fb 16-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Use TimeComputer to get smoother performance times.
* SetParameterValue(): Don't do anything, if the new output frequency value
is the same as before. This avoids hickups when switching between the pages
in the Media preflet.
* _FillNextBuffer(): Compare BBuffer and stream buffer size. They might
differ directly after setting another output frequency, which could cause
a crash.


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


# d473f576 10-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for setting the output frequency. Also done some preparation for
setting the input frequency, but I'm too lazy and not interested in the feature
to actually implement it.
For some reason the setting is not persistent. But the other parameters don't
seem to be persistent either, so this is apparently a general problem.


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


# 4b574279 29-Jul-2009 Jérôme Duval <korli@users.berlios.de>

uses different preferred media formats for input and output.


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


# f89d079f 28-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* MultiAudioAddOn::_RecursiveScan() now checks the depth of the recursion,
and bails out early.
* InitCheck() now actually returns an error if something went wrong during
initialization.
* Cleanup, part III.


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


# d5420ddc 28-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* When setting the global format, MultiAudioDevice::_InitDriver() will no
longer return on failure.
* Also, it will now retrieve the global format from the audio device
afterwards always and uses that.
* Cleanup of MultiAudioNode, part II.


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


# 5da3fbc8 25-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Moved general multi_audio functions into their own file MultiAudioUtility.cpp;
they don't really belong to the MultiAudioDevice class.
* Major coding style cleanup, part I - no functional change, I hope :-)


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


# 2d01adea 01-Nov-2007 Jérôme Duval <korli@users.berlios.de>

clean up


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


# b0d9cd6f 13-May-2007 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* Delete all local copies of multi_audio from source tree.
* Change name of header for Haiku specific multi_audio to hmulti_audio (in line with the rename of the media addon itself)



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


# f616df6a 06-Feb-2006 Jérôme Duval <korli@users.berlios.de>

multi media addon builds on beos, fixed include missing
added B_AUDIO_INT support and valid_bits use


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


# c8093d3c 02-May-2003 Jérôme Duval <korli@users.berlios.de>

ParameterWeb state is now saved and restored for each node.


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


# 056e08e2 20-Apr-2003 Jérôme Duval <korli@users.berlios.de>

Cleanups


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


# be4e0101 17-Mar-2003 beveloper <beveloper@nowhere.fake>

The multi_audio media addon, written by Jerome Duval.


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


# ea81d6eaf00849fcf8bb46d5e2c2f59142dfc19b 24-Jan-2012 Jerome Leveque <leveque.jerome@gmail.com>

multi_audio: Add multiple Audio In Feature, implement listed TODO

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# eaa6a6c40ce5fe430881e92a94add75f0a7f6e1b 18-Jan-2012 Jerome Leveque <leveque.jerome@gmail.com>

multi_audio: Add support for input/output framerate change

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 3e9336fd206359402b409e523317307a1a3e13b1 04-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Small coding style fixes and improved naming
of the thread related methods.
* Explicitely reset the fThread member in
_StopOutputThread().
* Added TODO about the somewhat seemingly fragile method
to ensure the previous buffer for a channel has
been processed.


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


# 9c3ad4fbb0ec72806265552b200305f851aff5d3 16-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Use TimeComputer to get smoother performance times.
* SetParameterValue(): Don't do anything, if the new output frequency value
is the same as before. This avoids hickups when switching between the pages
in the Media preflet.
* _FillNextBuffer(): Compare BBuffer and stream buffer size. They might
differ directly after setting another output frequency, which could cause
a crash.


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


# d473f5766f3e2168ad0427f51d6a127662d0345b 10-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for setting the output frequency. Also done some preparation for
setting the input frequency, but I'm too lazy and not interested in the feature
to actually implement it.
For some reason the setting is not persistent. But the other parameters don't
seem to be persistent either, so this is apparently a general problem.


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


# 4b57427974b08e2bc2528079d9514968f81c4f71 29-Jul-2009 Jérôme Duval <korli@users.berlios.de>

uses different preferred media formats for input and output.


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


# f89d079f4e62110b78f86f114aceeaf877c6a8a9 28-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* MultiAudioAddOn::_RecursiveScan() now checks the depth of the recursion,
and bails out early.
* InitCheck() now actually returns an error if something went wrong during
initialization.
* Cleanup, part III.


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


# d5420ddcccdbe4a2b74b0e63a31cc62886adfe3d 28-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* When setting the global format, MultiAudioDevice::_InitDriver() will no
longer return on failure.
* Also, it will now retrieve the global format from the audio device
afterwards always and uses that.
* Cleanup of MultiAudioNode, part II.


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


# 5da3fbc8efbe27a16162d86e250916a5fc4da765 25-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Moved general multi_audio functions into their own file MultiAudioUtility.cpp;
they don't really belong to the MultiAudioDevice class.
* Major coding style cleanup, part I - no functional change, I hope :-)


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


# 2d01adeaf4911597865275142932676a5f1ad3ba 01-Nov-2007 Jérôme Duval <korli@users.berlios.de>

clean up


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


# b0d9cd6f665066ef752801665f1b935187119362 13-May-2007 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* Delete all local copies of multi_audio from source tree.
* Change name of header for Haiku specific multi_audio to hmulti_audio (in line with the rename of the media addon itself)



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


# f616df6a183aee750f23207449674714049af144 06-Feb-2006 Jérôme Duval <korli@users.berlios.de>

multi media addon builds on beos, fixed include missing
added B_AUDIO_INT support and valid_bits use


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


# c8093d3c8dd0841abcb80ea7efd760a8455a7aac 02-May-2003 Jérôme Duval <korli@users.berlios.de>

ParameterWeb state is now saved and restored for each node.


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


# 056e08e286c2b2129f11eb34ccc0b6b896016b77 20-Apr-2003 Jérôme Duval <korli@users.berlios.de>

Cleanups


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


# be4e010170a900c3c38b00e17f6104a7bdb938ed 17-Mar-2003 beveloper <beveloper@nowhere.fake>

The multi_audio media addon, written by Jerome Duval.


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