History log of /haiku/src/kits/media/SoundPlayNode.cpp
Revision Date Author Comments
# 425ac1b6 20-Jun-2023 Alexander von Gluck IV <kallisti5@unixzen.com>

refactor: Swap %Ld for %lld in all format usages

* %Ld is an undocumented alias for %lld in glibc.
* muslc doesn't implement it for this reason.
* While we will likely never drop %Ld support,
lets clean house and set a better example.

Change-Id: Id46dad3104abae483e80cc5c05d1464d3ecd8030
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6636
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


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

media: Remove debug.h, finalize MediaDebug.h

* Funny rust from 0 AD.


# 2ceb090f 19-May-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

media_kit: Follow up fix to use only portable codes

* My previous commit fixed x86_64 but broke all other archs.


# f4ba347b 19-May-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

media_kit: Fix debug printf werrors

* When debugging was enabled in the media_kit those were
causing the build to fail complaining about werrors.


# 846a5b02 20-Mar-2016 Zoltan Mizsei <miqlas@gmail.com>

printf's converted to TRACE

Signed-off-by: Dario Casalinuovo <b.vitruvio@gmail.com>


# 332cc6bc 30-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

64 bit fixes for libmedia.so, ActivityMonitor, and Sudoku.

* Alex, I feel your pain :-)


# 15c81466 13-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Reverted part of r34474 that broke binary compatibility.


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


# b289aaf6 12-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* A BBuffer does not know where it came from, so
BBufferConsumer::BufferReceived() cannot know whom to send the "buffer is
late" notification (unless we only have a single input). To solve this, the
media_header now contains extra fields that can be used to create a
media_source object.
* Unfortunately, BBufferProducer::SendBuffer() cannot know the output either in
case there is more than one. Hence, I deprecated the existing SendBuffer()
call and moved it into "private" - IOW old sources using it won't compile
anymore under Haiku.
* I introduced a new SendBuffer() variant that also gets the media_source as
argument.
* Updated all sources (that are part of the image) to use the new variant.
* Removed some purposely commented out code in the audio mixer.
* Implemented late buffer notification, as well as late buffer handling in the
audio mixer; this is a bit of work in progress, so the debug output is left
in there.
* Some cleanup.


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


# 04c71a2f 05-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed code duplication, SetBufferGroup() will now use AllocateBuffers()
instead of doing the same manually.
* AllocateBuffers() is now returning a status code.


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


# 4ed344af 03-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Moved _SoundPlayNode into the BPrivate namespace and dismissed the '_' prefix.
* Further cleanup.


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


# 812fde99 03-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* When you even already have the typedefs, why wouldn't you want to use them?
* Some cleanup, no functional change.


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


# f101f76f 10-Oct-2005 Jérôme Duval <korli@users.berlios.de>

added a check of BBufferGroup


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


# 40c2c00a 24-Oct-2004 beveloper <beveloper@nowhere.fake>

Clean up of debug output. Fixed volume control bug introduced yesterday.


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


# df42a7b5 23-Oct-2004 beveloper <beveloper@nowhere.fake>

Massive BSoundPlayer rewrite. Format negotiation and node registering/unregistering fixed.


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


# d6105ced 23-Oct-2004 beveloper <beveloper@nowhere.fake>

Some BSoundPlayer style changes and bugfixes


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


# 046f31f9 14-Dec-2003 beveloper <beveloper@nowhere.fake>

update to the codec api, docoder assignment is now handled in the server
multiple reader add-ons are probed to recognize a media file
FormatManager does the translation from media_format to media_description


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


# 2feec67c 01-Oct-2003 beveloper <beveloper@nowhere.fake>

changed debug output


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


# a0032ff0 07-Sep-2003 beveloper <beveloper@nowhere.fake>

latency now depends on buffer duration


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


# a0703a47 03-Jun-2003 beveloper <beveloper@nowhere.fake>

fixed BSoundPlayer::Stop() bugs exposed by CL-Amp


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


# a8c2408c 03-Jun-2003 beveloper <beveloper@nowhere.fake>

fixed format setup, CL-Amp works now


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


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

next event calculation properly based on frames played in performace time now


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


# 9bedd42c 29-May-2003 beveloper <beveloper@nowhere.fake>

many fixes to improve timing


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


# a4289a95 25-May-2003 beveloper <beveloper@nowhere.fake>

fixed initialization, added debug macros


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


# 95531d1e 11-May-2003 Jérôme Duval <korli@users.berlios.de>

Working SoundPlayer and SoundPlayerNode, it lacks volume methods


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


# 332cc6bc3b696473169bb9e43340b69a0a3fc4f1 30-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

64 bit fixes for libmedia.so, ActivityMonitor, and Sudoku.

* Alex, I feel your pain :-)


# 15c81466c473ec4607aa3a160e0e8fcead2173ef 13-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Reverted part of r34474 that broke binary compatibility.


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


# b289aaf66bbf6e173aa90fa194fc256965f1b34d 12-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* A BBuffer does not know where it came from, so
BBufferConsumer::BufferReceived() cannot know whom to send the "buffer is
late" notification (unless we only have a single input). To solve this, the
media_header now contains extra fields that can be used to create a
media_source object.
* Unfortunately, BBufferProducer::SendBuffer() cannot know the output either in
case there is more than one. Hence, I deprecated the existing SendBuffer()
call and moved it into "private" - IOW old sources using it won't compile
anymore under Haiku.
* I introduced a new SendBuffer() variant that also gets the media_source as
argument.
* Updated all sources (that are part of the image) to use the new variant.
* Removed some purposely commented out code in the audio mixer.
* Implemented late buffer notification, as well as late buffer handling in the
audio mixer; this is a bit of work in progress, so the debug output is left
in there.
* Some cleanup.


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


# 04c71a2f1d94d84fc447ff03fbebcdb97aade55e 05-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed code duplication, SetBufferGroup() will now use AllocateBuffers()
instead of doing the same manually.
* AllocateBuffers() is now returning a status code.


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


# 4ed344af25dfabf5f582fdd00ed44024e4dcf9f0 03-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Moved _SoundPlayNode into the BPrivate namespace and dismissed the '_' prefix.
* Further cleanup.


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


# 812fde99a1471c6f8fa7d659d5ce3e0383b71142 03-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* When you even already have the typedefs, why wouldn't you want to use them?
* Some cleanup, no functional change.


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


# f101f76fc79a459d81b1449292f9985e79ab5f5d 10-Oct-2005 Jérôme Duval <korli@users.berlios.de>

added a check of BBufferGroup


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


# 40c2c00a3417f650cd931c547f6b0148ef67cfa1 24-Oct-2004 beveloper <beveloper@nowhere.fake>

Clean up of debug output. Fixed volume control bug introduced yesterday.


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


# df42a7b539617ec8e5c9c8c4f18e6f3a71f81301 23-Oct-2004 beveloper <beveloper@nowhere.fake>

Massive BSoundPlayer rewrite. Format negotiation and node registering/unregistering fixed.


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


# d6105cedfae3ff3ac407ed62aea89c64c5546be1 23-Oct-2004 beveloper <beveloper@nowhere.fake>

Some BSoundPlayer style changes and bugfixes


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


# 046f31f91f5d4f56b2fed3ff5c5759328d222cf2 14-Dec-2003 beveloper <beveloper@nowhere.fake>

update to the codec api, docoder assignment is now handled in the server
multiple reader add-ons are probed to recognize a media file
FormatManager does the translation from media_format to media_description


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


# 2feec67c73d2dcac9cc3b5995f1f1eeffe841159 01-Oct-2003 beveloper <beveloper@nowhere.fake>

changed debug output


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


# a0032ff0cf32ab4226da53d95b73bbc581a06b73 07-Sep-2003 beveloper <beveloper@nowhere.fake>

latency now depends on buffer duration


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


# a0703a47ce03792b3981bb6c2f4b8af443dec619 03-Jun-2003 beveloper <beveloper@nowhere.fake>

fixed BSoundPlayer::Stop() bugs exposed by CL-Amp


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


# a8c2408c090a51fecbbdff8075192327483eb2e4 03-Jun-2003 beveloper <beveloper@nowhere.fake>

fixed format setup, CL-Amp works now


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


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

next event calculation properly based on frames played in performace time now


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


# 9bedd42cd1e0fdb44e39be7ef4f3c76786d59b50 29-May-2003 beveloper <beveloper@nowhere.fake>

many fixes to improve timing


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


# a4289a95c09a79da0b4e0e410bb03f5cc363041b 25-May-2003 beveloper <beveloper@nowhere.fake>

fixed initialization, added debug macros


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


# 95531d1e1b20987bfa84ee66d625abb5e1ea52fb 11-May-2003 Jérôme Duval <korli@users.berlios.de>

Working SoundPlayer and SoundPlayerNode, it lacks volume methods


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