/*
- Copyright (C) 2013-2017 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*/
+
/** @file src/audio_merger.h
* @brief AudioMerger class.
*/
+
#include "audio_buffers.h"
#include "dcpomatic_time.h"
#include "util.h"
+
/** @class AudioMerger.
* @brief A class that can merge audio data from many sources.
*/
public:
explicit AudioMerger (int frame_rate);
- std::list<std::pair<std::shared_ptr<AudioBuffers>, dcpomatic::DCPTime> > pull (dcpomatic::DCPTime time);
+ std::list<std::pair<std::shared_ptr<AudioBuffers>, dcpomatic::DCPTime>> pull (dcpomatic::DCPTime time);
void push (std::shared_ptr<const AudioBuffers> audio, dcpomatic::DCPTime time);
void clear ();
* @param r Frame rate.
*/
Buffer (int c, int32_t f, dcpomatic::DCPTime t, int r)
- : audio (new AudioBuffers (c, f))
+ : audio (std::make_shared<AudioBuffers>(c, f))
, time (t)
, frame_rate (r)
{}
}
};
- class BufferComparator
- {
- public:
- bool operator() (AudioMerger::Buffer const & a, AudioMerger::Buffer const & b)
- {
- return a.time < b.time;
- }
- };
-
std::list<Buffer> _buffers;
int _frame_rate;
};