StimulusBuffer should take ref to parent; not sh_ptr to common instance
This commit is contained in:
@@ -18,18 +18,18 @@ class StimulusProducer;
|
|||||||
* StimulusBuffer manages a collection of stimulus frames and ring buffer.
|
* StimulusBuffer manages a collection of stimulus frames and ring buffer.
|
||||||
*
|
*
|
||||||
* This buffer holds the actual frame storage and ring buffer for stimulus
|
* This buffer holds the actual frame storage and ring buffer for stimulus
|
||||||
* data. It maintains a reference to the StimulusProducer that it owns.
|
* data. It maintains a reference to its parent StimulusProducer.
|
||||||
*/
|
*/
|
||||||
class StimulusBuffer
|
class StimulusBuffer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit StimulusBuffer(
|
explicit StimulusBuffer(
|
||||||
std::shared_ptr<StimulusProducer> &producer,
|
StimulusProducer& parent,
|
||||||
const std::shared_ptr<device::DeviceAttachmentSpec>
|
const std::shared_ptr<device::DeviceAttachmentSpec>
|
||||||
&deviceAttachmentSpec,
|
&deviceAttachmentSpec,
|
||||||
int histbuffMs,
|
int histbuffMs,
|
||||||
const SpMcRingBuffer::InputEngineConstraints& ringBufferConstraints)
|
const SpMcRingBuffer::InputEngineConstraints& ringBufferConstraints)
|
||||||
: producer(producer),
|
: parent(parent),
|
||||||
deviceAttachmentSpec(deviceAttachmentSpec),
|
deviceAttachmentSpec(deviceAttachmentSpec),
|
||||||
histbuffMs(histbuffMs),
|
histbuffMs(histbuffMs),
|
||||||
frames_(static_cast<size_t>(histbuffMs / CONFIG_STIMBUFF_FRAME_PERIOD_MS)),
|
frames_(static_cast<size_t>(histbuffMs / CONFIG_STIMBUFF_FRAME_PERIOD_MS)),
|
||||||
@@ -48,7 +48,7 @@ public:
|
|||||||
StimulusBuffer& operator=(StimulusBuffer&&) = default;
|
StimulusBuffer& operator=(StimulusBuffer&&) = default;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
std::shared_ptr<StimulusProducer> producer;
|
StimulusProducer& parent;
|
||||||
std::shared_ptr<device::DeviceAttachmentSpec> deviceAttachmentSpec;
|
std::shared_ptr<device::DeviceAttachmentSpec> deviceAttachmentSpec;
|
||||||
int histbuffMs;
|
int histbuffMs;
|
||||||
std::vector<StimulusFrame> frames_;
|
std::vector<StimulusFrame> frames_;
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ class PcloudAmbienceStimulusBuffer
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit PcloudAmbienceStimulusBuffer(
|
explicit PcloudAmbienceStimulusBuffer(
|
||||||
std::shared_ptr<StimulusProducer>& producer,
|
StimulusProducer& parent,
|
||||||
const std::shared_ptr<device::DeviceAttachmentSpec>& deviceAttachmentSpec,
|
const std::shared_ptr<device::DeviceAttachmentSpec>& deviceAttachmentSpec,
|
||||||
int histbuffMs,
|
int histbuffMs,
|
||||||
const SpMcRingBuffer::InputEngineConstraints& ringBufferConstraints)
|
const SpMcRingBuffer::InputEngineConstraints& ringBufferConstraints)
|
||||||
: StimulusBuffer(
|
: StimulusBuffer(
|
||||||
producer, deviceAttachmentSpec, histbuffMs, ringBufferConstraints)
|
parent, deviceAttachmentSpec, histbuffMs, ringBufferConstraints)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
~PcloudAmbienceStimulusBuffer() = default;
|
~PcloudAmbienceStimulusBuffer() = default;
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ class PcloudIStimulusBuffer
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit PcloudIStimulusBuffer(
|
explicit PcloudIStimulusBuffer(
|
||||||
std::shared_ptr<StimulusProducer>& producer,
|
StimulusProducer& parent,
|
||||||
const std::shared_ptr<device::DeviceAttachmentSpec>& deviceAttachmentSpec,
|
const std::shared_ptr<device::DeviceAttachmentSpec>& deviceAttachmentSpec,
|
||||||
int histbuffMs,
|
int histbuffMs,
|
||||||
const SpMcRingBuffer::InputEngineConstraints& ringBufferConstraints)
|
const SpMcRingBuffer::InputEngineConstraints& ringBufferConstraints)
|
||||||
: StimulusBuffer(
|
: StimulusBuffer(
|
||||||
producer, deviceAttachmentSpec, histbuffMs, ringBufferConstraints)
|
parent, deviceAttachmentSpec, histbuffMs, ringBufferConstraints)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
~PcloudIStimulusBuffer() = default;
|
~PcloudIStimulusBuffer() = default;
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ class PcloudXyzStimulusBuffer
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit PcloudXyzStimulusBuffer(
|
explicit PcloudXyzStimulusBuffer(
|
||||||
std::shared_ptr<StimulusProducer>& producer,
|
StimulusProducer& parent,
|
||||||
const std::shared_ptr<device::DeviceAttachmentSpec>& deviceAttachmentSpec,
|
const std::shared_ptr<device::DeviceAttachmentSpec>& deviceAttachmentSpec,
|
||||||
int histbuffMs,
|
int histbuffMs,
|
||||||
const SpMcRingBuffer::InputEngineConstraints& ringBufferConstraints)
|
const SpMcRingBuffer::InputEngineConstraints& ringBufferConstraints)
|
||||||
: StimulusBuffer(
|
: StimulusBuffer(
|
||||||
producer, deviceAttachmentSpec, histbuffMs, ringBufferConstraints)
|
parent, deviceAttachmentSpec, histbuffMs, ringBufferConstraints)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
~PcloudXyzStimulusBuffer() = default;
|
~PcloudXyzStimulusBuffer() = default;
|
||||||
|
|||||||
Reference in New Issue
Block a user