History log of /haiku/src/servers/media/media_server.cpp
Revision Date Author Comments
# 91af5aa6 12-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

media_server: Fix fetching the team_id from the SOME_APP_QUIT message.

Now the buffers of crashed teams will actually be removed from the
media_server. (Was this code just never tested?!)


# 7928a43a 17-Feb-2019 Barrett17 <b.vitruvio@gmail.com>

media_server: Use portable printf formatting code


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

media_server: Fix debug header


# 76889670 21-Apr-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

shutdown_media_server: Finalize rework of synchronization

* When the user isn't requesting a custom notification, it will
be a BMediaRoster job to do it.
* Reintroduce BMediaRoster::SyncToServices, this time based on local
message passing rather than a global semaphore.
* SyncToServices is used in launch_media_server to make the process
more launch_daemon safe and faster in the average case.
* It was an error to add notifications in the media_server.
* Fixes #12717.


# 9074223d 08-Apr-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

media_server: Print unknown messages notice only when debugging

* Remove unneeded noise caused by progress notifications.
* Don't print the message to screen.


# 11c7bd86 04-Apr-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Replace synchronization semaphore with async messages

* Remove SyncToServices, I will probably readd it in future
but this time using a local synchronization service more than
relying on the media_server to release the semaphore.
* Due to some discussions today in mailing list I decided
to step back and retry the initial way to notify media rosters
about media services status. It is woking by using two different
notifications for reconnecting to the media_server and notifying
the local subscribers.
* This speed up the media services restart.
* Sorry for the noise and very thanks for reviewing my code to
everyone.


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

media_server: Add notifications


# 53c3fa51 02-Apr-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Introduce functionality for syncing with the media services

* The global synchro semaphore is provided with the purpose of
being used to avoid threads lock up when the media_server is in
an undefined state. There's still room for improvements.
* BMediaRoster::SyncToServices lock up on a semaphore until
the multi_audio correctly connected to the mixer.


# 1199f321 01-Apr-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

media_server: Initial move to BServer


# ec02769a 06-Jan-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

media_server: Replace ping/pong with notifications


# 313ed73b 01-Aug-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Revert "media_server: Fix deadlock when killing from ProcessController"

This reverts commit 5934b30b95a239eee4a088a9b9cb425eef13f22d.

* It got the way of an heisenbug and it seems this change
fixed the problems, but after 2 days the media_server returned
to block. Sorry about that! Will investigate further.


# 5934b30b 27-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

media_server: Fix deadlock when killing from ProcessController


# d009f286 24-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

media_kit: Fix style as suggested in ml


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

media_server: watch for media services status

* It's now calling CleanupDormantInfos when
media_addon_server die.


# 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


# 2feaa37f 02-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move media plug-in support to application side.

The media server tried to use node monitoring to dynamically add and
remove plug-ins, but it isn't that useful:
* When a plug-in is added, applications would have to query the media
server to get an up to date list of available formats. For example
MediaConvert populates its format menus on startup.
* When removing a plugin, if an app already had it loaded, there is not
much that can be done to keep it working.
* The list of plugins was not sorted by directories (user vs system
add-ons), so the directories were re-scanned to make sure user add-ons
were returned first, rendering the node monitoring less interesting.

Now, the format handling is done by each application. The node
monitoring is removed, instead the apps will scan the plugin directory
when first using the media kit classes. Restarting the application is
needed to update the media formats list.


# fe1f74ab 10-May-2013 Jérôme Duval <jerome.duval@gmail.com>

media_server: fixes 64 bit warnings


# aed35104 05-Aug-2012 Humdinger <humdingerb@gmail.com>

Close alerts with ESCAPE key.

Added SetFlags(B_CLOSE_ON_ESCAPE) or SetShortcut(index, B_ESCAPE) to BAlerts
depending if the result gets used later in the code, or if it's a one-button
BAlert.


# 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


# 183a514e 09-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Build fix.


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


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

* More cleanup.


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


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

* Implemented getting/setting the audio gain of media files.
* Renamed "remove_ref_for" command structures and constants to
"invalidate_item".


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


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

* Implemented support for setting/getting the audio gain in the
MediaFilesManager; the client protocol implementation is still missing.


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


# 8f701237 08-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Obviously not one of my best days today: the SERVER_GET_MEDIA_FILE_{ITEMS|TYPES}
commands used a mix of old and new transfer_area() semantics, which didn't work
out too well.


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


# 7e5d04c5 08-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

Beware! The following commit will crash your system when open "Sounds"; I'll
look into this now.
* Renamed the MMediaFilesManager to MediaFilesManager.
* Got rid of its Map usage, we're using std::map now instead.
* The media_server is using an unsafe method to transfer areas from the server
to the client. I've changed this for the BMediaFiles API to use Haiku's new
transfer_area() function. However, this seems to cause the above mentioned
problems.
* Improved naming and data exchange structures used for the BMediaFiles API.
* Fixed BMediaFiles leaking its lists.
* Cleanup.


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


# 36e4aeea 20-Sep-2009 Stefano Ceccherini <stefano.ceccherini@gmail.com>

If launching the media_addon_server via signature fails, try to launch it
from the current directory. The code was already there but commented out.
This fixes launching the media_addon_server from the liveCD. There was
a ticket, I think, but I can't find it right now.
Also reordered includes.


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


# 696b8f43 06-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Cleanup, BufferManager now aggregates the buffer map as well as its locker
instead of allocating them separately, no functional change.


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


# 6033e52a 30-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Implemented support for get_next_encoder() variations from MediaFormats.h.
The AddOnManager in the media_server registers one encoder entry per
successful EncoderPlugin::RegisterNextEncoder(). This gives us a first idea
what media_format_family and input/output media_type is supported. The
mechanism may have to be extended, or the Encoder needs an API to specialize
a format further. In that case, the get_next_encoder() version that takes
optional _acceptedInput/OutputFormat needs to instantiate the plugin and
needs to ask the Encoder. But AFAIK, no app uses it like that anyway.


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


# 7cd2513b 30-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Changed the way Encoders are published by EncoderPlugins. Encoder retrieval
in PluginManager is reenabled. We use the media_codec_info.id to reference
a specific plugin, while the sub_id will be used to reference individual
Encoders that the plugin supports. No idea if that's how it was intented, but
some comments hint in this direction. I failed to mention this before, but
comments are of course very welcome on any of these commits, as always.


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


# 7c06546a 29-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Implement the backend of get_next_file_format(). The AddOnManager maintains
a list for known media_file_formats. The internal IDs map to plugins.


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


# c74bdf09 29-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

In theory, I added management of WriterPlugins and EncoderPlugins. When looking
at media_file_format.id, I wonder if this could work without having to get an
entry_ref from the server for a WriterPlugin, added TODOs to this effect.


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


# 5bb7f418 08-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed warning.
* Minor cleanup.


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


# d29be7f3 09-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* CID 153 (line 754): delete array with delete[].
* CID 152 (line 796): delete array with delete[].
* Automatic whitespace cleanup.


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


# 171d365e 05-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Honor the 80 chars per line limit.


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


# 31ebfe61 16-Apr-2007 Jérôme Duval <korli@users.berlios.de>

added default sound events
implemented system_beep() by sending an event to the media addon server


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


# 33c487a4 15-Apr-2007 Jérôme Duval <korli@users.berlios.de>

implemented add_system_beep_event()


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


# 3a247e36 13-Mar-2006 Jérôme Duval <korli@users.berlios.de>

added signature we tried to launch


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


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

added actual error in stderr


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


# 38b7e756 05-Jul-2005 Marcus Overhagen <marcusoverhagen@gmail.com>

spelling fix


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


# 28a06094 15-Aug-2004 beveloper <beveloper@nowhere.fake>

Modified media_server and media_addon_server cration/terminatio.
Now uses application mime sig for start/stopping. Much better
compatibility with libbe.so restarting functions.


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


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

witch to Be Inc media server signature, to allow libbe.so sending messages to the server


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


# 8f975d5e 03-Feb-2004 shatty <shatty@nowhere.fake>

axel points out that the message loop is already started by the time we get to ReadyToRun, so we can start our friends there


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


# fa8dbc01 01-Feb-2004 shatty <shatty@nowhere.fake>

new MediaFormats. node monitoring codec plugin loading. codec mods to support new codec api to retrieve supported formats.


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


# 61dec6a5 23-Jan-2004 Axel Dörfler <axeld@pinc-software.de>

Removed now unused GET_FORMAT_FOR_DESCRIPTION and GET_DESCRIPTION_FOR_FORMAT
stuff.
Simplified ServerApp::MessageReceived() and added MEDIA_SERVER_GET_FORMATS
to it.


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


# 96ee2f2d 03-Dec-2003 Jérôme Duval <korli@users.berlios.de>

SaveState is now called from the media_server


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


# 36a48553 13-Nov-2003 Jérôme Duval <korli@users.berlios.de>

Added a 3 seconds delayed save to disk


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


# 4691dc7f 12-Nov-2003 Jérôme Duval <korli@users.berlios.de>

MediaFiles support added


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


# 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


# 6910325a 22-Mar-2003 beveloper <beveloper@nowhere.fake>

added experimental preloading of default nodes


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


# 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


# 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


# ba666c4c 08-Dec-2002 beveloper <beveloper@nowhere.fake>

removed some unused functionality


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


# 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


# 6396865d 19-Nov-2002 beveloper <beveloper@nowhere.fake>

added automatic media_addon_server launching and termination.
added detection of and cleanup after application crashes.
if the media_addon_server crashes, it will be restarted.
removed preleminary volume control functions.
removed unneeded media_server functions.
changed application registration to use port based messaging.


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


# 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


# 85dfab2b 05-Oct-2002 beveloper <beveloper@nowhere.fake>

even more BMediaRoster functions


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


# 8c6a6096 02-Oct-2002 beveloper <beveloper@nowhere.fake>

rewrote BMediaRoster::Connect() and a few related functions


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


# e66fda40 02-Oct-2002 beveloper <beveloper@nowhere.fake>

finished notification support


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


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

changed the notification support


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


# 682db4a4 29-Sep-2002 beveloper <beveloper@nowhere.fake>

add some framework to broadcast and manage notification messages


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


# 313ed73b5052aa56878487ee050095659542b1dd 01-Aug-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Revert "media_server: Fix deadlock when killing from ProcessController"

This reverts commit 5934b30b95a239eee4a088a9b9cb425eef13f22d.

* It got the way of an heisenbug and it seems this change
fixed the problems, but after 2 days the media_server returned
to block. Sorry about that! Will investigate further.


# 5934b30b95a239eee4a088a9b9cb425eef13f22d 27-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

media_server: Fix deadlock when killing from ProcessController


# d009f2861397a85c95776afb615ff2c6f50723f8 24-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

media_kit: Fix style as suggested in ml


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

media_server: watch for media services status

* It's now calling CleanupDormantInfos when
media_addon_server die.


# 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


# 2feaa37f244d707251f7fe1184ce4f7d30251e2d 02-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move media plug-in support to application side.

The media server tried to use node monitoring to dynamically add and
remove plug-ins, but it isn't that useful:
* When a plug-in is added, applications would have to query the media
server to get an up to date list of available formats. For example
MediaConvert populates its format menus on startup.
* When removing a plugin, if an app already had it loaded, there is not
much that can be done to keep it working.
* The list of plugins was not sorted by directories (user vs system
add-ons), so the directories were re-scanned to make sure user add-ons
were returned first, rendering the node monitoring less interesting.

Now, the format handling is done by each application. The node
monitoring is removed, instead the apps will scan the plugin directory
when first using the media kit classes. Restarting the application is
needed to update the media formats list.


# fe1f74ab54b33a520b7a2687fc241422252e5f14 10-May-2013 Jérôme Duval <jerome.duval@gmail.com>

media_server: fixes 64 bit warnings


# aed35104852941f0f6f3d1dcc5338b5f337d0a3c 05-Aug-2012 Humdinger <humdingerb@gmail.com>

Close alerts with ESCAPE key.

Added SetFlags(B_CLOSE_ON_ESCAPE) or SetShortcut(index, B_ESCAPE) to BAlerts
depending if the result gets used later in the code, or if it's a one-button
BAlert.


# 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


# 183a514eb3fb4d0ec845c729c653bb9ebdd41dd9 09-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Build fix.


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


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

* More cleanup.


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


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

* Implemented getting/setting the audio gain of media files.
* Renamed "remove_ref_for" command structures and constants to
"invalidate_item".


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


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

* Implemented support for setting/getting the audio gain in the
MediaFilesManager; the client protocol implementation is still missing.


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


# 8f70123737072f843c618179053ce2d3e9ce499a 08-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Obviously not one of my best days today: the SERVER_GET_MEDIA_FILE_{ITEMS|TYPES}
commands used a mix of old and new transfer_area() semantics, which didn't work
out too well.


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


# 7e5d04c5430836d6113d550a669d57cb1cf7411b 08-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

Beware! The following commit will crash your system when open "Sounds"; I'll
look into this now.
* Renamed the MMediaFilesManager to MediaFilesManager.
* Got rid of its Map usage, we're using std::map now instead.
* The media_server is using an unsafe method to transfer areas from the server
to the client. I've changed this for the BMediaFiles API to use Haiku's new
transfer_area() function. However, this seems to cause the above mentioned
problems.
* Improved naming and data exchange structures used for the BMediaFiles API.
* Fixed BMediaFiles leaking its lists.
* Cleanup.


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


# 36e4aeea5775a552e3ede01a366d0d68221449bd 20-Sep-2009 Stefano Ceccherini <stefano.ceccherini@gmail.com>

If launching the media_addon_server via signature fails, try to launch it
from the current directory. The code was already there but commented out.
This fixes launching the media_addon_server from the liveCD. There was
a ticket, I think, but I can't find it right now.
Also reordered includes.


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


# 696b8f43fbf3a2d2b70b9b7921a7ff7406fd041f 06-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Cleanup, BufferManager now aggregates the buffer map as well as its locker
instead of allocating them separately, no functional change.


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


# 6033e52a8318c9f9b1a6945709fe89b0d070471b 30-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Implemented support for get_next_encoder() variations from MediaFormats.h.
The AddOnManager in the media_server registers one encoder entry per
successful EncoderPlugin::RegisterNextEncoder(). This gives us a first idea
what media_format_family and input/output media_type is supported. The
mechanism may have to be extended, or the Encoder needs an API to specialize
a format further. In that case, the get_next_encoder() version that takes
optional _acceptedInput/OutputFormat needs to instantiate the plugin and
needs to ask the Encoder. But AFAIK, no app uses it like that anyway.


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


# 7cd2513b824db570e3db1ac0aad919859989e4ed 30-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Changed the way Encoders are published by EncoderPlugins. Encoder retrieval
in PluginManager is reenabled. We use the media_codec_info.id to reference
a specific plugin, while the sub_id will be used to reference individual
Encoders that the plugin supports. No idea if that's how it was intented, but
some comments hint in this direction. I failed to mention this before, but
comments are of course very welcome on any of these commits, as always.


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


# 7c06546a8e8df703165baff0156d95f622d00538 29-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Implement the backend of get_next_file_format(). The AddOnManager maintains
a list for known media_file_formats. The internal IDs map to plugins.


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


# c74bdf0919ebfacc3f67b8939fbc9b63fea5bbd1 29-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

In theory, I added management of WriterPlugins and EncoderPlugins. When looking
at media_file_format.id, I wonder if this could work without having to get an
entry_ref from the server for a WriterPlugin, added TODOs to this effect.


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


# 5bb7f418476e9d47bf484a8b9a183c14fcef8a88 08-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed warning.
* Minor cleanup.


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


# d29be7f320850d38326b6c89c9850ea2ba515706 09-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* CID 153 (line 754): delete array with delete[].
* CID 152 (line 796): delete array with delete[].
* Automatic whitespace cleanup.


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


# 171d365edf8b031a44941d8fa6d99877c243f074 05-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Honor the 80 chars per line limit.


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


# 31ebfe61e4188d741ad680737a16d1eb21adbe35 16-Apr-2007 Jérôme Duval <korli@users.berlios.de>

added default sound events
implemented system_beep() by sending an event to the media addon server


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


# 33c487a43ef76dc033ad943df4d5bdbbe9298d83 15-Apr-2007 Jérôme Duval <korli@users.berlios.de>

implemented add_system_beep_event()


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


# 3a247e366b4ae2312043bb17da4822addee9b2ec 13-Mar-2006 Jérôme Duval <korli@users.berlios.de>

added signature we tried to launch


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


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

added actual error in stderr


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


# 38b7e756d27bc0dd0dfa2d37e5a9e042fe21bd4d 05-Jul-2005 Marcus Overhagen <marcusoverhagen@gmail.com>

spelling fix


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


# 28a06094b2a1b2239861d222260e501413990cde 15-Aug-2004 beveloper <beveloper@nowhere.fake>

Modified media_server and media_addon_server cration/terminatio.
Now uses application mime sig for start/stopping. Much better
compatibility with libbe.so restarting functions.


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


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

witch to Be Inc media server signature, to allow libbe.so sending messages to the server


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


# 8f975d5e5f3719fd580616e6e333dca51c85e838 03-Feb-2004 shatty <shatty@nowhere.fake>

axel points out that the message loop is already started by the time we get to ReadyToRun, so we can start our friends there


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


# fa8dbc019dd3bd72a121c30ff5838f71f5185a7b 01-Feb-2004 shatty <shatty@nowhere.fake>

new MediaFormats. node monitoring codec plugin loading. codec mods to support new codec api to retrieve supported formats.


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


# 61dec6a5c7d0ec3b948ad087dacb23abeafae947 23-Jan-2004 Axel Dörfler <axeld@pinc-software.de>

Removed now unused GET_FORMAT_FOR_DESCRIPTION and GET_DESCRIPTION_FOR_FORMAT
stuff.
Simplified ServerApp::MessageReceived() and added MEDIA_SERVER_GET_FORMATS
to it.


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


# 96ee2f2de058e82dce36c08e1061bb5f7bcdc284 03-Dec-2003 Jérôme Duval <korli@users.berlios.de>

SaveState is now called from the media_server


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


# 36a485535077df96a1def6cd3882c997e552473d 13-Nov-2003 Jérôme Duval <korli@users.berlios.de>

Added a 3 seconds delayed save to disk


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


# 4691dc7ff85ec616d1beb7dfa521e79e8f33abac 12-Nov-2003 Jérôme Duval <korli@users.berlios.de>

MediaFiles support added


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


# 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


# 6910325a5a77037f5a8005dbc712744305a3f8ee 22-Mar-2003 beveloper <beveloper@nowhere.fake>

added experimental preloading of default nodes


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


# 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


# 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


# ba666c4c12cad3cd73e1ae704f4a9d46c601cd4e 08-Dec-2002 beveloper <beveloper@nowhere.fake>

removed some unused functionality


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


# 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


# 6396865dcd5051f2baa6b55017e220d9d0cf4b25 19-Nov-2002 beveloper <beveloper@nowhere.fake>

added automatic media_addon_server launching and termination.
added detection of and cleanup after application crashes.
if the media_addon_server crashes, it will be restarted.
removed preleminary volume control functions.
removed unneeded media_server functions.
changed application registration to use port based messaging.


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


# 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


# 85dfab2ba84a3d225d384beb92deb3b658734714 05-Oct-2002 beveloper <beveloper@nowhere.fake>

even more BMediaRoster functions


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


# 8c6a6096e726d70741695920db0818695bcda98f 02-Oct-2002 beveloper <beveloper@nowhere.fake>

rewrote BMediaRoster::Connect() and a few related functions


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


# e66fda405a88e6125bf6617b15e3c32cb44f675c 02-Oct-2002 beveloper <beveloper@nowhere.fake>

finished notification support


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


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

changed the notification support


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


# 682db4a4c53a4fb282fa382785314922fdab8d0b 29-Sep-2002 beveloper <beveloper@nowhere.fake>

add some framework to broadcast and manage notification messages


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