diff options
Diffstat (limited to 'src/DabMultiplexer.cpp')
-rw-r--r-- | src/DabMultiplexer.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/DabMultiplexer.cpp b/src/DabMultiplexer.cpp index 498e9e0..6b887bd 100644 --- a/src/DabMultiplexer.cpp +++ b/src/DabMultiplexer.cpp @@ -581,8 +581,16 @@ void DabMultiplexer::mux_frame(std::vector<std::shared_ptr<DabOutput> >& outputs edi::TagESTn& tag = edi_subchannelToTag[subchannel.get()]; int sizeSubchannel = subchannel->getSizeByte(); - int result = subchannel->input->readFrame( - &etiFrame[index], sizeSubchannel); + int result = -1; + switch (subchannel->bufferManagement) { + case BufferManagement::Prebuffering: + result = subchannel->input->readFrame(&etiFrame[index], sizeSubchannel); + break; + case BufferManagement::Timestamped: + // no need to check enableTist because we always increment the timestamp + result = subchannel->input->readFrame(&etiFrame[index], sizeSubchannel, edi_time + m_tist_offset, timestamp); + break; + } if (result < 0) { etiLog.log(info, |