×

Discussion Board

Results 1 to 13 of 13

Hybrid View

  1. #1
    Registered User
    Join Date
    Jun 2006
    Posts
    7

    MMF plugins in 3rd edition (MR)

    Hi,

    We're trying to port our MMF plugin (based on the Ogg Vorbis controller sample) from 2nd to 3rd edition (MR, plus the MMF plugin pack), and it consistently fails (at least in the emulator; haven't tried the phone yet). The controller class is instantiated just fine, and then immediately AddSinkL is fired. However, the sample calls SinkThreadLogon at this point, in which I just gets an access violation:

    Code:
    56.440	CMMFAudioServer::NewSessionL - enter
    56.440	CMMFAudioServer::StartDevSoundServer - enter
    56.440	CMMFAudioServer::StartDevSoundServer - exit
    56.440	CStartAndMonitorDevSoundThread::StartDevSoundServer - enter
    56.445	FAULT: ncsched.cpp 00000196
    (It doesn't seem to ever call the callback.) If I comment out the call to SinkThreadLogon, it goes through AddDataSink, AddSourceSink, and then initializes fine, but dies when the application tries to set the volume, with a "Thread Application::MMFControllerProxyServer94426a8 Panic MMFAudioOutput 6".

    FWIW, capabilities checking is turned off, and sound is working fine in the included MP3 player. Any ideas?

    /* Steinar */

  2. #2
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    29,165

    Re: MMF plugins in 3rd edition (MR)

    best idea is to forget about porting it. Basically it is said that MMF plugins are not supported by the 3rd edition SDKs.

    You could always get it working pretty well in emulator using older SDKs, but it will fail in device, unless you manage to get all required capabilities. The list of required capabilities is quite long, but if you are interested, just check the output in your emulator.

    yucca

  3. #3
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    29,165

    Re: MMF plugins in 3rd edition (MR)

    Uups, propably outdated information, just realized that according to this: http://www.newlc.com/S60-3rd-Edition...e-MMF-and.html

    MMF support was added back, and it should now be possible to be used, anyway I quess it still requires good amount of capabilities.

    yucca

  4. #4
    Registered User
    Join Date
    Jun 2006
    Posts
    7

    Re: MMF plugins in 3rd edition (MR)

    Well, yes, we've installed both the MR and the extensions plugin, and it both compiles and links just fine. I can't see why it would be a capability issue, though; the emulator doesn't complain...

    /* Steinar */

  5. #5
    Registered User
    Join Date
    Jun 2006
    Posts
    7

    Re: MMF plugins in 3rd edition (MR)

    FWIW, exactly the same thing happens from the builtin music player. Our code:

    Code:
    70.065	Thread Music player::MMFControllerProxyServer7685c75a created @ 0xaba778 - Win32 Thread ID 0xc00
    70.095	OVC: ConstructL
    70.095	OVC: ConstructL ok
    70.100	OVC: SetPrioritySettings
    70.100	CMPlayerRemoteControlUidListener::RunL()
    70.140	OVC: AddDataSinkL
    70.145	CMMFAudioServer::NewSessionL - enter
    70.145	CMMFAudioServer::StartDevSoundServer - enter
    70.145	CMMFAudioServer::StartDevSoundServer - exit
    70.145	CStartAndMonitorDevSoundThread::StartDevSoundServer - enter
    70.155	FAULT: ncsched.cpp 00000196
    Compare this to the native MP3 controller plugin, which emits the following messages:

    Code:
    106.565	Thread Music player::MMFControllerProxyServer973a22e5 created @ 0xabaad4 - Win32 Thread ID 0xc84
    106.655	CMP3AudioPlayControllerPlugin::NewL
    106.655	CMMFAudioServer::NewSessionL - enter
    106.655	CMMFAudioServer::StartDevSoundServer - enter
    106.655	CMMFAudioServer::StartDevSoundServer - exit
    106.655	CStartAndMonitorDevSoundThread::StartDevSoundServer - enter
    106.665	Thread MMFAudioServer.exe::Local-00ab9b90 created @ 0xab9e48 - Win32 Thread ID 0x9c8
    106.675	RMMFDevSoundServerProxy::Open - enter
    106.680	RMMFDevSoundServerProxy::Open - exit
    106.685	CStartAndMonitorDevSoundThread::StartDevSoundServer - exit
    106.685	CMMFAudioServer::NewSessionL - session created
    106.685	CMP3AudioPlayControllerResource::NewL
    106.685	CMP3AudioPlayControllerResource::ConstructL
    106.690	CMP3AudioPlayControllerResource::ReadCodecConfigParametersL
    106.690	CMP3AudioControllerUtility::NewL
    106.690	CMP3AudioControllerUtility::ConstructL
    106.690	CMP3AudioPlayControllerDecoderBuilder::NewL
    106.690	CMP3AudioPlayControllerDecoderBuilder::ConstructL
    106.695	CAdvancedAudioPlayController::SetPrioritySettings
    106.695	CMPlayerRemoteControlUidListener::RunL()
    106.715	CAdvancedAudioPlayController::AddDataSinkL
    106.715	CMP3AudioPlayControllerPlugin::DoAddDataSinkL
    106.715	CDevSoundAudioOutput::NewL
    Note that CMMFAudioServer is somehow started _before_ the call to DoAddDataSinkL; I seem to be missing something, but I've got no idea what. Any ideas?

    /* Steinar */

  6. #6
    Registered User
    Join Date
    Mar 2003
    Posts
    5

    Re: MMF plugins in 3rd edition (MR)

    anyone know what capabilities the mmf plugin needs?


    btw for nokia reps.. the documentation on the plugin is.. well. lousy. worse than that really. the ogg example as ported would have been nice for example.


    it's also missing essential information like how to use it - who can use it - and in which ways it's possible to use it(due to capabilities).

  7. #7
    Registered User
    Join Date
    Jun 2006
    Posts
    7

    Re: MMF plugins in 3rd edition (MR)

    The capabilities would probably have to match the program using it -- ie. you'd need DRM and MultimediaDD capabilities if you wanted to make a plugin for the regular media player (ie.: you lose).

    I've managed to get hold of Mathew Inwood, the original author of the Ogg Vorbis controller sample, and he said he had made an updated version and would try to get it online, but that it could take quite a while.

    Strangely enough, my problem does not show up on the 3250 (not that it actually outputs any sound, but at least it doesn't crash), so I suspect this is some odd kind of emulator bug, but I don't really know where I'd go to get help with that...

    /* Steinar */

  8. #8
    Registered User
    Join Date
    Oct 2004
    Posts
    8

    Re: MMF plugins in 3rd edition (MR)

    Quote Originally Posted by Sesse
    I've managed to get hold of Mathew Inwood, the original author of the Ogg Vorbis controller sample, and he said he had made an updated version and would try to get it online, but that it could take quite a while.
    This is what I am speaking of.

    Not the Ogg Vorbis controller you did.

    I find it laughable that anyone would try to profit over a completely patent free and open source audio codec.

    OggPlay works, but you have to use a separate player. I think we'd all like to just have Ogg Vorbis added as a standard codec. There's no cost involved to Nokia. No royalties to pay compared to the ones they are paying for H.264, MPEG-4, and MPEG layer 3.

  9. #9
    Regular Contributor
    Join Date
    Feb 2007
    Posts
    82

    Re: MMF plugins in 3rd edition (MR)

    how did you manage to compile it for gcce , i still have problems :-(

  10. #10
    Registered User
    Join Date
    Jun 2006
    Posts
    7

    Re: MMF plugins in 3rd edition (MR)

    OK, I figured it out, and I've got a complete port of the Ogg Vorbis controller plugin to Series 60 3.0 (and it plays just fine on my 3250 -- haven't tested in the built-in media player, though, and I seriously doubt it'd work due to capability problems).

    It still does not work on the emulator; I consider this an emulator bug.

    IIRC the changes required are:

    - The controller plugin now goes into c:\sys\bin, the resource file goes into c:\resource\plugins.
    - The capabilities of your MMF DLL must match or exceed the capabilities of the player.
    - You'll get a linker error in Tremor on the export bundles (from floor0.c et al); simply make the required functions no longer static, and move the bundles into registry.c. (Never ever remove the "const" from them; you'll cause odd errors since you can't have global non-static data in a DLL.)
    - The buffer UID has changed, so you'll have to accomodate KUidMmfPtrBuffer in COggVorbisFile::BufferEmptiedL(). No other changes needed, though; it's stil a CMMFDataBuffer.
    - Several other minor changes, such as the fact that TInt64 is no longer a class but a primitive type -- the compiler errors will guide you here.

    Hope this helps others, it might be five lines but it represents a week of frustrating debugging :-)

    /* Steinar */

  11. #11
    Registered User
    Join Date
    Jun 2006
    Posts
    12

    Re: MMF plugins in 3rd edition (MR)

    Quote Originally Posted by Sesse
    OK, I figured it out, and I've got a complete port of the Ogg Vorbis controller plugin to Series 60 3.0 (and it plays just fine on my 3250 -- haven't tested in the built-in media player, though, and I seriously doubt it'd work due to capability problems).

    It still does not work on the emulator; I consider this an emulator bug.

    IIRC the changes required are:

    - The controller plugin now goes into c:\sys\bin, the resource file goes into c:\resource\plugins.
    - The capabilities of your MMF DLL must match or exceed the capabilities of the player.
    - You'll get a linker error in Tremor on the export bundles (from floor0.c et al); simply make the required functions no longer static, and move the bundles into registry.c. (Never ever remove the "const" from them; you'll cause odd errors since you can't have global non-static data in a DLL.)
    - The buffer UID has changed, so you'll have to accomodate KUidMmfPtrBuffer in COggVorbisFile::BufferEmptiedL(). No other changes needed, though; it's stil a CMMFDataBuffer.
    - Several other minor changes, such as the fact that TInt64 is no longer a class but a primitive type -- the compiler errors will guide you here.

    Hope this helps others, it might be five lines but it represents a week of frustrating debugging :-)

    /* Steinar */
    Hi, Where is that SDK 3.0 ported version of the oggplay..?Can u please send me the path.

    Regards,
    Pavan

  12. #12
    Registered User
    Join Date
    Oct 2004
    Posts
    8

    Re: MMF plugins in 3rd edition (MR)

    Sorry to dig up a very old post, but has anyone found the S60v3 port of the Nokia Ogg plug-in?

    Sesse? Are you still around?

  13. #13
    Registered User
    Join Date
    Jun 2006
    Posts
    7

    Re: MMF plugins in 3rd edition (MR)

    No, I'm not here. :-) (I was pointed to this page by someone else, as you can see over half a year after you asked, so, well.) I only did Symbian/Series 60 stuff for a short internship last summer, and I don't expect to be doing it anymore in the forseeable feature.

    In any case, as the code was written as part of an internship, it belongs to my employer (I don't even have a copy of the code anymore), Favourite Systems. You could try contacting them (at contact at favouritesystems.com), but somehow I don't think they'd be giving away the code without some kind of compensation.

    Anyway, with the information I posted further up it shouldn't be difficult for a semi-competent programmer to redo what I did, but note that an MMF plugin is significantly less interesting under 3.0 then it was under 2.x, since you cannot use your own MMF plugin in the included media player (you don't get to sign your own programs with DRM capabilities unless you pay Nokia a bucketload of money). I've heard Symbian OggPlay works with 3.0 now, though, so if all you want is to play Vorbis files on your cell phone, I guess that's your best option.

    I don't check this forum anymore, so if you really want to get in touch with me, there's contact information at my homepage (http://www.sesse.net/).

    /* Steinar */

Similar Threads

  1. MMF in the 3rd Edition SDK
    By sameet in forum Symbian Media (Closed)
    Replies: 7
    Last Post: 2006-08-14, 03:08
  2. Carbide C++ AppWizards for 3rd Edition
    By ArneH in forum Symbian Tools & SDKs
    Replies: 0
    Last Post: 2006-05-20, 21:22
  3. Plea for Link Errors:Porting Code from Fp3 to 3rd Edition
    By mateen_maldar in forum Symbian User Interface
    Replies: 3
    Last Post: 2006-05-17, 06:26
  4. MMF issue in 3rd Edition SDK
    By sameet in forum Symbian Tools & SDKs
    Replies: 1
    Last Post: 2006-02-15, 19:45
  5. TTime : TInt64& Int64() problem in S60 3rd edition
    By iulian_moldovan in forum Symbian Tools & SDKs
    Replies: 3
    Last Post: 2006-01-24, 13:07

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×