static ASM_cb_result_t MediaPlayerAudioSessionEventSourcePause(ASM_event_sources_t eventSource, void* callbackData)
{
MediaPlayer* player = static_cast<MediaPlayer*>(callbackData);
+ HTMLMediaElement* element = static_cast<HTMLMediaElement*>(player->mediaPlayerClient());
+
if (!player)
return ASM_CB_RES_IGNORE;
case ASM_EVENT_SOURCE_RESOURCE_CONFLICT:
case ASM_EVENT_SOURCE_EARJACK_UNPLUG:
if (!player->url().string().contains("camera://")) {
- player->pause();
+ element->pause();
return ASM_CB_RES_PAUSE;
}
default:
{
MediaPlayer* player = static_cast<MediaPlayer*>(callbackData);
HTMLMediaElement* element = static_cast<HTMLMediaElement*>(player->mediaPlayerClient());
+
if (!player)
return ASM_CB_RES_IGNORE;
switch (eventSource) {
case ASM_EVENT_SOURCE_ALARM_END:
if (!element->isVideo() && !player->url().string().contains("camera://")) {
- player->play();
+ element->play();
return ASM_CB_RES_PLAYING;
}
return ASM_CB_RES_NONE;