I420VideoFrame: Remove function ResetSize
This is a partial reland of https://webrtc-codereview.appspot.com/39939004/. The original CL was reverted because ViECapturer use ResetSize/IsZeroSize on |captured_frame_| as a check to make sure each captured frame is only delivered once. Removing ResetSize introduced a race condition where a captured frame could be delivered multiple times. I have fixed this problem in this CL by replacing ResetSize with scoped_ptr::release. BUG=4352 R=perkj@webrtc.org, tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/39359004 Cr-Commit-Position: refs/heads/master@{#8561} git-svn-id: http://webrtc.googlecode.com/svn/trunk@8561 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@ -71,12 +71,12 @@ MATCHER_P(MatchesVp8StreamInfo, expected, "") {
|
||||
class EmptyFrameGenerator : public FrameGenerator {
|
||||
public:
|
||||
virtual I420VideoFrame* NextFrame() OVERRIDE {
|
||||
frame_.ResetSize();
|
||||
return &frame_;
|
||||
frame_.reset(new I420VideoFrame());
|
||||
return frame_.get();
|
||||
}
|
||||
|
||||
private:
|
||||
I420VideoFrame frame_;
|
||||
rtc::scoped_ptr<I420VideoFrame> frame_;
|
||||
};
|
||||
|
||||
class PacketizationCallback : public VCMPacketizationCallback {
|
||||
|
||||
Reference in New Issue
Block a user