History log of /haiku/src/kits/media/PluginManager.cpp
Revision Date Author Comments
# 9f9688d8 21-Dec-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

media kit: avoid useless copy of entry_ref

Copying an entry_ref is not cheap since the "name" field needs to be
allocated and copied separately everytime. Here it is not needed at all,
so let's just use a reference instead.

Change-Id: I1e572b69569cbb7437db147b483779245ec5e180


# ca68cae7 12-Jul-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

PluginManager: remove unneeded buffering.

The plugin manager was attempting to buffer the IOs. However, the ffmpeg
plugin already handles this (it reads in 64K chunks, the same size as
the buffer here, so this buffering was effectively useless), and the
media extractor already runs the decoding in a separate thread thanks to
the chunk cache. So, we do not need an extra level of buffering here.

We should leave any extra buffering to the upper layers (BMediaTrack or
Media Extractor), if it's needed, as they would have much more control
on the creation of the data io object.

Change-Id: I65b67919da107c8b910dd08f8cdb8e3745af92c7
Reviewed-on: https://review.haiku-os.org/c/1588
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>


# 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


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

media: Remove debug.h, finalize MediaDebug.h

* Funny rust from 0 AD.


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


# 98f2303d 09-Mar-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManager: Fix memory leak.

* Fixes #13126.


# b6f76ebe 09-Feb-2017 Augustin Cavalier <waddlesplash@gmail.com>

s/OpenBeOS License/MIT License/ universally, as they're the same thing.

Fixes #8681.


# 2740a716 14-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Style fixes


# 8023d6ba 31-Oct-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManager: Move reference counting in the MediaPlugin

* Ideally we should support this feature by default to allow
future improvements to the plugins management.
* Fixes the major memory corruption that lead to various
crashes on exit in MediaPlayer.


# 42a3f947 25-Sep-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManger: Remove BReferenceable and add locking


# ac8ca416 07-Sep-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Fix StreamerPlugin reference counting

* BReferenceable deleted itself when the latest
reference was released causing a double free.
* The code now avoid to call the function when
we are about to delete the object.


# 79bd3b48 07-Sep-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

StreamerPlugin: Add reference count

* Keep the Streamer around until everyone released it.


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


# ad89985e 21-Jun-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManager: Assign the BBufferIO pointer


# 59ff587d 08-Jun-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Style fixes


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

Fix x86_64 build


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

PluginManager: Refactor to make use of new API

* General refactor, moved BDataIO emulation in a
BAdapterIO derived class, BDataIOAdapter.
* This allowed to simplify the wrapper that is now
considering everything to be seekable or pseudo-seekable.


# 2ceb090f 19-May-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

media_kit: Follow up fix to use only portable codes

* My previous commit fixed x86_64 but broke all other archs.


# f4ba347b 19-May-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

media_kit: Fix debug printf werrors

* When debugging was enabled in the media_kit those were
causing the build to fail complaining about werrors.


# 9d6d0aea 18-May-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManager: Missing return in printf


# 7eaa054b 31-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

StreamerPlugin: Use BDataIO as base interface

* There's no need to force the streamer plugin to use a
BMediaIO. This class is supplied to accomodate more smart uses,
but in certain cases it makes just things more complex. If a
plugin doesn't need to have an internal caching method, then it
will be simpler to implement a block-consuming BDataIO and let
the internal BMediaIOWrapper to deal with caching.


# 9ab61bb7 25-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManager: Fix build for x86_64


# 2250435e 24-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManager: Add debug to wrapper


# 25527aff 17-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaIOWrapper: IsEndless was not used the right way

* The idea is to just identify when a BMediaIO is able
to tell the whole size of the data, but caching needs
more complex policies to be successful.


# 3733e4b2 11-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManager/AddOnManager: Add streamers support code


# 0d88bf3a 10-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaIO: Review behavior regarding object inheritance


# 050118ef 07-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Remove TODOs


# 382c78df 07-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaIOWrapper: Check if we can really seek the data.


# 36ffce0a 07-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaIOWrapper: Delete data in destructor


# ef167f11 07-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaIOWrapper: Refer on fallback buffer Position()

* Write the data into the fallback buffer when emulating
pseudo seeked writes.


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

PluginManager: Refactor of MediaIOWrapper

* Use BPositionIO version of Read/Write.
* Implementation of fallback buffering.
* Other cleanup.


# 6efbc4bb 06-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaFile: Move BBufferIO usage into the plugin manager

* Add InitCheck for the wrapper status.


# b42aac7b 06-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManager: Initial switch to BMediaIO


# 3bc039b9 03-Dec-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

media_kit: Add encoding support facilities


# 2b514992 02-Dec-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Initial implementation of BMediaEncoder

* People interested, please review!
* This is based on the patch from Fredrik Moden which was based on
the Oleg Krysenkov one.
* The original patch has been reworked by myself.
* Adapted the code to work with the new PluginManager API which
differently than before doesn't need to contact the media_server.


# cb2c4f8d 25-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Convert more printf to TRACE in media kit.


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


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

Fixing debug in Media Kit.

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


# 27de01cb 31-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Set the reader pointer to NULL if no reader is found. BMediaFile crashed in the destructor when I tried to open none media files and no reader was found.



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


# e4f3cf20 24-Aug-2010 Stephan Aßmus <superstippi@gmx.de>

* Renamed _plugin_manager to gPluginManager.
* Improved tracing in PluginManager.cpp when loading an add-on.


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


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

Encoders will most likely be found by media_codec_info, not by media_format,
changed method signature accordingly and disabled the code for now, since
the media_server communication has not been adapted yet.


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


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

* Added DataExchange message constants and server communication structs for
retrieving WriterPlugins and EncoderPlugins from the media_addon_server.
* Enabled respective code in PluginManager (and fixed the copy&paste bugs),
the server side is still missing, though...


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


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

* Style cleanup.
* Added copyright.


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


# bb56a763 07-Jun-2009 Stephan Aßmus <superstippi@gmx.de>

Resolved TODOs in PluginManager about leaking plugins when they are no longer
needed. I've added MediaPlugin* fields to Reader and Decoder plugin classes
which are set when the PluginManager hands out new instances. This way the
manager knows what plugin created the Decoder or Reader instance in the
Destroy*() methods and can decrease the reference count accordingly. Also added
some FBC stuffing to Decoder and Reader. All media plugins need to be recompiled,
in case anyone has some outside the Haiku tree.


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


# b66837d4 19-Jul-2008 Stephan Aßmus <superstippi@gmx.de>

Better debug output, print the error string when failing to get a Reader or Decoder.


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


# bddb4413 03-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Do not remove the plugin from the list if the ref count has not reached
zero, otherwise we leak these plugins, since the ref counting is based
on the plugin still being in the list.


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


# cc4ed3f7 03-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Honor the 80 char per line limit.


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


# 3bac9fe1 19-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

Failing to find a suitable decoder for a stream is reported in three different
modules, I left the one from MediaExtractor::CreateDecoder, since it also
mentions the stream index.


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


# 9e448b62 02-Jun-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

cleanup


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


# 1d182929 02-Jun-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Moved creating and destroying of Reader and Decoder plugins into the PluginManager class.
Removed deferred initialization from BMediaDecoder.


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


# 80856c97 23-May-2007 Jérôme Duval <korli@users.berlios.de>

fixed typo


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


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

fixed some warnings
code style of MMediaFilesManager.*


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


# 94722b26 29-Feb-2004 beveloper <beveloper@nowhere.fake>

removed debug output


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


# 0f2976ab 30-Jan-2004 beveloper <beveloper@nowhere.fake>

small api changes


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


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

Updated to new API, some minor changes. Added "ToDo" items in the
DestroyReader/Decoder() functions - they erroneously don't put the
plugin back.
Added license.


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


# 3a9ada71 25-Dec-2003 beveloper <beveloper@nowhere.fake>

seek back to start position


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


# 8d52474b 08-Dec-2003 beveloper <beveloper@nowhere.fake>

a couple of fixes to the error handling code


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


# abf9e66a 06-Dec-2003 beveloper <beveloper@nowhere.fake>

fixed timing information returned in media_header
added GetFileFormatInfo to reader api


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


# d0b86c0f 05-Dec-2003 beveloper <beveloper@nowhere.fake>

mp3 decoding and seeking works now


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


# 1210ab70 04-Dec-2003 beveloper <beveloper@nowhere.fake>

Huge hack to load the mp3 reader and decoder.
Soundplay loads it and can play a crackling mp3, but MediaPlayer doesn't


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


# cb2c4f8d443128d13ec3894a31867c4fce24f76d 25-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Convert more printf to TRACE in media kit.


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


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

Fixing debug in Media Kit.

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


# 27de01cb637eb08871bf214c5e60fc250e629937 31-Oct-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Set the reader pointer to NULL if no reader is found. BMediaFile crashed in the destructor when I tried to open none media files and no reader was found.



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


# e4f3cf203ce3aa7bd0422cac0931052261a398b5 24-Aug-2010 Stephan Aßmus <superstippi@gmx.de>

* Renamed _plugin_manager to gPluginManager.
* Improved tracing in PluginManager.cpp when loading an add-on.


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


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

Encoders will most likely be found by media_codec_info, not by media_format,
changed method signature accordingly and disabled the code for now, since
the media_server communication has not been adapted yet.


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


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

* Added DataExchange message constants and server communication structs for
retrieving WriterPlugins and EncoderPlugins from the media_addon_server.
* Enabled respective code in PluginManager (and fixed the copy&paste bugs),
the server side is still missing, though...


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


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

* Style cleanup.
* Added copyright.


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


# bb56a763a60c5511e5fedf25f7f53859aac01caf 07-Jun-2009 Stephan Aßmus <superstippi@gmx.de>

Resolved TODOs in PluginManager about leaking plugins when they are no longer
needed. I've added MediaPlugin* fields to Reader and Decoder plugin classes
which are set when the PluginManager hands out new instances. This way the
manager knows what plugin created the Decoder or Reader instance in the
Destroy*() methods and can decrease the reference count accordingly. Also added
some FBC stuffing to Decoder and Reader. All media plugins need to be recompiled,
in case anyone has some outside the Haiku tree.


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


# b66837d4cd675bf7b0dd517d58db94eedb4a3707 19-Jul-2008 Stephan Aßmus <superstippi@gmx.de>

Better debug output, print the error string when failing to get a Reader or Decoder.


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


# bddb4413d710531f7e10a1e5bf8a7b0bdd4f811b 03-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Do not remove the plugin from the list if the ref count has not reached
zero, otherwise we leak these plugins, since the ref counting is based
on the plugin still being in the list.


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


# cc4ed3f7e7c294b9b65ef49bb6bbab9c8eedf8ec 03-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Honor the 80 char per line limit.


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


# 3bac9fe16c19307136b55e2e91772aa7e4adcf57 19-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

Failing to find a suitable decoder for a stream is reported in three different
modules, I left the one from MediaExtractor::CreateDecoder, since it also
mentions the stream index.


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


# 9e448b622400bbc43a37bd03c731586f0fae8189 02-Jun-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

cleanup


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


# 1d18292953efe255c6d4b365db6a61473acc0b12 02-Jun-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Moved creating and destroying of Reader and Decoder plugins into the PluginManager class.
Removed deferred initialization from BMediaDecoder.


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


# 80856c970f6db0d2c8579a3859c0ca4bad5e8a5d 23-May-2007 Jérôme Duval <korli@users.berlios.de>

fixed typo


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


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

fixed some warnings
code style of MMediaFilesManager.*


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


# 94722b265c5809f672eac94bfa3489e1509f2383 29-Feb-2004 beveloper <beveloper@nowhere.fake>

removed debug output


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


# 0f2976ab26aa8e7b8c006088718616338f21563d 30-Jan-2004 beveloper <beveloper@nowhere.fake>

small api changes


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


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

Updated to new API, some minor changes. Added "ToDo" items in the
DestroyReader/Decoder() functions - they erroneously don't put the
plugin back.
Added license.


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


# 3a9ada71c54034c93c51929c030f8a34e142ccc2 25-Dec-2003 beveloper <beveloper@nowhere.fake>

seek back to start position


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


# 8d52474bc70c165c0cd4217af59d148ed810fa11 08-Dec-2003 beveloper <beveloper@nowhere.fake>

a couple of fixes to the error handling code


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


# abf9e66abe71bc72f6bedb4261c27dffa025d2d3 06-Dec-2003 beveloper <beveloper@nowhere.fake>

fixed timing information returned in media_header
added GetFileFormatInfo to reader api


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


# d0b86c0f31ec58c29fdce972f8e892235c22768b 05-Dec-2003 beveloper <beveloper@nowhere.fake>

mp3 decoding and seeking works now


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


# 1210ab70ac360af3e24f04ef2a1fa5bdef4f0b70 04-Dec-2003 beveloper <beveloper@nowhere.fake>

Huge hack to load the mp3 reader and decoder.
Soundplay loads it and can play a crackling mp3, but MediaPlayer doesn't


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