diff --git a/src/streamprocessor/streamprocessor.cpp b/src/streamprocessor/streamprocessor.cpp
index b30c96316e8b08ecfe07f9889e36da1dde1cdc8a..f27fa667c379f19723fdadf72bfe82b8c9fc163c 100644
--- a/src/streamprocessor/streamprocessor.cpp
+++ b/src/streamprocessor/streamprocessor.cpp
@@ -447,8 +447,7 @@ StreamProcessor::processAudio()
 						timeFrameDuration = frameResampled->nb_samples * 1000 / frameResampled->sample_rate;
 					} else {
 						frameSize = frame->nb_samples * av_get_bytes_per_sample(static_cast<AVSampleFormat>(frame->format));
-						if(frame->duration)
-							timeFrameDuration = frame->duration * 1000 * m_avStream->time_base.num / m_avStream->time_base.den;
+						timeFrameDuration = int64_t(frame->nb_samples) * 1000 / frame->sample_rate;
 					}
 					timeFrameEnd = timeFrameStart + timeFrameDuration;
 
