diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp index 99242ab9ff927..7b28588bb8545 100644 --- a/media/libstagefright/AwesomePlayer.cpp +++ b/media/libstagefright/AwesomePlayer.cpp @@ -820,7 +820,12 @@ void AwesomePlayer::onStreamDone() { return; } - if (mFlags & (LOOPING | AUTO_LOOPING)) { + if ((mFlags & LOOPING) + || ((mFlags & AUTO_LOOPING) + && (mAudioSink == NULL || mAudioSink->realtime()))) { + // Don't AUTO_LOOP if we're being recorded, since that cannot be + // turned off and recording would go on indefinitely. + seekTo_l(0); if (mVideoSource != NULL) {