History log of /haiku/src/kits/media/Jamfile
Revision Date Author Comments
# 6b49a15b 03-Jan-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

media_kit: Dynamic allocation of ChunkCache based on media

* The "default" of 3MiB wasn't enough for modern larger media
formats, resulting in inability to play 4k video no matter
how much horse power you threw at Haiku. (4k is ~8MiB)
* This dynamically calculates the ChunkCache based on the
video framesize * 2.
* 4k video now plays smoothly on my Ryzen 1800x.

Change-Id: I65bf6bd6fa60ac3196ea70eeeb5e655d43c10bcd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3598
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 765a734a 03-May-2020 Niels Sascha Reedijk <niels.reedijk@gmail.com>

Add signature to libmedia.so.

Also remove superflous data from libpackage.rdef

This should fix #15958

Change-Id: I76991030541dca12a2dfdd9282f02274a461ed2a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2561
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# e6aa2145 29-Apr-2020 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

libbe.so catalogs are not included in image

Media Kit catalog was incorrectly using "libbe.so" as a catalog name
and overwriting the catalogs for libbe.

Fixes #15904

Change-Id: Ib56045bbcf127c23ac5229981ce92d298ffd6fe5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2536
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>


# 472d26a3 16-Aug-2019 Ryan Leavengood <leavengood@gmail.com>

Media Kit: Delete the PortPool in a more deliberate way

Letting it get deleted statically can cause segfaults since it is needed for
some final quit messages.

This mimic changes Axel made for the DormantNodeManager and
TimeSourceObjectManager.

I also pulled PortPool into its own file and header.

Fixes #15135.

Change-Id: Ie64753e1876d58b52f7cb95536c6be3df2e6d40c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1721
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 218a8c03 17-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Revert the Codec Kit.

All of Barrett's individual reverts have been squashed into this
one commit, save a few actual bugfixes.

Change-Id: Ib0a7d0a841d3ac40b1fca7372c58b7f9229bd1f0


# 1e60bdea 30-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

Remove all invocations of SetSubDirSupportedPlatformsBeOSCompatible.


# fa911df6 27-Dec-2018 Barrett17 <b.vitruvio@gmail.com>

Move FormatManager back to the media_kit

* We don't aim to replicate this functionality. I don't
think this will be useful at all in future iterations.
Originally I planned to rewrite it on top of the new
BMediaFormat, but now I am of the hopinion this is
greatly unneeded.


# de42fb60 24-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

Welcome Codec Kit!

* Fix MediaDebug header.
* Add codec lib name mapping.


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

media/codec: Share media_format defs until libmedia2.so


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

Move adapter_kit API to libcodec.so


# 1275248a 24-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

codec_kit: First half

* Move all codec stuff into libcodec.so


# bc622f6b 15-Oct-2018 Humdinger <humdingerb@gmail.com>

Fix missing localization

This addresses some of what's reported in ticket #14637.

* Keymap preferences: Localize key labels. Translators have
to be careful not too use too long words here...

* Media preferences: Fix typo "SoundFonts" -> "SoundFont"
The two popup menus, Video input/output, both use "<none>",
which when the catkeys are collected is reduced to one item.
Apparently, Italian likes to have different tranlsations for
them. I hope to fix that by using B_TRANSLATE_COMMENT with
differing comments. Not sure if that'll work...

* Network preferences: Localize "on/off" and "Enable/Disable"
in the Services.

* Repositories preferences:
Add RepoRow.cpp to DoCatalogs.

* Shortcuts preferences: Localize "Left/Right/Both/Either/None"

* Bluetooth replicant: Localize menu items and alerts.

* DeskCalc: Localize button names.

* HaikuDepot:
- Use BStringFormat and variables to replace for the WorkStatusView.
- Put package name in single quotes; nicer if you have package names
with spaces.
- Avoid leading and trailing spaces in translatable strings. Those
can be overlooked b the translator.
- Use B_UTF8_ELLIPSIS instead of "...".

Change-Id: Ia32908f9faad5188aa87c918c31229277decbda9
Reviewed-on: https://review.haiku-os.org/631
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 8a9e1e0d 31-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

Removal of non-Haiku target platform logic from build system (part 1.)

Following recent changes to use libroot_build on Haiku also, it is now
actually impossible to build Haiku components on non-Haiku platforms
(BeOS R5, Dan0, BONE, Zeta), so we can remove any logic related to this.

This is only the first part; still to be removed are:
* SetSubDirSupportedPlatformsBeOSCompatible
* HOST_PLATFORM_BEOS_COMPATIBLE
* TARGET_PLATFORM_BEOS_COMPATIBLE


# c0ef5b2b 04-May-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaFile: Little refactor to use the MediaStreamer class

* This clarify the ownership of the source when using the experimental
API.
* The extractor/writer are simplified and don't have to care about
adapters.
* MediaStreamer is able to provide a generic BAdapterIO that is
suitable also for different uses than the codecs API itself.


# 7561d9ac 16-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

Populate media/experimental with future media_kit classes

* Node implementations headers are move into src/kits/media.


# 2c26ad4b 29-Dec-2016 Adrien Destugues <pulkomandy@gmail.com>

move BUrl to the support kit

It is used by the media kit, which created a dependency from libmedia to
libbnetapi to openssl.
It is not entirely specific to the network kit, there are some use cases
that don't involve network at all.


# ecb39585 28-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Introduce BSimpleMediaClient

* The idea is to move the callback based mechanism into a derived
class. The objects can be composed to create working systems.
* The BMediaClient class supply RegisterInput/RegisterOutput
and BeginInput/BeginOutput is moved to BSimpleMediaClient.
* Various minor fixes.


# f506f305 23-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Improve internals and API

* Capabilities() become Kind()
* Use media_client and media_connection to better model
the different situations of the API. Reduce code duplication
and move media_kit structs/methods into private.
* Various API and beauty improvements.
* Introduce id management for media_connections.
* Fix different issues preventing to correctly begin a connection.


# 9b410c41 11-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Initial merge of the BMediaClient branch

* The BMediaClient is an higher level API to the media_kit. It
corresponds to what the layout API was for the interface_kit.
The main idea is to allow the developer concentrate only on
higher level details and avoiding handle with the tricky parts
of the media_kit. At the same time the general purpose node that
is implemented inside would allow implementing the best techniques
around thus at the same time reducing code duplication and increasing
efficiency.
* BMediaClient is WIP, this is the initial merge of the branch.
The initial development stone was set long time ago and walked
through various design/implementation phases.


# 0ba82236 24-Jun-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Streaming: Remove any pointer BUrl argument

* There's no need to pass BUrl by pointer, this is
potentially dangerous and leaky without any advantage,
copying is definitely safer.


# b660d95f 30-May-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Introduce BAdapterIO

* This class is provided as a safe multithreaded communication channel
between a BMediaIO-like interface and a Read/Write backend.
* Includes internal buffering and can be used to provide multithreaded
edit of the data.
* Current limitations include missing BOutputAdapter and
correct timeout handling.
* Future plans provide a BRemoteAdapterIO that using ports
and areas allow to easily send big data between processes.


# 8c767985 25-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Move MediaIO in it's own header


# 63e1708e 25-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Finalize StreamerPlugin

* Add cpp file.
* Make Sniff virtual.


# 226be011 05-Dec-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

media_kit: General maintainance

* Move !missing_symbols.cpp in the legacy directory.
* Move useless methods in a Deprecated.cpp file.
* SetRealtimeFlags / GetRealtimeFlags are useless, they
don't make sense nowadays.
* The symbols are anyway preserved.


# 8acd164f 29-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Add new version of launch_media_server

* Due to the needs to provide a peaceful UX, i moved out the
notifications mechanism from the Media preflet and i have
integrated it with the launch and shutdown functions of MediaDefs.h.
* This implied to introduce a new launch_media_server function
similar to the shutdown_media_server allowing to specify a custom
notification function too.
* Both functions then are reworked to send by default notifications
to the Deskbar, this was needed because in a lot of situations
the mechanism failed without correctly noticing the user.
* The one argument launch_media_server is considered to be deprecated,
the default argument is removed to mantain binary compatibility but
make new apps to automatically use the new one with just the default
arguments. This is needed due to conflicts in overloading.
* Improve notifications by indirectly extending localization
to old BeOS apps.


# 44cd1f48 11-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaKit: Move old R3 API files to legacy subdir


# 683cf2ff 09-Jan-2015 Hamish Morrison <hamishm53@gmail.com>

BMediaRecorder: fix a few issues, fix style, remove unused SoundUtils

* Use the preferred time source (GetTimeSource) for the node
* Fix node releasing when creating the connection fails
* Add virtual slots and padding
* Refactor _Connect method


# 739fd34c 04-May-2014 Barrett <b.vitruvio@gmail.com>

Replace SoundCounsumer with modified BMediaRecorder.

Signed-off-by: Hamish Morrison <hamishm53@gmail.com>


# 220d0402 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Use libstdc++, libsupc++ and libgcc from gcc_syslibs.

* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
necessary since we're only using libgcc-as-single-object for libroot
with x86_gcc2, where the filtered object file doesn't exist. Should
the objects that used to be filtered cause any problems as part of
libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
x86_gcc2, we still build libstdc++.so from the sources in the Haiku
source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.


# 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.


# 225b6382 05-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Support building most system libraries for secondary arch

Also adjust the HaikuImageGet[Private]SystemLibs rules to support to
return the library targets matching the current architecture.


# 59b4be8c 03-Aug-2012 Hamish Morrison <hamish@lavabit.com>

Move SoundConsumer to libmedia in the BPrivate namespace

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


# 505e5a0b 17-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Put the old BeOS R3 media kit symbols back to fix #5135. They are no longer
built for GCC4, though.
* Deleted the completely unused OldSoundFile.{cpp|h} files.


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


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

* Moved the port pool into the new request_data.cpp file; it's no longer
accessible from the outside.
* Instead, request_data now retrieves/releases a reply port on its own.
* There were some more places that still used write_port()/read_port() instead
of QueryServer().


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


# 503954dc 05-Dec-2009 Stefano Ceccherini <stefano.ceccherini@gmail.com>

gcc4 build fix


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


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

* Since the old R3 media API is not implemented anyway, I've now temporarily
removed it from the build.
* If you encounter any (useful) applications that need it, please file a bug
report, otherwise those will be removed permanently.


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


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

* The ChunkCache is now using the real time memory functions.


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


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

Implemented first version of MediaWriter, which is the bridge between
BMediaFile/BMediaTrack and Writer plugins.


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


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

Beginnings of Encoder[Plugin] and Writer[Plugin] base classes and add-on
management.


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


# 16d5c24e 07-Jul-2009 Oliver Tappe <zooey@hirschkaefer.de>

* merged 32bit-wchar_t branches of buildtools and haiku back into
the respective trunk

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


# c332e7f7 20-Sep-2006 Jérôme Duval <korli@users.berlios.de>

fixed build for R5 : now uses inttypes.h because it's present on R5 also
HaikuBuildCompatibily.h exposes INT64_MAX based on limits.h


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


# db4bb289 11-Apr-2006 Jérôme Duval <korli@users.berlios.de>

clean up


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


# 843a7d9d 15-Jan-2006 Jérôme Duval <korli@users.berlios.de>

make libmedia.so beos compatible (including several public headers)


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


# 338b8dc3 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


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


# aa09be21 06-Nov-2004 beveloper <beveloper@nowhere.fake>

removed unused files, the mixer has it's own resampling code


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


# 5c91a281 24-Oct-2004 beveloper <beveloper@nowhere.fake>

started implementing a caching layer inbetween extractor and decoder


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


# f465a5ec 07-Jun-2004 Jérôme Duval <korli@users.berlios.de>

Adding libmedia.so to develop/lib/%arch%


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


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

The BMediaFormats class is now completely implemented. Removed wrong old
implementation and the now unused old meta_description stuff.
Also fixed the == and < operator for media_format_description.


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


# 0f741a83 01-Dec-2003 beveloper <beveloper@nowhere.fake>

more codec api enhancements


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


# d8591482 23-Nov-2003 beveloper <beveloper@nowhere.fake>

integration of codec API into BMediaFile and BMediaTrack


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


# ca16f5cb 17-Oct-2003 beveloper <beveloper@nowhere.fake>

start of media kit codec plugin API


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


# 6ab18748 23-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed invocations of UsePublicHeaders, which was a no-op anyway.


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


# e5c72c15 15-Jun-2003 Axel Dörfler <axeld@pinc-software.de>

Added the memory checking support in the Jamfile; use "CHECK_MALLOC=1 jam"
to activate it.


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


# 9a232d4e 13-Jun-2003 beveloper <beveloper@nowhere.fake>

added DefaultMediaTheme.cpp


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


# 287f7492 02-Jan-2003 beveloper <beveloper@nowhere.fake>

more time source function...


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


# eae26d3d 22-Aug-2002 beveloper <beveloper@nowhere.fake>

Start adding notification support


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


# 19f0c92e 11-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the media kit to the build.


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


# 8acd164f8c6bd3a4d36e49648b7deb676b18e2e0 29-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Add new version of launch_media_server

* Due to the needs to provide a peaceful UX, i moved out the
notifications mechanism from the Media preflet and i have
integrated it with the launch and shutdown functions of MediaDefs.h.
* This implied to introduce a new launch_media_server function
similar to the shutdown_media_server allowing to specify a custom
notification function too.
* Both functions then are reworked to send by default notifications
to the Deskbar, this was needed because in a lot of situations
the mechanism failed without correctly noticing the user.
* The one argument launch_media_server is considered to be deprecated,
the default argument is removed to mantain binary compatibility but
make new apps to automatically use the new one with just the default
arguments. This is needed due to conflicts in overloading.
* Improve notifications by indirectly extending localization
to old BeOS apps.


# 44cd1f48f30d7be47a03ccfa4d888865ff830b91 11-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaKit: Move old R3 API files to legacy subdir


# 683cf2ff58b85b9224cd8a7e08310c2b1041b952 09-Jan-2015 Hamish Morrison <hamishm53@gmail.com>

BMediaRecorder: fix a few issues, fix style, remove unused SoundUtils

* Use the preferred time source (GetTimeSource) for the node
* Fix node releasing when creating the connection fails
* Add virtual slots and padding
* Refactor _Connect method


# 739fd34cf534560c5bf171ec6e414b85532c1bda 04-May-2014 Barrett <b.vitruvio@gmail.com>

Replace SoundCounsumer with modified BMediaRecorder.

Signed-off-by: Hamish Morrison <hamishm53@gmail.com>


# 220d04022750f40f8bac8f01fa551211e28d04f2 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Use libstdc++, libsupc++ and libgcc from gcc_syslibs.

* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
necessary since we're only using libgcc-as-single-object for libroot
with x86_gcc2, where the filtered object file doesn't exist. Should
the objects that used to be filtered cause any problems as part of
libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
x86_gcc2, we still build libstdc++.so from the sources in the Haiku
source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.


# 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.


# 225b6382637a7346d5378ee45a6581b4e2616055 05-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Support building most system libraries for secondary arch

Also adjust the HaikuImageGet[Private]SystemLibs rules to support to
return the library targets matching the current architecture.


# 59b4be8cc188ed5c61c58433673d2a57dcc1618d 03-Aug-2012 Hamish Morrison <hamish@lavabit.com>

Move SoundConsumer to libmedia in the BPrivate namespace

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


# 505e5a0b5790e891e25083c1e3e7fea842e76eae 17-Dec-2009 Axel Dörfler <axeld@pinc-software.de>

* Put the old BeOS R3 media kit symbols back to fix #5135. They are no longer
built for GCC4, though.
* Deleted the completely unused OldSoundFile.{cpp|h} files.


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


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

* Moved the port pool into the new request_data.cpp file; it's no longer
accessible from the outside.
* Instead, request_data now retrieves/releases a reply port on its own.
* There were some more places that still used write_port()/read_port() instead
of QueryServer().


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


# 503954dcf9290b8a47608393212f21c0fcfd4ff4 05-Dec-2009 Stefano Ceccherini <stefano.ceccherini@gmail.com>

gcc4 build fix


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


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

* Since the old R3 media API is not implemented anyway, I've now temporarily
removed it from the build.
* If you encounter any (useful) applications that need it, please file a bug
report, otherwise those will be removed permanently.


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


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

* The ChunkCache is now using the real time memory functions.


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


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

Implemented first version of MediaWriter, which is the bridge between
BMediaFile/BMediaTrack and Writer plugins.


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


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

Beginnings of Encoder[Plugin] and Writer[Plugin] base classes and add-on
management.


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


# 16d5c24e533eb14b7b8a99ee9f3ec9ba66335b1e 07-Jul-2009 Oliver Tappe <zooey@hirschkaefer.de>

* merged 32bit-wchar_t branches of buildtools and haiku back into
the respective trunk

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


# c332e7f74ecc754fe77275578f5a3404537e9cb5 20-Sep-2006 Jérôme Duval <korli@users.berlios.de>

fixed build for R5 : now uses inttypes.h because it's present on R5 also
HaikuBuildCompatibily.h exposes INT64_MAX based on limits.h


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


# db4bb2893413129797f2a61ee4767a417b0647ee 11-Apr-2006 Jérôme Duval <korli@users.berlios.de>

clean up


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


# 843a7d9da44bf38db3b97a93fa13efe1e6536f63 15-Jan-2006 Jérôme Duval <korli@users.berlios.de>

make libmedia.so beos compatible (including several public headers)


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


# 338b8dc301721b1f472e8297a898d4eaa2f2ee3a 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


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


# aa09be21b35d5ce58b163b320e81e7ffed618fc6 06-Nov-2004 beveloper <beveloper@nowhere.fake>

removed unused files, the mixer has it's own resampling code


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


# 5c91a2814e5780330893c5ce5322aed54bf5e35b 24-Oct-2004 beveloper <beveloper@nowhere.fake>

started implementing a caching layer inbetween extractor and decoder


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


# f465a5ec42f1d38a50a257f843d7f07722092972 07-Jun-2004 Jérôme Duval <korli@users.berlios.de>

Adding libmedia.so to develop/lib/%arch%


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


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

The BMediaFormats class is now completely implemented. Removed wrong old
implementation and the now unused old meta_description stuff.
Also fixed the == and < operator for media_format_description.


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


# 0f741a83c13166cac9f5dc011c3bb47e12405033 01-Dec-2003 beveloper <beveloper@nowhere.fake>

more codec api enhancements


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


# d859148201db6e851ba0a8ed96b12af21fbf06c0 23-Nov-2003 beveloper <beveloper@nowhere.fake>

integration of codec API into BMediaFile and BMediaTrack


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


# ca16f5cb038771bbe355c20cf55fb2f56138a402 17-Oct-2003 beveloper <beveloper@nowhere.fake>

start of media kit codec plugin API


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


# 6ab18748f3a2a740860dc1b705c3751245cab2c7 23-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed invocations of UsePublicHeaders, which was a no-op anyway.


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


# e5c72c1505eccf2d7816c00843e01b6f1bc5d102 15-Jun-2003 Axel Dörfler <axeld@pinc-software.de>

Added the memory checking support in the Jamfile; use "CHECK_MALLOC=1 jam"
to activate it.


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


# 9a232d4e5c31a4df3ec79399dda5e5de9621b3c1 13-Jun-2003 beveloper <beveloper@nowhere.fake>

added DefaultMediaTheme.cpp


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


# 287f7492c391deeb77d87951ed2b0620a9d163d5 02-Jan-2003 beveloper <beveloper@nowhere.fake>

more time source function...


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


# eae26d3da16dcaf2da8f0e9af46c99247964183f 22-Aug-2002 beveloper <beveloper@nowhere.fake>

Start adding notification support


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


# 19f0c92e2f5875c67788301f105fc4c77677b0c5 11-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the media kit to the build.


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