summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/lib/util/aviio.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/util/aviio.c b/src/lib/util/aviio.c
index 4ca7079892d..d7dd74adeb1 100644
--- a/src/lib/util/aviio.c
+++ b/src/lib/util/aviio.c
@@ -2306,8 +2306,10 @@ static avi_error soundbuf_flush(avi_file *file, int only_flush_full)
return avierr;
/* add up the samples */
- if (channelsamples > 0)
+ if (channelsamples > chunksamples)
file->info.audio_numsamples = stream->samples += chunksamples;
+ else if (channelsamples > 0)
+ file->info.audio_numsamples = stream->samples += channelsamples;
/* advance past those */
processedsamples += chunksamples;