Index: webrtc/modules/audio_coding/codecs/audio_decoder.h |
diff --git a/webrtc/modules/audio_coding/codecs/audio_decoder.h b/webrtc/modules/audio_coding/codecs/audio_decoder.h |
index 7abd86c87fad0b4793e24c1150ad8a2c42fbd57e..9d542dabd3b0effe28dfc01847cb85b87d20b660 100644 |
--- a/webrtc/modules/audio_coding/codecs/audio_decoder.h |
+++ b/webrtc/modules/audio_coding/codecs/audio_decoder.h |
@@ -11,7 +11,7 @@ |
#ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_INCLUDE_AUDIO_DECODER_H_ |
#define WEBRTC_MODULES_AUDIO_CODING_NETEQ_INCLUDE_AUDIO_DECODER_H_ |
-#include <stdlib.h> // NULL |
+#include <vector> |
#include "webrtc/base/array_view.h" |
#include "webrtc/base/buffer.h" |
@@ -33,6 +33,12 @@ class AudioDecoder { |
// Used by PacketDuration below. Save the value -1 for errors. |
enum { kNotImplemented = -2 }; |
+ struct PacketSplit { |
+ size_t byte_offset; |
+ size_t num_bytes; |
+ size_t timestamp_offset; |
+ }; |
+ |
AudioDecoder() = default; |
virtual ~AudioDecoder() = default; |
@@ -118,6 +124,14 @@ class AudioDecoder { |
uint32_t rtp_timestamp, |
uint32_t arrival_timestamp); |
+ // This method is experimental and should not be overriden by external codecs. |
+ // It calculates positions where the packet can be split, and the respective |
+ // timestamps of those positions. It is part of the work to separate codec |
+ // specific functionality from NetEq and will likely be removed soon in favor |
+ // of something much better. |
+ virtual std::vector<PacketSplit> SplitPacket( |
+ rtc::ArrayView<const uint8_t> payload) const; |
kwiberg-webrtc
2016/09/12 02:11:01
If you turned the return value into an output argu
ossu
2016/09/12 11:26:37
I've addressed this in the comment on SplitBySampl
|
+ |
// Returns the last error code from the decoder. |
virtual int ErrorCode(); |