diff --git a/components/audio/src/source.cpp b/components/audio/src/source.cpp index 15b99c08611732fd51751f8bd63c18ffc1ec196b..904433edffc15acfcda9cd00369701bf8adba4a5 100644 --- a/components/audio/src/source.cpp +++ b/components/audio/src/source.cpp @@ -110,6 +110,7 @@ Source::Source(nlohmann::json &config) : ftl::Configurable(config), buffer_(4800 // Remove one interval since the audio starts from the last frame frameset_.timestamp = ts - ftl::timer::getInterval(); + frameset_.id = 0; frameset_.count = 1; frameset_.stale = false; diff --git a/components/streams/src/receiver.cpp b/components/streams/src/receiver.cpp index 1151f1e342654e5c1c6835f6a9da1b9b11a684e8..8ed25bf4c2eb7195c1895f4ba21283289d600c35 100644 --- a/components/streams/src/receiver.cpp +++ b/components/streams/src/receiver.cpp @@ -125,6 +125,7 @@ void Receiver::_processAudio(const StreamPacket &spkt, const Packet &pkt) { if (audio_cb_) { // Create an audio frameset wrapper. ftl::audio::FrameSet fs; + fs.id = 0; fs.timestamp = frame.timestamp; fs.count = 1; fs.stale = false; diff --git a/components/streams/src/sender.cpp b/components/streams/src/sender.cpp index a32a4a848766b7a57bf28c52e7cd984fa2a1da43..0068f5ad3821d87045400c2e0954bddfe50891af 100644 --- a/components/streams/src/sender.cpp +++ b/components/streams/src/sender.cpp @@ -66,7 +66,7 @@ void Sender::post(const ftl::audio::FrameSet &fs) { StreamPacket spkt; spkt.version = 4; spkt.timestamp = fs.timestamp; - spkt.streamID = 0; //fs.id; + spkt.streamID = fs.id; spkt.frame_number = i; spkt.channel = Channel::Audio; diff --git a/components/streams/src/stream.cpp b/components/streams/src/stream.cpp index 2ece7be127e15f9ff4a6ca294133e266542a38db..23cd0659884ed67200e0f06523feb3debe05b1d8 100644 --- a/components/streams/src/stream.cpp +++ b/components/streams/src/stream.cpp @@ -132,9 +132,11 @@ int Muxer::_lookup(int sid, int ssid) { lk.unlock(); { UNIQUE_LOCK(mutex_, lk2); - int nid = nid_++; - se.maps.push_back(nid); - revmap_.push_back({sid,ssid}); + if (ssid >= se.maps.size()) { + int nid = nid_++; + se.maps.push_back(nid); + revmap_.push_back({sid,ssid}); + } } lk.lock(); }