Index: webrtc/modules/audio_coding/neteq/red_payload_splitter.h |
diff --git a/webrtc/modules/audio_coding/neteq/payload_splitter.h b/webrtc/modules/audio_coding/neteq/red_payload_splitter.h |
similarity index 56% |
rename from webrtc/modules/audio_coding/neteq/payload_splitter.h |
rename to webrtc/modules/audio_coding/neteq/red_payload_splitter.h |
index a3e1b1d91c76bd047995407d0f8d80932941e4a4..deb86eb166d7f2c48e0757640a8f4bf5f30313c8 100644 |
--- a/webrtc/modules/audio_coding/neteq/payload_splitter.h |
+++ b/webrtc/modules/audio_coding/neteq/red_payload_splitter.h |
@@ -8,8 +8,8 @@ |
* be found in the AUTHORS file in the root of the source tree. |
*/ |
-#ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_PAYLOAD_SPLITTER_H_ |
-#define WEBRTC_MODULES_AUDIO_CODING_NETEQ_PAYLOAD_SPLITTER_H_ |
+#ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_RED_PAYLOAD_SPLITTER_H_ |
+#define WEBRTC_MODULES_AUDIO_CODING_NETEQ_RED_PAYLOAD_SPLITTER_H_ |
#include "webrtc/base/constructormagic.h" |
#include "webrtc/modules/audio_coding/neteq/packet.h" |
@@ -19,24 +19,14 @@ namespace webrtc { |
// Forward declarations. |
class DecoderDatabase; |
-// This class handles splitting of payloads into smaller parts. |
- |
-// For RED and FEC the splitting is done internally. Other codecs' packets are |
-// split by calling AudioDecoder::SplitPacket. |
-class PayloadSplitter { |
+// This class handles splitting of RED payloads into smaller parts. |
+// Codec-specific packet splitting can be performed by |
+// AudioDecoder::ParsePayload. |
+class RedPayloadSplitter { |
public: |
- enum SplitterReturnCodes { |
- kOK = 0, |
- kNoSplit = 1, |
- kFrameSplitError = -2, |
- kUnknownPayloadType = -3, |
- kRedLengthMismatch = -4, |
- kFecSplitError = -5, |
- }; |
- |
- PayloadSplitter() {} |
+ RedPayloadSplitter() {} |
- virtual ~PayloadSplitter() {} |
+ virtual ~RedPayloadSplitter() {} |
// Splits each packet in |packet_list| into its separate RED payloads. Each |
// RED payload is packetized into a Packet. The original elements in |
@@ -44,23 +34,18 @@ class PayloadSplitter { |
// Note that all packets in |packet_list| must be RED payloads, i.e., have |
// RED headers according to RFC 2198 at the very beginning of the payload. |
// Returns kOK or an error. |
- virtual int SplitRed(PacketList* packet_list); |
- |
- // Iterates through |packet_list| and, duplicate each audio payload that has |
- // FEC as new packet for redundant decoding. The decoder database is needed to |
- // get information about which payload type each packet contains. |
- virtual int SplitFec(PacketList* packet_list, |
- DecoderDatabase* decoder_database); |
+ virtual bool SplitRed(PacketList* packet_list); |
// Checks all packets in |packet_list|. Packets that are DTMF events or |
// comfort noise payloads are kept. Except that, only one single payload type |
- // is accepted. Any packet with another payload type is discarded. |
+ // is accepted. Any packet with another payload type is discarded. Returns |
+ // the number of discarded packets. |
virtual int CheckRedPayloads(PacketList* packet_list, |
const DecoderDatabase& decoder_database); |
private: |
- RTC_DISALLOW_COPY_AND_ASSIGN(PayloadSplitter); |
+ RTC_DISALLOW_COPY_AND_ASSIGN(RedPayloadSplitter); |
}; |
} // namespace webrtc |
-#endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ_PAYLOAD_SPLITTER_H_ |
+#endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ_RED_PAYLOAD_SPLITTER_H_ |