[haiku-development] MediaPlayer and the Media Kit

  • From: Julian Harnath <julian.harnath@xxxxxxxxxxxxxx>
  • To: Haiku-Development <haiku-development@xxxxxxxxxxxxx>
  • Date: Mon, 26 Nov 2012 23:57:19 +0100

Hello!

Since I'd like to do some work on MediaPlayer, I've been reading into 
its source code and into the depths of the Media Kit in general. While 
doing this, a few questions about MediaPlayer in particular and the 
Media Kit in general arose.

About Media Player:

* Why does it bring its own classes for audio mixdown/resampling/format 
conversion and doesn't leave these things to the system audio mixer?
* Even if these things should be done internally for some reason, 
wouldn't it make more sense to implement them as Media Kit filter nodes 
instead of having its own interfaces for defining a media graph 
(AudioReader etc.)?
* In the same way, wouldn't it make sense to convert the subtitle 
renderer into a video filter node, then other applications could benefit 
from it, too?

About the Media Kit:

* There seem to be two kind of Media Kit add-ons: the .media_addons and 
the plug-ins. Why the separation and did this separation already exist 
in BeOS? (I'm asking because I can't find anything about the plug-ins 
in the BeBook and I currently don't have a BeOS install to check). It 
seems to me the plug-ins simply do the same thing which would be done 
by an add-on node implementing BFileInterface, which seems like a not-
so-nice redundancy.
* On the topic of BFileInterface: there are currently no nodes shipping 
with normal Haiku builds at all that implement it, so BMediaRoster::
SniffRef() can never find anything. The BeBook notes in the Media Kit 
introduction that BMediaRoster::SniffRef() can be used to get the nodes 
which would be used by the more convenient BMediaFile/BMediaTrack 
classes. In Haiku, these classes use the plug-ins though instead of 
nodes (this discrepance leads me to suspect that these plug-ins didn't 
exist in BeOS)...

--
So long, Julian

Other related posts: