// 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_RTP_PACKET_PARSER_H_ #define CAST_STREAMING_IMPL_RTP_PACKET_PARSER_H_ #include <chrono> #include <optional> #include "cast/streaming/public/frame_id.h" #include "cast/streaming/impl/rtp_defines.h" #include "cast/streaming/rtp_time.h" #include "cast/streaming/ssrc.h" #include "platform/base/span.h" namespace openscreen::cast { // Parses RTP packets for all frames in the same Cast RTP stream. One // RtpPacketParser instance should be used for all RTP packets having the same // SSRC. // // Note that the parser is not stateless: One of its responsibilities is to // bit-expand values that exist in a truncated form within the packets. It // tracks the progression of those values in a live system to re-constitute such // values. class RtpPacketParser { … }; } // namespace openscreen::cast #endif // CAST_STREAMING_IMPL_RTP_PACKET_PARSER_H_