Menu

MMF: good or bad?

2005-12-16
2013-04-25
  • Francisco Pimenta

    Hello everyone,

    This turns out to be kind of a generic question about Symbian but since OggPlay works with and without it I thought the persons that worked more closely on development may know something about this...

    First of all, I apologise for the newbie questions. :) Anyway, being new to MMF (and Symbian) I was wondering about if offers in terms of usability, funtionalities, compatibility. The most obvious drawback seems to be that MMF is only supported from Symbian 7.0s on, but even so is it guaranteed that such plug-ins as, MP3, AAC or MP4 always exist on Symbian 7.0s+ phones.

    With that in mind, is it safer in general to develop your own mmf plugin of a particular format ? In that case is there a conflict when you've got two mmf plugins for the same format? One that's built in and one that you installed on this case...

    Lastly, I'm assuming that an MMF plugin is easier to develop than "normal" audio/video support. Is this true? Can anyone also inform me or direct me to a place that details what functionalities (e.g. playing, stopping, volume control) an MMF plugin provides and if those can be extended by any means...thanks

    f.

     
    • groys

      groys - 2006-01-01

      Hi,
      I was hoping some of the developers of oggplay would reply to this query. As they havent i will give my personal opinion of having worked me MMF. People please feel free to comment on and correct me.

      -->I was wondering about if offers in terms of usability, funtionalities, compatibility.

      Well firstly MMF provides a supposedly generic plugin based architecture. At least in documentation they have provision for source, sink, controller, format, codec plugins. What this means is if your media player is based on MMF then you can automatically use plugins written by someone else to support new file formats. Any player based on MMF can automatically detect correctly written MMF plugin. In my experience all these separate plugins are unnecessary, all that is required(for file playing)  is a controller and  a sink. Although it sounds great in theory to have the flexibility of different type of sources, sinks in practicality there is usually one or two sources and sinks u use thus making an IF statement more useful than the plugin architecture.

      Moreover the way MMF handles file playing is extremely complex. Three main componets -1. The UI(Client Side) 2. MMF controller Framework 3.MDF or Devsound. The player ui and the mmf controller framework use a client server architecture and messaging to talk to eachother which increases the overhead associated with file playing. Also sources and sinks are created in separate threads(i am not sure about this) adding further complexity.
      Documents on forum nokia clearly state that they do not use MMF controller framework for streaming applications as it involves unnecessary overheads.
      The useful part of MMF is Devsound which has things like the audio policy server which can resolve clashes for control of audio rendering device(e.g. a phone has to ring when audio file is being played).

      To sum it up in my opinion
      1. MMF Controller Framework: Unnecessary overhead.
      2. Devsound: Useful

      Now to your other questions
      -->, I'm assuming that an MMF plugin is easier to develop than "normal" audio/video support. Is this true?
      Well it is difficult to grasp how exactly to write a MMF plugin. But it is possible. I believe direct audio video support would be easier.

      --> In that case is there a conflict when you've got two mmf plugins for the same format?
      MMF has mechanism of resolving the clash. In the player classes there is provision to specify prefered supplier of the plugin.

      -->Can anyone also inform me or direct me to a place that details what functionalities (e.g. playing, stopping, volume control) an MMF plugin provides
      Read the how to create a mmf controller plugin document in the SDK help. All the above functionalities can be supported in the plugin given that the player also supports them.

      I hope people will comment on my post.

      regards
      groys

       
    • Francisco Pimenta

      Hi,

      First of all, thanks a lot for your input groys! I had almost given on this post. In any case I guess I should really be more on the look out on forum nokia for issues like this (i'm a member).

      In general the objective of this post was to attempt to make it somewhat clearer what are the good and bad aspects of the mmf so you're right, I was also expectin some feedback from oggplay developers on this since they have dealt with both MMF and non-MMF audio support on this project. From their stand point it must be clearer how ogg support is "better" or "worse" with or without MMF being in the mix. Since I don't think MMF support is not actually mandatory from Symbian OS v7.0s on, I'd like to know their views on why it was decided so. And while they are at it what is their objective with using MAD, only to provide mp3 support and the like for previous OS versions or they have some point against the built-in mp3 MMF plugin?

      From what I gather from your opinion, groys, there really isn't a definitive answer on what is best. MMF certainly makes somethings easier devsound and  saving time by employing basic functionalities for both audio and video as you mentioned and it is extensible with the CMMFController::CustomCommand() function for instance. One thing I didn't quite understand on your post was that I thought from what I read on the sdk help that you'd need more than this:

      --&gt all that is required(for file playing) is a controller and a sink

      Even for file playing you'd need at least a source for reading the file, no? And of course for video 2 sinks are required (displaying, audio). At least that is what is there.

      Another question that has come up in mind is if it would be easy to convert an MMF supported multimedia format into a non MFF one or vice-versa, I guess the answer may be that its a relative issue, depending on the plugin itself perhaps.

      The task I'm interested in undertaking is actually to build my own player with audio/video support, possibly with mixed non-MMF and MMF supported formats whenever its a good idea to do so. For instance, Real (through its helixplayer port for symbian) provides support for realmedia on symbian. It'd be interesting to integrate that support into my player using MMF or not.

      It seems possible in any case to do it without conflicts perhaps using the Ecom plugin Registry file and framework properly. 

      In any case I'm going to keep investigating this issue as I go along and More feedback from everyone on this issue is really appreciated, especially if its as well  put as groy's (thanks again).

      regards, f.

       
    • groys

      groys - 2006-01-05

      Hi f,
      Firstly let me answer some of the things that you posted

      F---Even for file playing you'd need at least a source for reading the file, no? And of course for video 2 sinks are required (displaying, audio). At least that is what is there. 
      G---Let me clarify. In theory it is only a controller that is required.(this is also written in sdk help). Practically what happens in audio, (taking symbian OV Controller as reference) is a object of type CMMFFile which holds data about the file to be played is added as source to the controller. After decoding pcm data is obtained and that is given to an default sink provided by the mmf - CMMFAudioOutput. So you only have to write a controller plugin. The source is not a plugin. U can write your own sink or use the default one. About video there should be 2 sinks required. As there is no example on the internet i cannot confirm this. I dont know how video plugins within Nokia phones with MMF support work. As you are a member of Forum Nokia Pro probably you can get the answer from there. Do post it here or let me know about it.

      F---Another question that has come up in mind is if it would be easy to convert an MMF supported multimedia format into a non MFF one or vice-versa.
      G---This depends on your expertise. Dealing with anything of MMF is not easy for someone new to it, because of its very poor documentation.

      F---The task I'm interested in undertaking is actually to build my own player with audio/video support, possibly with mixed non-MMF and MMF supported formats whenever its a good idea to do so. For instance, Real (through its helixplayer port for symbian) provides support for realmedia on symbian. It'd be interesting to integrate that support into my player using MMF or not.
      G---Seems very difficult!! Writing your own plugins to support video via MMF could be a very difficult task. If you are using built in plugins then it will be easier. Although it is a nice idea to have mmf and non mmf support encapsulated in a single player it seems to me a difficult task. Better have them separate.

      F---And while they are at it what is their objective with using MAD, only to provide mp3 support and the like for previous OS versions or they have some point against the built-in mp3 MMF plugin?
      G---I dont know about MAD. Are you referring to oggplay?

      Best of Luck and do let us know about the information you gain on forum nokia pro.

      regards
      groys

       
    • Stuart Fisher

      Stuart Fisher - 2006-01-05

      At the moment I don't have the time, inclination, or knowledge about the subject to get involved in a detailed discussion about whether the MMF is a good or bad thing. The simple answer is that it allows OggPlay to play MP3s, Oggs, AACs and MP4s. That makes it a good thing in my book. It will even play WMAs too, although you'll have to pay Filamoon some money if you want WMA support.

      As for the comments about MAD you've seen it in the source code, right? Well it isn't ever compiled because the work (done by Pascal I think) never got finished.

      One thing the MMF doesn't seem to be very good at is providing access to the audio data. Things like volume boost and the frequency analyzer only work for oggs at the moment. I don't know if it's possible to set an output sink that is a memory buffer and then pass that data to an audio sink. Ideally you'd be able to connect sources and sinks together in a chain (so you could add dsp effects and other clever stuff if you wanted to). Maybe you can do that already, like I said I don't know much about this subject to be honest.

       
    • Francisco Pimenta

      Thanks for the new replies, groys and fig7.

      Fig7, I suppose you mean paying Filamoon in order to license WMA support? I'm not familiar with how things work with WMA to be honest. Can't see what would prevent WMA support if the MMF plugin is available in-phone for instance. I was indeed refering to MAD since it is on the source code, still interested to know what was the goal in including it (maybe it was something done PRE-MMF?). From what you're saying it seems that with MMF it's more difficult to add dsp?

      Would you agree on that issue, groys?

      G: About video there should be 2 sinks required. As there is no example on the internet i cannot confirm this. I dont know how video plugins within Nokia phones with MMF support work.

      - Do you know how it could work in other phones, i.e UIQ? Probably not but doesn't hurt to ask. From what you're saying it seems that it'd probably be a better idea to invest in non-MMF plugins/dlls for video.

      G: As you are a member of Forum Nokia Pro probably you can get the answer from there. Do post it here or let me know about it.

      - You misunderstood, I'm afraid. I'm only but a normal member of forum nokia. Currently I'm just a student finishing my university degree and wishing to specialize on Symbian OS programming (still a long way to go on that of course). Neither can I spare the 4000 euros for the anual fee. :) In any case I will be more than willing to share my progress with you or anyone else that shows interests. If you'd like to extend the colaboration beyond this post, drop me a hint, I think you can do that through sourceforge.

      G: Seems very difficult!! Writing your own plugins to support video via MMF could be a very difficult task. If you are using built in plugins then it will be easier. Although it is a nice idea to have mmf and non mmf support encapsulated in a single player it seems to me a difficult task. Better have them separate.

      - So taking on non MMF video what in your opinion makes it difficult to have both non-MMF and MMF plugins. Can you elaborate a bit? Judging from oggplay's example it doesn't seem too difficult. It is true that they don't actually implement MMF but the same way as there's an .ogg module/dll, couldn't there be on such thing for mmf without causing clashes with, other, non-mmf plugins? Naturally the dsp mentioned above would also be a plus...

      Regards, f.

       
    • groys

      groys - 2006-01-11

      Hi,
      @fig7, i did not get what you meant by dsp effects? 

      @frapin I dont have an idea about how things work on UIQ but i know that its not through mmf. May be the  helix player website would elaborate more.

      I wouldnt expect ne help on forum nokia on mmf ;) usually mmf related queries go unanswered.

      Coming to video, i would say that its not the clashes between the mmf and non mmf plugins that is the problem but rather the development of mmf video plugins. If however u use built in plugins then it should possible combine as they do in ogg.

      regards
      groys

       

Log in to post a comment.