From 707eadef2ad1388bafdb2d003a4169208fa99811 Mon Sep 17 00:00:00 2001 From: Marco Nelissen Date: Tue, 18 Nov 2014 09:50:35 -0800 Subject: Don't autoloop notifications Some apps think it's cool to use ringtones as notification sounds, but ringtones often loop, which is not appropriate for notifications. Bug: 15929273 Change-Id: I77c4277801cb2561743f8c676ef76ab4d1668b08 --- media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'media/libmediaplayerservice') diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp index b42b480..7f50a10 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp @@ -625,6 +625,16 @@ void NuPlayerDriver::notifyListener_l( case MEDIA_PLAYBACK_COMPLETE: { if (mState != STATE_RESET_IN_PROGRESS) { + if (mAutoLoop) { + audio_stream_type_t streamType = AUDIO_STREAM_MUSIC; + if (mAudioSink != NULL) { + streamType = mAudioSink->getAudioStreamType(); + } + if (streamType == AUDIO_STREAM_NOTIFICATION) { + ALOGW("disabling auto-loop for notification"); + mAutoLoop = false; + } + } if (mLooping || (mAutoLoop && (mAudioSink == NULL || mAudioSink->realtime()))) { mPlayer->seekToAsync(0); -- cgit v1.1