History log of /haiku/src/kits/media/MediaFormats.cpp
Revision Date Author Comments
# 565155af 27-Jul-2019 Augustin Cavalier <waddlesplash@gmail.com>

Remove unnecessary usages of BLocker::Sem().

Most of these should have been BLocker::InitCheck() anyway.
The one that was actually using the sem (MessageLooper)
should just store the name parameter, which simplifies
things anyway.

Done as a result of a branch where I'm experimenting
with making BLocker not even create a semaphore in
"benaphore" mode.


# 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


# e7933432 28-Dec-2018 Barrett17 <b.vitruvio@gmail.com>

BCodecRoster: Remove MakeFormatFor

* I want to introduce a new way for plugins to
register for a format. Supporting the old FormatManager is
too painful at this point and not worth the effort.


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

Move GetNextEncoder implementations to BCodecRoster


# 278d03da 27-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

media_kit: Remove most private dependencies from codec_kit

* Move to BCodecKit namespace and make extensive use
of BCodecRoster.
* This is a first step in the right direction of
decreasing private dependencies. Some APIs are being
translated to the CodecKit. I am doing an investigation
on which APIs are really used among apps, so that the new
kit can be more slim and oriented toward easy development
and can be extended in the right direction instead to
continue maintaning unuseful code.
* BMediaFormats needs still a bit of love.
* General improvements in style and code maintainability.


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

media: Remove debug.h, finalize MediaDebug.h

* Funny rust from 0 AD.


# 12ed45b6 18-May-2018 Murai Takashi <tmurai01@gmail.com>

Media kit: Suppress -Werror=class-memaccess

* Add media_format::Clear(), media_format::Unflatten().
* Replace memset() with media_format::Clear()
* Replace memcpy() with media_format::Unflatten()

Fix #14156

Change-Id: I38ebc2de4915b954a15b6f4f6b40d016506910e5


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


# 72d47357 22-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Register media add-ons on BMediaFormat::GetFormatFor().

* Fixes #11018.
* In this case the FormatManager format list is accessed without going
throught the AddOnManager, so we must tell the AddOnManager to register
the add-ons (as this is what populates the FormatManager format list).
* Remove now unneeded workaround in mp3_decoder_test.


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

Plugin loading: style fixes.

* Fix style issues pointed by stippi. Thanks!
* Rework the FormatManager instanciation to be thread safe.


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

Urpdate AddOnManager and FormatManager for Media Kit

* These classes were moved from Media Server, making the use of ports
and messages to communicate with the app irrelevant.
* Split in a separate commit to help git keep track of moved files.

Fixes #4893.


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

Do not reject an encoder based on the media_format_family if either the encoders
or the given media_file_format family's is B_ANY_FORMAT_FAMILY.


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


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

Style cleanup, switched "* " style.


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


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

* Implemented ERROR as fprintf(stderr, ...) with tracing turned off as well.
* Fixed all but one compiler warnings in libmedia.so.
* Truncated lines to 80 char width where I looked at code.
* Turned printf()s into TRACE/ERROR calls in MediaExtractor.


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


# 7f823d47 28-Jan-2004 beveloper <beveloper@nowhere.fake>

if GetFormatFor failes, it now returns a useable wildcard format


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


# e1431e96 27-Jan-2004 shatty <shatty@nowhere.fake>

remove references to B_OGG_FORMAT_FAMILY


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


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

BMediaFormats::InitCheck() now checks if the global lock could be initialized
to give its existance a bit more sense.
update_media_formats() no longer ASSERTS if the lock is held, but fails
if it's not locked.


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


# 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


# 2c24a8d0 07-Dec-2003 beveloper <beveloper@nowhere.fake>

integration


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


# 4ba72fcd 07-Dec-2003 beveloper <beveloper@nowhere.fake>

fixed some bugs in raw wav reading


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


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

small cleanup, format type and encoding depends on the description
and is set by the media kit, not by the reader


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


# 572e60a4 01-Dec-2003 beveloper <beveloper@nowhere.fake>

some more changes, no longer using BMediaFormats


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


# f2f3482e 29-Nov-2003 beveloper <beveloper@nowhere.fake>

implemented media_format_description


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


# da87cefe 28-Nov-2003 beveloper <beveloper@nowhere.fake>

added the new media_meta_description and changed codec API to use it


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


# 378dd356 29-Sep-2002 beveloper <beveloper@nowhere.fake>

reverted to 1.1 version.
unfortunately, I thought I had tested 1.2 when I got it about 3 weeks ago,
and included it today without further testing. But it turned out that it
doesn't even compile and needs to be redone.


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


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

initial work done by John Hedditch


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


# 72d47357123aea91f5f780710998bd996b1cc8ca 22-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Register media add-ons on BMediaFormat::GetFormatFor().

* Fixes #11018.
* In this case the FormatManager format list is accessed without going
throught the AddOnManager, so we must tell the AddOnManager to register
the add-ons (as this is what populates the FormatManager format list).
* Remove now unneeded workaround in mp3_decoder_test.


# 638510600cfdafa0cd97ccf8189a1e3375b84818 02-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Plugin loading: style fixes.

* Fix style issues pointed by stippi. Thanks!
* Rework the FormatManager instanciation to be thread safe.


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

Urpdate AddOnManager and FormatManager for Media Kit

* These classes were moved from Media Server, making the use of ports
and messages to communicate with the app irrelevant.
* Split in a separate commit to help git keep track of moved files.

Fixes #4893.


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

Do not reject an encoder based on the media_format_family if either the encoders
or the given media_file_format family's is B_ANY_FORMAT_FAMILY.


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


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

Style cleanup, switched "* " style.


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


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

* Implemented ERROR as fprintf(stderr, ...) with tracing turned off as well.
* Fixed all but one compiler warnings in libmedia.so.
* Truncated lines to 80 char width where I looked at code.
* Turned printf()s into TRACE/ERROR calls in MediaExtractor.


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


# 7f823d473b475c0a1411d127de41fa32828dfc11 28-Jan-2004 beveloper <beveloper@nowhere.fake>

if GetFormatFor failes, it now returns a useable wildcard format


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


# e1431e96f3782861e55a9382adc57cdb5eefe991 27-Jan-2004 shatty <shatty@nowhere.fake>

remove references to B_OGG_FORMAT_FAMILY


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


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

BMediaFormats::InitCheck() now checks if the global lock could be initialized
to give its existance a bit more sense.
update_media_formats() no longer ASSERTS if the lock is held, but fails
if it's not locked.


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


# 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


# 2c24a8d065a038003786ca3e6e590124b529926c 07-Dec-2003 beveloper <beveloper@nowhere.fake>

integration


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


# 4ba72fcdb402b8824ce1c64d1583371f50dd50ce 07-Dec-2003 beveloper <beveloper@nowhere.fake>

fixed some bugs in raw wav reading


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


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

small cleanup, format type and encoding depends on the description
and is set by the media kit, not by the reader


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


# 572e60a4819b40e8f542b00e13eff55559d48c24 01-Dec-2003 beveloper <beveloper@nowhere.fake>

some more changes, no longer using BMediaFormats


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


# f2f3482e7b54807761a4bda181cb643d1530fd76 29-Nov-2003 beveloper <beveloper@nowhere.fake>

implemented media_format_description


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


# da87cefeb10b3b0c5214090e6c6dedb02d24a798 28-Nov-2003 beveloper <beveloper@nowhere.fake>

added the new media_meta_description and changed codec API to use it


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


# 378dd356b5a419c119f1d9dad1d16aaf4b4afe82 29-Sep-2002 beveloper <beveloper@nowhere.fake>

reverted to 1.1 version.
unfortunately, I thought I had tested 1.2 when I got it about 3 weeks ago,
and included it today without further testing. But it turned out that it
doesn't even compile and needs to be redone.


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


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

initial work done by John Hedditch


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