History log of /haiku/src/servers/media_addon/MediaAddonServer.cpp
Revision Date Author Comments
# f7338bb6 17-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

Media Kit: Fix/appease various GCC 11 warnings.


# 8a7eacc7 11-Feb-2020 Jérôme Duval <jerome.duval@gmail.com>

media_addon_server: delay the start up sound by 2 seconds.

This workarounds the start delay for sound output.
This can be reverted when sound output is available right after startup
tested on emulation.

Change-Id: I2efb5d46ab25dcda15602bba70e728ae9e34537a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2238
Reviewed-by: Jérôme Duval <jerome.duval@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>


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

media_server: Fix debug header


# e57acc3a 23-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaRoster: Fix initialization and destruction

* Improve consistency by adding a BMediaRosterEx destructor
and using it for the specular functionality of ctor instead
to use the father's class destructor.
* Avoid double initialization of MediaInitializer that
becomes MediaRosterUndertaker.
* Remove superfluos call to BMediaRoster::Quit()
in media_addon_server.


# 2c9e11ba 04-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

media_addon_server: Fix use-after-free on quit.

Putting the add-ons uses the dormant node manager of the BMediaRoster.
The BMediaRoster must therefore only be quit after all add-ons are put.


# e40dece1 09-Mar-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Use ERROR macro in MediaAddonServer instead of debugger call

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


# 49f0011c 09-Mar-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Unregister SystemTimeSource when the media_addon_server quit, better error checking and explicit initialization/deletion for some attributes

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


# 5a1e452b 02-Mar-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Fix style issues in MediaAddonServer

Signed-off-by: Jérôme Duval <jerome.duval@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.


# 916be2df 16-Oct-2013 John Scipione <jscipione@gmail.com>

Consolidate adding add-on directories

This builds off of hrev46243 adding add-on directories all in one place
in AddOnMonitorHandler instead of repeating the code 3 times in
IndexServer, AddOnManager, and MediaAddOnServer.

The safe mode checking in InputServer is now redundant since it all
gets funneled into AddOnMonitorHandler::AddAddOnDirectories()
and the safe mode flags are checked there.

We should probably remove the InputServer::SafeMode() method, but,
I didn't want to break anything that depended on it so I left it.


# b29295c7 06-Oct-2013 Murai Takashi <tmurai01@gmail.com>

Fix loading add-ons in safemode

Signed-off-by: Philippe Saint-Pierre <stpere@gmail.com>


# 4b7e2196 03-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove /boot/common for good

* Remove support for the "common" installation location from packagefs,
package kit, package daemon, package managers.
* Rename the B_COMMON_*_DIRECTORY constants referring to writable
directories to B_SYSTEM_*_DIRECTORY.
* Remove/adjust the use of various B_COMMON_*_DIRECTORY constants.
I'm sure some occurrence still remain. They can be adjusted when the
remaining B_COMMON_*_DIRECTORY constants are removed.


# 01c5671d 09-May-2013 Jérôme Duval <jerome.duval@gmail.com>

midi kit, media_addon_server, mail_server: fixes 64 bit warnings


# e817f41e 28-Jan-2012 Fredrik Modéen <fredrik@modeen.se>

Fixing debug in Media Kit.

* Only fixing debug i the media kit.
* Help with ASSERT(flavorID == testFlavorID) would be nice, don't know what ASSERT do.


# a5c54797 08-Dec-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

media addon server: Fix incorrect array offset for safe mode

Missed that when back porting 323b65468e5836bb27a5e373b14027d902349437.


# 323b6546 21-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Filtered flat import of Oliver's svn package management branch

Bring the changes that aren't package management related and the ones
that are but don't take effect as long as they are ignored by the build
system into the master.

Summary of changes:
* Introduce private header <directories.h> with constants for a good
deal of paths that should usually be retrieved via find_directory().
* Replace hard-coded paths by using find_directory() or the
<directories.h> constants (e.g. in drivers and the kernel).
* Add find_directory() constants needed for package management.
* Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros.
* src/apps/deskbar: BeMenu.* -> DeskbarMenu.*,
DeskBarUtils.* -> DeskbarUtils.*
* Change deskbar menu settings directory from ~/config/be to
~/config/settings/deskbar.
* Other smaller cleanups, changes, and fixes.


# 3dfd9cb9 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# 6aee58a4 17-Jan-2010 Jérôme Duval <korli@users.berlios.de>

* Revert the reverse the addons iteration of r35121.
* The media_addon_server before unloading addons need to be sure the nodes are deleted.
For instance, applications could keep references on global nodes, thus preventing deletion.
To release all references, the media_addon server uses a new method BMediaRosterEx::ReleaseNodeAll().
* Quit the MediaRoster looper when quitting media_addon server before unloading addons.


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


# 1952dab0 17-Jan-2010 Jérôme Duval <korli@users.berlios.de>

* we release nodes which were instantiated or autostarted.
* I had to reverse the addons iteration when quitting, the mixer wasn't releasing correctly if released last.
* use IncrementAddonFlavorInstancesCount on autostarted flavors.


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


# 4c7d6323 10-Jan-2010 Jérôme Duval <korli@users.berlios.de>

Avoids loading addons entry which aren't files (fixes #5222).


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


# e4c87231 09-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Renamed the xfer_* structures to fit the rest, and let them inherit from the
usual structures.
* Also, they now use the QueryServer()/SendToServer() functions instead of
duplicating them.


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


# 9c3b4706 09-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Cleaned up the node manager, got rid of its use of Map, and List.
* Fixed at least two reference counting problems, but nodes from killed teams
still remain alive (will look into this at a later point).
* GetLiveNodes() is now using transfer_area() as well.
* Made all sizes in the SendTo*() and Query*() functions size_t.
* Replaced reinterpret_casts with static_casts when casting void pointers.
* Ordered the request/reply structures by target.
* Tried to consolidate the use of add_on vs. addon.
* More cleanup.


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


# 29bb91d6 07-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Cleaned up DormantNodeManager.
* Renamed global variable _DormantNodeManager to gDormantNodeManager.


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


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

* The media_addon_server is now using the more or less shared
AddOnMonitorHandler solution, instead of doing its own thing.


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


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

* Renamed main.cpp to MediaAddonServer.cpp.


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


# e57acc3a990689adc3d230f877bb98ca979aeac0 23-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaRoster: Fix initialization and destruction

* Improve consistency by adding a BMediaRosterEx destructor
and using it for the specular functionality of ctor instead
to use the father's class destructor.
* Avoid double initialization of MediaInitializer that
becomes MediaRosterUndertaker.
* Remove superfluos call to BMediaRoster::Quit()
in media_addon_server.


# 2c9e11ba385eae2dd646d7c5c4a711ffd0c655ae 04-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

media_addon_server: Fix use-after-free on quit.

Putting the add-ons uses the dormant node manager of the BMediaRoster.
The BMediaRoster must therefore only be quit after all add-ons are put.


# e40dece194839e6e0c738137467da9f6c7468d27 09-Mar-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Use ERROR macro in MediaAddonServer instead of debugger call

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


# 49f0011c1e19d0bdb731957e8847b6debf79e3cb 09-Mar-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Unregister SystemTimeSource when the media_addon_server quit, better error checking and explicit initialization/deletion for some attributes

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


# 5a1e452ba295a4999dc9c5f61e30bd45640821f7 02-Mar-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Fix style issues in MediaAddonServer

Signed-off-by: Jérôme Duval <jerome.duval@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.


# 916be2df3c26f589bd422d22230f921e51e69bae 16-Oct-2013 John Scipione <jscipione@gmail.com>

Consolidate adding add-on directories

This builds off of hrev46243 adding add-on directories all in one place
in AddOnMonitorHandler instead of repeating the code 3 times in
IndexServer, AddOnManager, and MediaAddOnServer.

The safe mode checking in InputServer is now redundant since it all
gets funneled into AddOnMonitorHandler::AddAddOnDirectories()
and the safe mode flags are checked there.

We should probably remove the InputServer::SafeMode() method, but,
I didn't want to break anything that depended on it so I left it.


# b29295c7da798d28c38edce001dabb4f50789972 06-Oct-2013 Murai Takashi <tmurai01@gmail.com>

Fix loading add-ons in safemode

Signed-off-by: Philippe Saint-Pierre <stpere@gmail.com>


# 4b7e219688450694efc9d1890f83f816758c16d3 03-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove /boot/common for good

* Remove support for the "common" installation location from packagefs,
package kit, package daemon, package managers.
* Rename the B_COMMON_*_DIRECTORY constants referring to writable
directories to B_SYSTEM_*_DIRECTORY.
* Remove/adjust the use of various B_COMMON_*_DIRECTORY constants.
I'm sure some occurrence still remain. They can be adjusted when the
remaining B_COMMON_*_DIRECTORY constants are removed.


# 01c5671de87bbecdcbcb06ab88ce1b240a78a58d 09-May-2013 Jérôme Duval <jerome.duval@gmail.com>

midi kit, media_addon_server, mail_server: fixes 64 bit warnings


# e817f41e8ba504627f07bf491a1112a50de94e44 28-Jan-2012 Fredrik Modéen <fredrik@modeen.se>

Fixing debug in Media Kit.

* Only fixing debug i the media kit.
* Help with ASSERT(flavorID == testFlavorID) would be nice, don't know what ASSERT do.


# a5c547971089f4a3ed5441063f6c9f33006d9b28 08-Dec-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

media addon server: Fix incorrect array offset for safe mode

Missed that when back porting 323b65468e5836bb27a5e373b14027d902349437.


# 323b65468e5836bb27a5e373b14027d902349437 21-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Filtered flat import of Oliver's svn package management branch

Bring the changes that aren't package management related and the ones
that are but don't take effect as long as they are ignored by the build
system into the master.

Summary of changes:
* Introduce private header <directories.h> with constants for a good
deal of paths that should usually be retrieved via find_directory().
* Replace hard-coded paths by using find_directory() or the
<directories.h> constants (e.g. in drivers and the kernel).
* Add find_directory() constants needed for package management.
* Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros.
* src/apps/deskbar: BeMenu.* -> DeskbarMenu.*,
DeskBarUtils.* -> DeskbarUtils.*
* Change deskbar menu settings directory from ~/config/be to
~/config/settings/deskbar.
* Other smaller cleanups, changes, and fixes.


# 3dfd9cb95ce45f59160d50975210bc55e3fc0709 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# 6aee58a4cb26a848cad1f4343af8597baa144df0 17-Jan-2010 Jérôme Duval <korli@users.berlios.de>

* Revert the reverse the addons iteration of r35121.
* The media_addon_server before unloading addons need to be sure the nodes are deleted.
For instance, applications could keep references on global nodes, thus preventing deletion.
To release all references, the media_addon server uses a new method BMediaRosterEx::ReleaseNodeAll().
* Quit the MediaRoster looper when quitting media_addon server before unloading addons.


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


# 1952dab0dfdf02a6d2be05a26f0fb593dda24bf7 17-Jan-2010 Jérôme Duval <korli@users.berlios.de>

* we release nodes which were instantiated or autostarted.
* I had to reverse the addons iteration when quitting, the mixer wasn't releasing correctly if released last.
* use IncrementAddonFlavorInstancesCount on autostarted flavors.


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


# 4c7d63233990cf5e8775466dfeaaa5e7a9d36a1d 10-Jan-2010 Jérôme Duval <korli@users.berlios.de>

Avoids loading addons entry which aren't files (fixes #5222).


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


# e4c87231a37d9ec8cb923c61af6995b0622218dc 09-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Renamed the xfer_* structures to fit the rest, and let them inherit from the
usual structures.
* Also, they now use the QueryServer()/SendToServer() functions instead of
duplicating them.


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


# 9c3b4706dd3ed8f9896031973852735223be485c 09-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Cleaned up the node manager, got rid of its use of Map, and List.
* Fixed at least two reference counting problems, but nodes from killed teams
still remain alive (will look into this at a later point).
* GetLiveNodes() is now using transfer_area() as well.
* Made all sizes in the SendTo*() and Query*() functions size_t.
* Replaced reinterpret_casts with static_casts when casting void pointers.
* Ordered the request/reply structures by target.
* Tried to consolidate the use of add_on vs. addon.
* More cleanup.


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


# 29bb91d6e5a32fc04749f5f4ef868be0a7d750b7 07-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Cleaned up DormantNodeManager.
* Renamed global variable _DormantNodeManager to gDormantNodeManager.


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


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

* The media_addon_server is now using the more or less shared
AddOnMonitorHandler solution, instead of doing its own thing.


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


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

* Renamed main.cpp to MediaAddonServer.cpp.


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