#
7bcdb362 |
|
24-May-2015 |
Dario Casalinuovo <b.vitruvio@gmail.com> |
media_server: Improve BTimeSource slave nodes management The media_server is now able to remember the timesource associated to a certain registered_node and always remove it when the owner application crash, Fixes Ticket #11852
|
#
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
|
#
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
|
#
9dec2310 |
|
05-Dec-2009 |
Axel Dörfler <axeld@pinc-software.de> |
Sorry for this large commit in advance; it's not really possible to divide this into smaller parts: media_addon_server: * Removed (broken) use of (broken and inefficient) home-brewn Map, and List classes. This also fixes a crash on shutdown when used with the malloc_debug implementation. It's using stl::vector, and stl::map now instead. _shared_buffer_list: * Renamed _shared_buffer_list to SharedBufferList, and put it into the BPrivate namespace. Also, made a class out of it. * Separated shared buffer list creation from cloning. * Enlarged maximum number of buffers to something that is not that evil, but actually uses the space it has (ie. is a useful multiple of shared_buffer_info that fills a multiple of B_PAGE_SIZE as much as possible). * No longer drops into the debugger if the * The list that is currently used is very inefficient for the features it provides though (no change there). _buffer_id_cache: * Renamed to BufferCache, and put it into the private namespace * It now deletes its buffers on deletion; since the BBufferConsumer will be gone, too, at this point, there is little chance that there are still buffers in use. * Also, it's now using std::map instead of the (see above) Map class. BBuffer: * Got rid of the fBufferID member. Misc.: * Got rid of the global "team" variable; the media kit is now using the private app kit's current_team() now. * Added a lot of missing error checks (mostly memory allocations). * Renamed fields like "flavorid" to flavor_id, renamed "dfi_*" fields to something more detailed. * Moved ServerInterface.h from src/servers/media/ to headers/private/media. * Notifications.h was not self contained. * Added missing licenses. * Lots of cleanups, and coding style fixes. What this doesn't fix: * Bug #4954 which started all this (this comes next, though) * Deinitialization is broken, as the PortPool is uninitialized too early, and still used afterwards. * The strange add-on monitoring code in the media_addon_server git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34500 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8734b81d |
|
09-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the NotificationManager.h header self contained. * Changed some members to be part of the NotificationManager instead of allocated objects. * Use BAutolock where appropriate. * Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30077 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
21871f38 |
|
25-May-2003 |
beveloper <beveloper@nowhere.fake> |
various bugfixes git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3339 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
|
#
626824ea |
|
21-Mar-2003 |
beveloper <beveloper@nowhere.fake> |
Added reference counting of media add-on instances. You can't create more node instances than "possible_count". git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2990 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
|
#
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
|
#
2df68a7b |
|
25-Dec-2002 |
beveloper <beveloper@nowhere.fake> |
Checkpoint. Started adding support for persistent default nodes. System time source and BTimeSource are broken. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2306 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ced4130f |
|
10-Dec-2002 |
beveloper <beveloper@nowhere.fake> |
added more debug information git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2218 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
41ba915d |
|
23-Nov-2002 |
beveloper <beveloper@nowhere.fake> |
various small changes git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2071 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
|
#
d9b7ae21 |
|
07-Oct-2002 |
beveloper <beveloper@nowhere.fake> |
moved node management functions into the NodeManager class git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1449 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
|
#
d6b71edf |
|
12-Aug-2002 |
beveloper <beveloper@nowhere.fake> |
Updated to make media_addon_server work with the DormantNodeManager class git-svn-id: file:///srv/svn/repos/haiku/trunk/current@730 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
|
#
7bcdb3624951ebf640098d2a860cef7d9557e1df |
|
24-May-2015 |
Dario Casalinuovo <b.vitruvio@gmail.com> |
media_server: Improve BTimeSource slave nodes management The media_server is now able to remember the timesource associated to a certain registered_node and always remove it when the owner application crash, Fixes Ticket #11852
|
#
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
|
#
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
|
#
9dec23104287e2fd592cc14148b43fb28a6e1d8e |
|
05-Dec-2009 |
Axel Dörfler <axeld@pinc-software.de> |
Sorry for this large commit in advance; it's not really possible to divide this into smaller parts: media_addon_server: * Removed (broken) use of (broken and inefficient) home-brewn Map, and List classes. This also fixes a crash on shutdown when used with the malloc_debug implementation. It's using stl::vector, and stl::map now instead. _shared_buffer_list: * Renamed _shared_buffer_list to SharedBufferList, and put it into the BPrivate namespace. Also, made a class out of it. * Separated shared buffer list creation from cloning. * Enlarged maximum number of buffers to something that is not that evil, but actually uses the space it has (ie. is a useful multiple of shared_buffer_info that fills a multiple of B_PAGE_SIZE as much as possible). * No longer drops into the debugger if the * The list that is currently used is very inefficient for the features it provides though (no change there). _buffer_id_cache: * Renamed to BufferCache, and put it into the private namespace * It now deletes its buffers on deletion; since the BBufferConsumer will be gone, too, at this point, there is little chance that there are still buffers in use. * Also, it's now using std::map instead of the (see above) Map class. BBuffer: * Got rid of the fBufferID member. Misc.: * Got rid of the global "team" variable; the media kit is now using the private app kit's current_team() now. * Added a lot of missing error checks (mostly memory allocations). * Renamed fields like "flavorid" to flavor_id, renamed "dfi_*" fields to something more detailed. * Moved ServerInterface.h from src/servers/media/ to headers/private/media. * Notifications.h was not self contained. * Added missing licenses. * Lots of cleanups, and coding style fixes. What this doesn't fix: * Bug #4954 which started all this (this comes next, though) * Deinitialization is broken, as the PortPool is uninitialized too early, and still used afterwards. * The strange add-on monitoring code in the media_addon_server git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34500 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8734b81d2309262f375d021018721f942d32d9f5 |
|
09-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the NotificationManager.h header self contained. * Changed some members to be part of the NotificationManager instead of allocated objects. * Use BAutolock where appropriate. * Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30077 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
21871f384ecf9ad360ac1d0c8de9ba888fb5c037 |
|
25-May-2003 |
beveloper <beveloper@nowhere.fake> |
various bugfixes git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3339 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
|
#
626824eaaf91ec35de3ca9eb737f87d98ffb6121 |
|
21-Mar-2003 |
beveloper <beveloper@nowhere.fake> |
Added reference counting of media add-on instances. You can't create more node instances than "possible_count". git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2990 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
|
#
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
|
#
2df68a7bf696936b7aca7a6c53c845fbe726c354 |
|
25-Dec-2002 |
beveloper <beveloper@nowhere.fake> |
Checkpoint. Started adding support for persistent default nodes. System time source and BTimeSource are broken. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2306 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ced4130fee46bc0bfb30185c43a8e19c4e9f1d07 |
|
10-Dec-2002 |
beveloper <beveloper@nowhere.fake> |
added more debug information git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2218 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
41ba915d4209230c44208bc7480ea76532b984c9 |
|
23-Nov-2002 |
beveloper <beveloper@nowhere.fake> |
various small changes git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2071 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
|
#
d9b7ae21540f533caeddf31e011ec35701fca8d2 |
|
07-Oct-2002 |
beveloper <beveloper@nowhere.fake> |
moved node management functions into the NodeManager class git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1449 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
|
#
d6b71edf064b0ebdf8067335c08f8c4519f8cabc |
|
12-Aug-2002 |
beveloper <beveloper@nowhere.fake> |
Updated to make media_addon_server work with the DormantNodeManager class git-svn-id: file:///srv/svn/repos/haiku/trunk/current@730 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
|