diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp index 9a2224edc6f4d1b67f2e714667c01c006b8b24a7..300a8eab32d1e4e40a165f92584844153e1bf944 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp @@ -762,8 +762,7 @@ void NuPlayer::Decoder::handleOutputFormatChange(const sp &format) { int64_t durationUs; bool hasVideo = (mSource->getFormat(false /* audio */) != NULL); if (getAudioDeepBufferSetting() // override regardless of source duration - || (!hasVideo - && mSource->getDuration(&durationUs) == OK + || (mSource->getDuration(&durationUs) == OK && durationUs > AUDIO_SINK_MIN_DEEP_BUFFER_DURATION_US)) { flags = AUDIO_OUTPUT_FLAG_DEEP_BUFFER; } else {