// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CAST_STREAMING_IMPL_RECEIVER_PACKET_ROUTER_H_ #define CAST_STREAMING_IMPL_RECEIVER_PACKET_ROUTER_H_ #include <stdint.h> #include <utility> #include <vector> #include "cast/streaming/public/environment.h" #include "cast/streaming/ssrc.h" #include "platform/base/span.h" #include "util/flat_map.h" namespace openscreen::cast { class Receiver; // Handles all network I/O among multiple Receivers meant for synchronized // play-out (e.g., one Receiver for audio, one Receiver for video). Incoming // traffic is dispatched to the appropriate Receiver, based on its corresponding // sender's SSRC. Also, all traffic not coming from the same source is // filtered-out. class ReceiverPacketRouter final : public Environment::PacketConsumer { … }; } // namespace openscreen::cast #endif // CAST_STREAMING_IMPL_RECEIVER_PACKET_ROUTER_H_