diff --git a/proprietary/wvm/WVMExtractorImpl.cpp b/proprietary/wvm/WVMExtractorImpl.cpp index fd7d1d6d..fc1bf12b 100644 --- a/proprietary/wvm/WVMExtractorImpl.cpp +++ b/proprietary/wvm/WVMExtractorImpl.cpp @@ -480,6 +480,10 @@ int64_t WVMExtractorImpl::getCachedDurationUs(status_t *finalStatus) { } else if (status != WV_Status_OK) { *finalStatus = ERROR_IO; } else { + if (mIsLiveStream) + *finalStatus = ERROR_END_OF_STREAM; + else + *finalStatus = OK; durationUs = (uint64_t)(secondsBuffered * 1000000LL); } diff --git a/proprietary/wvm/WVMMediaSource.cpp b/proprietary/wvm/WVMMediaSource.cpp index 410baed9..fc6d9fca 100644 --- a/proprietary/wvm/WVMMediaSource.cpp +++ b/proprietary/wvm/WVMMediaSource.cpp @@ -335,9 +335,11 @@ status_t WVMMediaSource::read(MediaBuffer **buffer, const ReadOptions *options) break; #ifdef REQUIRE_SECURE_BUFFERS - ALOGD("buffer overflow"); - mediaBuf->release(); - return ERROR_IO; + if (!mIsLiveStream) { + ALOGD("buffer overflow"); + mediaBuf->release(); + return ERROR_IO; + } #endif //ALOGD("Resizing...");