History log of /haiku/src/kits/media/MediaNode.cpp
Revision Date Author Comments
# 64e742de 07-Sep-2021 Augustin Cavalier <waddlesplash@gmail.com>

media: Declare wildcard fields const.

This is a source compatibility break from BeOS, but should not
be an ABI one (I checked, the symbols are identical.)

Also use "= {}" in the definitions of the fields. We use this
in plenty of places in the kernel, so it should be OK for GCC2.

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


# b073975e 21-Dec-2019 Jérôme Duval <jerome.duval@gmail.com>

media: fix 64-bit debug build

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


# b84955d4 23-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

media: Remove debug.h, finalize MediaDebug.h

* Funny rust from 0 AD.


# bb1f15aa 01-Feb-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaEventLooper: Better solution for negative timestamp

* This problem happens only at the startup, so that it's
preferred that we deal with it in the BMediaEventLooper side.
* This solve some audio stability problems I had with slow systems.


# 6423f87f 19-Nov-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaRoster: Reference count polishment

* BMediaNode is registering it's presence to the roster.
* Only addons needs their configuration to be saved.


# 90cdf5e4 27-Aug-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaNode::WaitForMessage: protect it over negative timeouts


# da181514 26-Aug-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Revert "MediaNode: Wait for 0 time if the absolute timeout is in the past"

This reverts commit ae9cbf9c4e167470b47964059e90c2b0881367eb.

* Thanks to Pawel Dziepak for reporting!


# ae9cbf9c 25-Aug-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaNode: Wait for 0 time if the absolute timeout is in the past


# c079d8d6 12-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Implement BMediaRoster::GetNodeAttributesFor


# 8abf9450 11-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaNode API is now feature complete

* Change BMediaNode::GetNodeAttributes macro to CALLED(),
since the base implementation should just return B_ERROR,
unset as unimplemented for consistency.
* This means that since the latest changes the class
is now feature complete and implements the whole R5 API.
* Add documentation comment for it as well.
* Fix some lines going over 80 chars.


# 2e60efda 10-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaNode: Improve readability

* Style fixes.
* Remove pervasive comments.
* Cleanup.


# 75486484 09-Apr-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Implement BMediaRoster::SyncToNode


# 14896b93 07-Jan-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Implement BMediaRoster::RollNode().

Fixes #9083.

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>


# c74afb57 19-Oct-2013 Jérôme Duval <jerome.duval@gmail.com>

try to avoid a media_addon_server crash on quit (bug #5863).

* BMediaRosterEx::ReleaseNodeAll(): if media_server isn't available,
try to contact the node locally.
* BMediaRoster::UnregisterNode(): if media_server isn't available,
try to get the addon_id from the local node.
* BMediaNode::AddOn() as a pure virtual methode isn't available in the
BMediaNode destructor. Workaround that by calling UnregisterNode()
in DeleteHook() instead of the destructor.
* MediaAddonServer::_DestroyInstantiatedFlavors(): give time to each
flavor to clean up.


# ec4d0e42 05-May-2013 Michael Lotz <mmlr@mlotz.ch>

BMediaNode: Handle port read syscall interrupts by retrying.

The syscall might be interrupted, especially in signal heavy
applications. In that case we need to retry the read until the timeout
runs out. since the timeout is already absolute we don't need to adjust
anything.


# ba5e652d 03-Nov-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Set of patches by Pete Goodeve to imrpove the handling of audio latency.
Closes #7285.


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


# a49fe9b8 22-Feb-2011 Jonas Sundström <jonas@kirilla.com>

Unsafe strncpy replaced by strlcpy. CID 2262, 2263, 2262, 2253, 2252, 2251, 2250, 2249. BUFFER_SIZE_WARNING.

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


# 17a5db77 28-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

* Rewrote header, adjusted source.

+alphabranch


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


# e339f816 21-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

Also don't print error on B_BAD_PORT_ID in BMediaNode::WaitForMessage(),
it just means the port has been deleted while the node was waiting, like
when a program quits.


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


# 6b8545a4 20-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

* Improve line breaks in BMediaNode::WaitForMessage() for 80 char width
according to coding style guide.
* Print the error string for read_port_etc() instead of the error code.


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


# 31cf24c1 21-Aug-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

debugging instrumentation for Cortex lockup bug (some weeks old already)


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


# a7dc1efb 09-Mar-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

removed port unblock workaround, as port API should work now similar to BeOS R5


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


# 9b9d1e82 07-Mar-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

modified to allow handling of messages without data


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


# 3bb81a42 07-Mar-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

Fixed deadlock that occured when quitting media applications.
I don't know why this never happened on R5. Haiku close_port()
works as documented in BeBook, but might possibly different in R5.


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


# 758b1d0e 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



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


# 92e575c1 09-Sep-2003 beveloper <beveloper@nowhere.fake>

Moved system time source code into media_addon_server.
It is now a real node.
Shadow timesources finally have the correct control port id.


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


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

clean up of debugging functions
FATAL is now replaced by ERROR and active at DEBUG=1 or above
TRACE is active at 2 or above
PRINT(level, ...) can be used for DEBUG= level or abode
INFO is removed


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


# 4295907b 01-Jun-2003 beveloper <beveloper@nowhere.fake>

fixed (hopefully) all latency bugs
fixed BMediaRoster::MakeTimeSourceFor()


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


# 5917dd5b 01-Jun-2003 beveloper <beveloper@nowhere.fake>

various timing related bugfixes


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


# 1ab3e018 30-May-2003 beveloper <beveloper@nowhere.fake>

bugfixes and debug information


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


# 255a01c7 14-Apr-2003 beveloper <beveloper@nowhere.fake>

Added a new license to this file, as I'm the author.


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


# 60f15390 22-Mar-2003 beveloper <beveloper@nowhere.fake>

a couple of fixes regarding latency calculation


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


# 54187cc6 15-Mar-2003 beveloper <beveloper@nowhere.fake>

Global nodes can mow be released by the teams which created them.


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


# 86bce45b 14-Mar-2003 beveloper <beveloper@nowhere.fake>

Removed time sourced from reference counting.
Releasing nodes works now, except if they have been instanciated globally.


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


# cf4e2277 14-Mar-2003 beveloper <beveloper@nowhere.fake>

fixing BMediaRoster::ReleaseNode()


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


# d2ecd5a9 14-Mar-2003 beveloper <beveloper@nowhere.fake>

code style cleanup


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


# 7fd43270 19-Jan-2003 beveloper <beveloper@nowhere.fake>

Updated time source code to allow automatic starting and stopping of time sources.
Sending run mode changes and broadcasting of time changes is also implemented.
For one reason or another, all this doesn't work right now.


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


# d6379053 09-Jan-2003 beveloper <beveloper@nowhere.fake>

Made time sources mode BeOS R5 conforming.


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


# 0e21b167 06-Jan-2003 beveloper <beveloper@nowhere.fake>

time sources now publish and retrieve timing information


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


# 835140c8 05-Jan-2003 beveloper <beveloper@nowhere.fake>

better time source support


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


# 287f7492 02-Jan-2003 beveloper <beveloper@nowhere.fake>

more time source function...


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


# 353b9f6b 02-Dec-2002 beveloper <beveloper@nowhere.fake>

changed map and list templates to be more useable, however, they will
be rewritten soon. Changed debugging macros and use of them, too.
Also replaced the linked lists in the BufferManager (which were complicated,
but working ok) with template based ones.


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


# dfb2ad61 03-Nov-2002 beveloper <beveloper@nowhere.fake>

code cleanup


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


# 570f7d04 10-Oct-2002 beveloper <beveloper@nowhere.fake>

updated to include the same features/bugs as the screenshot in today's news.


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


# 1299bfb2 08-Oct-2002 beveloper <beveloper@nowhere.fake>

added real media_server node management, removed bugs, added debug output


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


# d54e84e0 07-Oct-2002 beveloper <beveloper@nowhere.fake>

I don't know anymore what I did with these files, but they seem to have changed


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


# 9e9417d2 05-Oct-2002 beveloper <beveloper@nowhere.fake>

more BMediaRoster functionality


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


# 3620737c 03-Oct-2002 beveloper <beveloper@nowhere.fake>

added more BMediaRoster functionality


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


# f4925104 01-Oct-2002 beveloper <beveloper@nowhere.fake>

changed media kit internal messaging and notification support


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


# eae26d3d 22-Aug-2002 beveloper <beveloper@nowhere.fake>

Start adding notification support


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


# 16b7eea4 13-Aug-2002 beveloper <beveloper@nowhere.fake>

Add some experimental media add-on instantiating support, more debugging and bugfixes


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


# e0207628 11-Jul-2002 beveloper <beveloper@nowhere.fake>

finally get libmedia.so building :-)


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


# 0a483e72 11-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed includes.


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


# 52a38012 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


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


# 90cdf5e42e888bb80eabe4770c7c34149ad60f02 27-Aug-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaNode::WaitForMessage: protect it over negative timeouts


# da1815146999aa993efcf62669ccfc3f552c978b 26-Aug-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Revert "MediaNode: Wait for 0 time if the absolute timeout is in the past"

This reverts commit ae9cbf9c4e167470b47964059e90c2b0881367eb.

* Thanks to Pawel Dziepak for reporting!


# ae9cbf9c4e167470b47964059e90c2b0881367eb 25-Aug-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaNode: Wait for 0 time if the absolute timeout is in the past


# c079d8d6d9048763ce2daab04f7d9474711775c8 12-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Implement BMediaRoster::GetNodeAttributesFor


# 8abf9450f0a6fadbdf2778df87cef68eb8fc2b51 11-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaNode API is now feature complete

* Change BMediaNode::GetNodeAttributes macro to CALLED(),
since the base implementation should just return B_ERROR,
unset as unimplemented for consistency.
* This means that since the latest changes the class
is now feature complete and implements the whole R5 API.
* Add documentation comment for it as well.
* Fix some lines going over 80 chars.


# 2e60efdafe155fce277dc332b17071b02416e8c8 10-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaNode: Improve readability

* Style fixes.
* Remove pervasive comments.
* Cleanup.


# 75486484201a2b4ebbffc34d868679d270b0f170 09-Apr-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Implement BMediaRoster::SyncToNode


# 14896b937ac8d8934f52425da50a8dbbee884599 07-Jan-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Implement BMediaRoster::RollNode().

Fixes #9083.

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>


# c74afb578a4715d2184a620511e49174a4642690 19-Oct-2013 Jérôme Duval <jerome.duval@gmail.com>

try to avoid a media_addon_server crash on quit (bug #5863).

* BMediaRosterEx::ReleaseNodeAll(): if media_server isn't available,
try to contact the node locally.
* BMediaRoster::UnregisterNode(): if media_server isn't available,
try to get the addon_id from the local node.
* BMediaNode::AddOn() as a pure virtual methode isn't available in the
BMediaNode destructor. Workaround that by calling UnregisterNode()
in DeleteHook() instead of the destructor.
* MediaAddonServer::_DestroyInstantiatedFlavors(): give time to each
flavor to clean up.


# ec4d0e426d0e022f6acc1aec831cb2c771354356 05-May-2013 Michael Lotz <mmlr@mlotz.ch>

BMediaNode: Handle port read syscall interrupts by retrying.

The syscall might be interrupted, especially in signal heavy
applications. In that case we need to retry the read until the timeout
runs out. since the timeout is already absolute we don't need to adjust
anything.


# ba5e652d79a41a15230b0940003e7dc352b41974 03-Nov-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Set of patches by Pete Goodeve to imrpove the handling of audio latency.
Closes #7285.


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


# a49fe9b8495bb2dacd5926056b82b273e2b9860b 22-Feb-2011 Jonas Sundström <jonas@kirilla.com>

Unsafe strncpy replaced by strlcpy. CID 2262, 2263, 2262, 2253, 2252, 2251, 2250, 2249. BUFFER_SIZE_WARNING.

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


# 17a5db77c0f16f42e36c47cf00e22e07aab39dc9 28-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

* Rewrote header, adjusted source.

+alphabranch


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


# e339f8165bdc8463dd41121507ab4419fb101d55 21-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

Also don't print error on B_BAD_PORT_ID in BMediaNode::WaitForMessage(),
it just means the port has been deleted while the node was waiting, like
when a program quits.


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


# 6b8545a4febdb22eb1b3da88f070f24ce4ded495 20-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

* Improve line breaks in BMediaNode::WaitForMessage() for 80 char width
according to coding style guide.
* Print the error string for read_port_etc() instead of the error code.


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


# 31cf24c13e5291294cfe8b3aa33e190db299bb11 21-Aug-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

debugging instrumentation for Cortex lockup bug (some weeks old already)


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


# a7dc1efbac42dc3e0de63867b89db26b044218f2 09-Mar-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

removed port unblock workaround, as port API should work now similar to BeOS R5


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


# 9b9d1e82f4e17fc7b8fa000f88782dbb95165e64 07-Mar-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

modified to allow handling of messages without data


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


# 3bb81a42394316b1c88bb7ce4ee51c1740fca9b2 07-Mar-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

Fixed deadlock that occured when quitting media applications.
I don't know why this never happened on R5. Haiku close_port()
works as documented in BeBook, but might possibly different in R5.


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


# 758b1d0e05fe1042cce6e00d194a147802d4f9be 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



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


# 92e575c103c50b3795b6a68aa9c4aeb7420e5a22 09-Sep-2003 beveloper <beveloper@nowhere.fake>

Moved system time source code into media_addon_server.
It is now a real node.
Shadow timesources finally have the correct control port id.


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


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

clean up of debugging functions
FATAL is now replaced by ERROR and active at DEBUG=1 or above
TRACE is active at 2 or above
PRINT(level, ...) can be used for DEBUG= level or abode
INFO is removed


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


# 4295907bd14047fb8c4156fe2cb0b9103c36bed6 01-Jun-2003 beveloper <beveloper@nowhere.fake>

fixed (hopefully) all latency bugs
fixed BMediaRoster::MakeTimeSourceFor()


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


# 5917dd5b85eed661e5d9297c8eb8979bf304b6dc 01-Jun-2003 beveloper <beveloper@nowhere.fake>

various timing related bugfixes


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


# 1ab3e018978a65e71ffe20141d51ae4e591f67de 30-May-2003 beveloper <beveloper@nowhere.fake>

bugfixes and debug information


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


# 255a01c76a3ddc38d2c6cae806c4148b9bf022d4 14-Apr-2003 beveloper <beveloper@nowhere.fake>

Added a new license to this file, as I'm the author.


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


# 60f15390cd7b83f1a8083d8530d7256aa1ea71e3 22-Mar-2003 beveloper <beveloper@nowhere.fake>

a couple of fixes regarding latency calculation


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


# 54187cc6e8dab0f8502b3fed8621e13ce44a3cf8 15-Mar-2003 beveloper <beveloper@nowhere.fake>

Global nodes can mow be released by the teams which created them.


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


# 86bce45b0c73eddb1ac8239428b666df04287a66 14-Mar-2003 beveloper <beveloper@nowhere.fake>

Removed time sourced from reference counting.
Releasing nodes works now, except if they have been instanciated globally.


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


# cf4e22778668a91fead7c7573d531d5d1fac8a12 14-Mar-2003 beveloper <beveloper@nowhere.fake>

fixing BMediaRoster::ReleaseNode()


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


# d2ecd5a91c08b5d2ef2daab2a3ac8dba2e5abd9d 14-Mar-2003 beveloper <beveloper@nowhere.fake>

code style cleanup


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


# 7fd432700b5fd02a23af42ee36d1bc780e8bf702 19-Jan-2003 beveloper <beveloper@nowhere.fake>

Updated time source code to allow automatic starting and stopping of time sources.
Sending run mode changes and broadcasting of time changes is also implemented.
For one reason or another, all this doesn't work right now.


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


# d6379053ba9ca590a573e3a36795cb94f3520867 09-Jan-2003 beveloper <beveloper@nowhere.fake>

Made time sources mode BeOS R5 conforming.


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


# 0e21b167c923fa9d57cd68e29886d8431d4ba918 06-Jan-2003 beveloper <beveloper@nowhere.fake>

time sources now publish and retrieve timing information


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


# 835140c89a74b440c1e99c6aaff5cc995cf8bc02 05-Jan-2003 beveloper <beveloper@nowhere.fake>

better time source support


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


# 287f7492c391deeb77d87951ed2b0620a9d163d5 02-Jan-2003 beveloper <beveloper@nowhere.fake>

more time source function...


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


# 353b9f6bcedb3fa9950f3f65c960e1deb700f84a 02-Dec-2002 beveloper <beveloper@nowhere.fake>

changed map and list templates to be more useable, however, they will
be rewritten soon. Changed debugging macros and use of them, too.
Also replaced the linked lists in the BufferManager (which were complicated,
but working ok) with template based ones.


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


# dfb2ad6148f303a0ee57faecc282953d11156067 03-Nov-2002 beveloper <beveloper@nowhere.fake>

code cleanup


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


# 570f7d0456164c9d2f22525c7eca167021e93770 10-Oct-2002 beveloper <beveloper@nowhere.fake>

updated to include the same features/bugs as the screenshot in today's news.


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


# 1299bfb29f6155daaa6117fec04f9054e0dc24b6 08-Oct-2002 beveloper <beveloper@nowhere.fake>

added real media_server node management, removed bugs, added debug output


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


# d54e84e0e23ef5d792c1babb4f5c6ba64a31f332 07-Oct-2002 beveloper <beveloper@nowhere.fake>

I don't know anymore what I did with these files, but they seem to have changed


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


# 9e9417d20596827f8c375ffd90b7a01cae1c0c4c 05-Oct-2002 beveloper <beveloper@nowhere.fake>

more BMediaRoster functionality


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


# 3620737cb79cb28d11eba8a7396a4d0f00fc512d 03-Oct-2002 beveloper <beveloper@nowhere.fake>

added more BMediaRoster functionality


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


# f4925104822c0990c8fc7b99144512294827b3cf 01-Oct-2002 beveloper <beveloper@nowhere.fake>

changed media kit internal messaging and notification support


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


# eae26d3da16dcaf2da8f0e9af46c99247964183f 22-Aug-2002 beveloper <beveloper@nowhere.fake>

Start adding notification support


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


# 16b7eea41a06da4167cfd3e28a18681ca29ff04f 13-Aug-2002 beveloper <beveloper@nowhere.fake>

Add some experimental media add-on instantiating support, more debugging and bugfixes


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


# e0207628190bd95e4730c4eb6875326f57e84637 11-Jul-2002 beveloper <beveloper@nowhere.fake>

finally get libmedia.so building :-)


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


# 0a483e722194fedf4b5a891c7902c73a4e4dd213 11-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed includes.


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


# 52a380120846174213ccce9c4aab0dda17c72083 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


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