API Calls to avoid? | developer.brewmp.com API Calls to avoid? | developer.brewmp.com

Developer

API Calls to avoid?

Forums:

What are some BREW API calls that should be avoided if possible? For instance, I've created my own Sprite, TileMap, and Font APIs instead of using the built in BREW ones (I've even written a small wrapper around IBitmap) . I guess the criteria for an API call to "stay away" from would be that it's buggy or doesn't work on some/all phones. I'm especially curious about IDISPLAY_, IBITMAP_, IGRAPHICS_, IMEDIA_, and i guess... ISHELL_. I'm using only a few of the IMEDIA_ calls, and even fewer IGRAPHICS_ calls, but i have my fair share of IBITMAP_ and IDISPLAY_ calls (still, not too many over all).

Thanks in advance :)

As far I know IDISPLAY and IBitmap seems to be usually okay. IMedia has lots of device dependency and often OEM doesn't implement them correctly.

As far I know IDISPLAY and IBitmap seems to be usually okay. IMedia has lots of device dependency and often OEM doesn't implement them correctly.

Hmm. Ok. I'm using the following IMEDIA_ calls:
// get appropriate CLSID
switch(type) {
case SOUND_CLIP_TYPE_MIDI: clsId = AEECLSID_MEDIAMIDI; break;
case SOUND_CLIP_TYPE_MP3: clsId = AEECLSID_MEDIAMP3; break;
case SOUND_CLIP_TYPE_QCP: clsId = AEECLSID_MEDIAQCP; break;
default: return;
}
ISHELL_CreateInstance(
gameKernel->GetApplet()->m_pIShell,
clsId,
(void**)&media
);
IMEDIA_Release(media);
IMEDIA_SetMediaData(media, &mediaData);
IMEDIA_RegisterNotify(media, &SoundClip::sc_MediaCallBack, this);
IMEDIA_GetVolume(media, &vol);
IMEDIA_SetVolume(media, volume);
IMEDIA_Stop(media);
IMEDIA_Pause(media);
IMEDIA_Resume(media);
Hopefully nothing too bad. Does anyone else have input on any of the other APIs?

Hmm. Ok. I'm using the following IMEDIA_ calls:
// get appropriate CLSID
switch(type) {
case SOUND_CLIP_TYPE_MIDI: clsId = AEECLSID_MEDIAMIDI; break;
case SOUND_CLIP_TYPE_MP3: clsId = AEECLSID_MEDIAMP3; break;
case SOUND_CLIP_TYPE_QCP: clsId = AEECLSID_MEDIAQCP; break;
default: return;
}
ISHELL_CreateInstance(
gameKernel->GetApplet()->m_pIShell,
clsId,
(void**)&media
);
IMEDIA_Release(media);
IMEDIA_SetMediaData(media, &mediaData);
IMEDIA_RegisterNotify(media, &SoundClip::sc_MediaCallBack, this);
IMEDIA_GetVolume(media, &vol);
IMEDIA_SetVolume(media, volume);
IMEDIA_Stop(media);
IMEDIA_Pause(media);
IMEDIA_Resume(media);
Hopefully nothing too bad. Does anyone else have input on any of the other APIs?