History log of /haiku/headers/private/media/MediaMisc.h
Revision Date Author Comments
# 9c9a810c 14-Feb-2020 Jérôme Duval <jerome.duval@gmail.com>

Media Kit: BBufferCache: if not reclaimed, only mark the buffer for deletion

hrev53379 clears the buffer cache for disconnected clients, and also delete buffers.
This is too early (see #15263, media_addon_server crash), and should only happen
after the buffer is recycled. This can be resolved by abusing the fFlags field of
BBuffer to mark the buffer for deletion, and mark the buffer to be reclaimed.
Some BBuffers don't reside in the SharedBufferList, so we have to mark them as to
be reclaimed. For those in the SharedBufferList, call a new RemoveBuffer(), which
can check whether the buffer is still to be reclaimed. For reclaimed BBuffers,
delete them right away, others can be marked for deletion.
fixes #15606 #15263, possibly #15433

Change-Id: I66e94138e7e10a40d4c48e2ac042f816c79f5aab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2245
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Ryan Leavengood <leavengood@gmail.com>


# c131229f 03-Apr-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

media_server: Add notifications


# d25dd4b9 12-Apr-2010 Jérôme Duval <korli@users.berlios.de>

some copyright headers clean up


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


# 6c777c4c 14-Aug-2004 beveloper <beveloper@nowhere.fake>

export media addon server signature for internal use. This doesn't seem to belong into MediaDefs.h


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


# 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


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

various small bugfixes


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


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

Added automatic loading of physical input and output nodes.


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


# 4d6911ee 22-Mar-2003 beveloper <beveloper@nowhere.fake>

fixed latency calculation


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


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

More! more! more!


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


# 394cb5c7 11-Mar-2003 beveloper <beveloper@nowhere.fake>

even more!


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


# 906f0b11 11-Mar-2003 beveloper <beveloper@nowhere.fake>

misc stuff


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


# d25dd4b92033d7ee4e7640f7f8a08d98a8e24800 12-Apr-2010 Jérôme Duval <korli@users.berlios.de>

some copyright headers clean up


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


# 6c777c4c1113ea80722cd07a2dbb581386d9552c 14-Aug-2004 beveloper <beveloper@nowhere.fake>

export media addon server signature for internal use. This doesn't seem to belong into MediaDefs.h


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


# 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


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

various small bugfixes


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


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

Added automatic loading of physical input and output nodes.


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


# 4d6911ee075b34df2c4ab4a97fd3703929ee91a0 22-Mar-2003 beveloper <beveloper@nowhere.fake>

fixed latency calculation


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


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

More! more! more!


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


# 394cb5c78ee5bf81f61088ab8161be4c2d06fea2 11-Mar-2003 beveloper <beveloper@nowhere.fake>

even more!


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


# 906f0b116e22c42e2bfc49312108f9b239790d87 11-Mar-2003 beveloper <beveloper@nowhere.fake>

misc stuff


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