summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-02-27 11:50:06 +0000
committerCarl Hetherington <cth@carlh.net>2017-04-19 23:04:32 +0100
commit2c4102e14362ef445d1b97a3aa26a889c05578c2 (patch)
tree83dbf410d410dcbdcf9751892bc66684cce20471 /src/lib
parent034cdbf907363091f1badc2b791f7706078dc2bc (diff)
Fix zero-sized buffers coming out of audio merger.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/audio_filter_graph.cc3
-rw-r--r--src/lib/audio_merger.cc2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/audio_filter_graph.cc b/src/lib/audio_filter_graph.cc
index afbcf4921..0eeeb3c4a 100644
--- a/src/lib/audio_filter_graph.cc
+++ b/src/lib/audio_filter_graph.cc
@@ -26,10 +26,12 @@ extern "C" {
#include <libavfilter/buffersrc.h>
#include <libavutil/channel_layout.h>
}
+#include <iostream>
#include "i18n.h"
using std::string;
+using std::cout;
using boost::shared_ptr;
AudioFilterGraph::AudioFilterGraph (int sample_rate, int channels)
@@ -105,6 +107,7 @@ AudioFilterGraph::sink_name () const
void
AudioFilterGraph::process (shared_ptr<const AudioBuffers> buffers)
{
+ DCPOMATIC_ASSERT (buffers->frames() > 0);
int const process_channels = av_get_channel_layout_nb_channels (_channel_layout);
DCPOMATIC_ASSERT (process_channels >= buffers->channels());
diff --git a/src/lib/audio_merger.cc b/src/lib/audio_merger.cc
index 5e0589bb1..10a71535b 100644
--- a/src/lib/audio_merger.cc
+++ b/src/lib/audio_merger.cc
@@ -51,7 +51,7 @@ AudioMerger::pull (DCPTime time)
list<Buffer> new_buffers;
BOOST_FOREACH (Buffer i, _buffers) {
- if (i.period().to < time) {
+ if (i.period().to <= time) {
/* Completely within the pull period */
out.push_back (make_pair (i.audio, i.time));
} else if (i.time < time) {