Menu

No MMF in S60 3.0

2006-03-03
2013-04-25
  • Alex Kanavin

    Alex Kanavin - 2006-03-03

    I just read in the S60 3rd edition documentation that
    "In S60 3rd Edition, due to issues associated with platform security, the Multimedia Framework (MMF) APIs for creating MMF Controller plugins have been removed from the SDK, and thus it is no longer possible to create thirdparty MMF plugins."

    All of new Nokia phones are using S60 3.0, specifically the 4 gig harddrive N91. Does that mean there is going to be a lot of trouble in making OggPlay work in those phones? Or can the MMF plugin for decoding Vorbis be replaced with an  implementation from the non-MMF version?

    Alex

     
    • Stuart Fisher

      Stuart Fisher - 2006-03-07

      Short answers:

      Yes
      Possibly

      I hope that you are wrong about this. Please can you post a link to this documentation...

       
    • Alex Kanavin

      Alex Kanavin - 2006-03-07

      You can find it either in S60 3.0 SDK help (the SDK been available from Forum Nokia since mid-January) or in this document:
      http://sw.nokia.com/id/a01c1062-bcb1-45fb-8d1f-762e5aac3fde/S60_Platform_Source_And_Binary_Compatibility_v1_2_en.pdf

      The complete text is:
      In S60 3rd Edition, due to issues associated with platform security, the Multimedia Framework (MMF) APIs for creating MMF Controller plugins have been removed from the SDK, and thus it is no longer possible to create thirdparty MMF plugins.

      As part of the above change, the DevSound API (SoundDevice.h) has also been removed. All functionality that was provided by the DevSound API can be achieved using the client utilities.

      For raw audio playback or streaming, use the MDA Audio Output Stream API (MdaAudioOutputStream.h).

      For audio playback of encoded or raw audio, use the MDA Audio Player Utility API (MdaAudioSamplePlayer.h).

      For playback of all audio tones, use the MDA Audio Tone Player Utility (MdaAudioTonePlayer.h).

      For recording raw audio, use the MDA Audio Input Stream API (MdaAudioInputStream.h).

      For recording audio into an encoded format, use the MDA Audio Record Utility API (MdaAudioSampleEditor.h).

      Note that also the Advanced Audio Controller Plugin APIs (based on the DevSound API) have been removed.

       
    • Stuart Fisher

      Stuart Fisher - 2006-03-08

      Does the non-MMF version (1.091) work on MMF (S60 2.x) phones? If so, it shouldn't be too hard to port OggPlay to S60 V3.

      Unfortunately, porting to V3 is not currently very high up on the list of things to do. It probably won't get done unless something bad happens to my Sendo and I'm forced to buy a new phone. Of course, somebody else might want to have a go at doing it.

      Stuart

       
      • Berthier Lemieux

        Here is my 2 cents about the 3.0 issue:

          - Oggplay non-MMF (should) work on any Symbian phones with Symbian OS 6.0 and above. This means all S60 phones, including S60 3.0 (but some changes are needed for 3.0, package are not binary compatible)
          - OggPlay MMF will work on S60 3.0. We are able to use the built-in plugins. However, because of S60 decision, we will not be able to compile the Ogg Plugin.
          - OggPlay has been built to easily switch from the MMF version to the non-MMF version. It would not be a big task to make it support 'both'. That is using MMF built-in plugins for MP3, AAC, WMA,... And using the ogg decoder has a library not as a plugin.

          Amount of work to do this is pretty small, I would say less than 50 lines of code.
          The biggest issue with S60 3.0 is the security. I am afraid that it will not be easy to develop with all the security nets in the 3.0. Will we have enough rights to install oggplay on the phone, or do we use components that requires an external company to sign our release (and the associated cost)?
          Finally, someone in the Oggplay "community" needs to have a 3.0 phone, and AFAIK nobody has: there is currently no real interest to do the port. But I'm sure somebody will have such device at some point of time.

         
        • Alex Kanavin

          Alex Kanavin - 2006-03-08

          Yeah, the best approach is to modify the MMF version so that it's using the non-MMF Vorbis library for Vorbis playing, but system MMF plugins for everything else. It's just a bit tricky to make this configuration and other S60 3.0 changes elegantly fit with already existing stuff.

          As for security, I don't think external signing is needed. As far as I see OggPlay is only using those things which are available to self-signed applications.

          If I have time and hardware I can do the port. I also have a few other ideas in the pipeline, such as Shoutcast support - with many new phones supporting WLAN it makes perfect sense.

           
          • Berthier Lemieux

            Shoutcast sounds like a very nice idea, might even bring me back on the list of active OggPlay developer ;-) However, I'm pretty sure WLAN is among the ressources that require external signing.

             
            • Alex Kanavin

              Alex Kanavin - 2006-03-08

              I'm pretty sure it's not. :) TCP socket connectivity is in the NetworkServices capability, and that's available to self-signed application if the user confirms it during installation. Joining a WLAN network might not be possible though.

               
    • Stuart Fisher

      Stuart Fisher - 2006-03-08

      One other thing. Before anybody asks the UIQ3 port will be the same amount of work as the S60 V3 version + another 5000 lines of code to re-write the user interface :-(

       
    • Alex Kanavin

      Alex Kanavin - 2006-03-08
       
      • Miguel

        Miguel - 2006-07-10

        I am currently trying to port it to N91, hopefully i am able to do it in 1 month time :(

         
    • Berthier Lemieux

      I made a very short study of Shoutcast. Here are my preliminary conclusions :)

      Having Shoutcast client support alone in OggPlay is not that interesting. It enables listening to WebRadios, either with WLAN or when wired to the PC.  I doupt that the UC (to connect to your WLAN to listen to WebRadio, and eating your phone battery) would be that interesting.

      However, being able to rip the shoutcast streams is already spicing this up a little bit. The UC becomes : Connect your phone to a WLAN (or using the cable) to listen to WebRadio, rip the stream (to ogg or mp3 files), and listen to them later on. There exists a few open source rippers out there, aka: http://streamripper.sourceforge.net/othersites.php

      Finally, dreaming a little here, if users would have possibility to stream their own stuff, it would enable a 'music sharing' experience from OggPlay to Oggplay. www.icecast.org provides a server that would be relatively simple to use together with Oggplay. Unfortunately, you could only share with one other terminal, due to the limitation of Shoutcast. Something like freecast would potententialy be more interesting, as you could stream to several clients: http://wiki.tryphon.org/FreeCast

      Other 'discoveries' of that brief look at Shoutcast:
      IceCast is the open source of the server application, streams produced are apparently compatible. Shoutcast uses a proprietary SW.

      It seems to be straightforward to add the Shoutcast functionality, simply make an http:\\ connections to a server, and throw the received packets straight in the ogg/mp3 decoder. No unpacking, no error handling, nothing.

      Adding the possibility of Shoutcast receiving in the OggPlay UI should be also fairly straighforward and not confusing for users. If the m3u file contains an http adress, we just try to connect there and start streaming. Symbian provides an HTTP API, I wonder if this is easily usable?
      http://www.symbian.com/developer/techlib/v70sdocs/doc_source/DevGuides/cpp/ApplicationProtocols/HTTP/overview.guide.html

      I'll give a shoot to the basic receiving scheme. Since I do not know a thing about connectivity, chances are big that I give up before even really starting, but let's see! I'll commit changes, in the unlikely case that I manage to do something functional...

       
      • Alex Kanavin

        Alex Kanavin - 2006-03-14

        Yeah, we had this idea with a workmate also, that it would be pretty cool to listen to music from a stranger's phone on the bus :) There are however two obstacles to this:
        1) Current S60 WLAN implementation does not allow two phones to connect directly to each other. You need to have a shared access point.
        2) There is no discovery mechanism in shoutcast. How would you know the other phone's URL?

        Also, perhaps Bluetooth could be used as a transport, instead of WLAN? It has discovery, it supports direct connectivity (dunno if pairing could be avoided for this UC) and it's just fast enough for streaming an mp3.

        I also wrote you a private mail with a pointer to already existing Symbian shoutcast implementation that could be adopted by oggplay.

         
    • Roger So

      Roger So - 2006-07-01

      Would this help?
      "Symbian MMF APIs again available for S60 3rd Edition SDK"
      http://blogs.s60.com/s60multimedia/2006/06/extensions_plugin_for_s60_sdk.html

       
      • Alex Kanavin

        Alex Kanavin - 2006-08-28

        You're right, Nokia now provides full MMF APIs again. This means that ogg playback is now possible through MMF controller plugin, just like it was before in S60 2.x, and also from the S60 platform music player.

        Also, I can see from the CVS that Stuart has resumed 3.x development just a few days ago. Perhaps we will hear from him soon.

         
    • Stefano

      Stefano - 2006-07-14

      keep us informed thanks !

       

Log in to post a comment.