Index: webrtc/modules/video_coding/packet_buffer.h |
diff --git a/webrtc/modules/video_coding/packet_buffer.h b/webrtc/modules/video_coding/packet_buffer.h |
index ec187de086506c7056373b31fd2184d63dddddfb..67e1713ef0c1a3eb852625f8267cb8a29d2ee9a2 100644 |
--- a/webrtc/modules/video_coding/packet_buffer.h |
+++ b/webrtc/modules/video_coding/packet_buffer.h |
@@ -14,6 +14,8 @@ |
#include <vector> |
#include "webrtc/base/criticalsection.h" |
+#include "webrtc/base/refcount.h" |
danilchap
2016/08/02 15:29:34
not needed now
|
+#include "webrtc/base/scoped_ref_ptr.h" |
#include "webrtc/base/thread_annotations.h" |
#include "webrtc/modules/include/module_common_types.h" |
#include "webrtc/modules/video_coding/packet.h" |
@@ -37,17 +39,27 @@ class OnCompleteFrameCallback { |
class PacketBuffer { |
public: |
- // Both |start_buffer_size| and |max_buffer_size| must be a power of 2. |
- PacketBuffer(Clock* clock, |
- size_t start_buffer_size, |
- size_t max_buffer_size, |
- OnCompleteFrameCallback* frame_callback); |
+ static rtc::scoped_refptr<PacketBuffer> Create( |
+ Clock* clock, |
+ size_t start_buffer_size, |
+ size_t max_buffer_size, |
+ OnCompleteFrameCallback* frame_callback); |
bool InsertPacket(const VCMPacket& packet); |
void ClearTo(uint16_t seq_num); |
void Clear(); |
+ void Stop(); |
+ |
+ int AddRef() const; |
+ int Release() const; |
private: |
+ // Both |start_buffer_size| and |max_buffer_size| must be a power of 2. |
+ PacketBuffer(Clock* clock, |
+ size_t start_buffer_size, |
+ size_t max_buffer_size, |
+ OnCompleteFrameCallback* frame_callback); |
+ |
friend RtpFrameObject; |
// Since we want the packet buffer to be as packet type agnostic |
// as possible we extract only the information needed in order |
@@ -118,6 +130,8 @@ class PacketBuffer { |
// Frames that have received all their packets are handed off to the |
// |reference_finder_| which finds the dependencies between the frames. |
RtpFrameReferenceFinder reference_finder_; |
+ |
+ mutable volatile int ref_count_ = 0; |
}; |
} // namespace video_coding |