Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1382)

Unified Diff: webrtc/modules/audio_coding/neteq/payload_splitter.h

Issue 2342443005: Moved Opus-specific payload splitting into AudioDecoderOpus. (Closed)
Patch Set: Priority levels are ints, kHighestPriority is gone. Also small cleanups. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_coding/neteq/payload_splitter.h
diff --git a/webrtc/modules/audio_coding/neteq/payload_splitter.h b/webrtc/modules/audio_coding/neteq/payload_splitter.h
index a3e1b1d91c76bd047995407d0f8d80932941e4a4..89c6b1b434de658ddc1217c5a40c5f4c1d8750d8 100644
--- a/webrtc/modules/audio_coding/neteq/payload_splitter.h
+++ b/webrtc/modules/audio_coding/neteq/payload_splitter.h
@@ -19,21 +19,11 @@ 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.
+// This class handles splitting of RED payloads into smaller parts.
+// Codec-specific packet splitting can be performed by
+// AudioDecoder::ParsePayload.
class PayloadSplitter {
public:
- enum SplitterReturnCodes {
- kOK = 0,
- kNoSplit = 1,
- kFrameSplitError = -2,
- kUnknownPayloadType = -3,
- kRedLengthMismatch = -4,
- kFecSplitError = -5,
- };
-
PayloadSplitter() {}
virtual ~PayloadSplitter() {}
@@ -44,17 +34,12 @@ 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);

Powered by Google App Engine
This is Rietveld 408576698