1 /* 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #ifndef MODULES_RTP_RTCP_SOURCE_FEC_PRIVATE_TABLES_BURSTY_H_ 12 #define MODULES_RTP_RTCP_SOURCE_FEC_PRIVATE_TABLES_BURSTY_H_ 13 14 // This file contains a set of packets masks for the FEC code. The masks in 15 // this table are specifically designed to favor recovery of bursty/consecutive 16 // loss network conditions. The tradeoff is worse recovery for random losses. 17 // These packet masks are currently defined to protect up to 12 media packets. 18 // They have the following property: for any packet mask defined by the 19 // parameters (k,m), where k = number of media packets, m = number of FEC 20 // packets, all "consecutive" losses of size <= m are completely recoverable. 21 // By consecutive losses we mean consecutive with respect to the sequence 22 // number ordering of the list (media and FEC) of packets. The difference 23 // between these masks (|kFecMaskBursty|) and |kFecMaskRandom| type, defined 24 // in fec_private_tables.h, is more significant for longer codes 25 // (i.e., more packets/symbols in the code, so larger (k,m), i.e., k > 4, 26 // m > 3). 27 28 #include <stdint.h> 29 30 namespace webrtc { 31 namespace fec_private_tables { 32 33 extern const uint8_t kPacketMaskBurstyTbl[]; 34 35 } // namespace fec_private_tables 36 } // namespace webrtc 37 #endif // MODULES_RTP_RTCP_SOURCE_FEC_PRIVATE_TABLES_BURSTY_H_ 38