summaryrefslogtreecommitdiffstats
path: root/src/DabMultiplexer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/DabMultiplexer.cpp')
-rw-r--r--src/DabMultiplexer.cpp12
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,