From 2877bdc590ebc565e070557c0a1690fa04b35bd9 Mon Sep 17 00:00:00 2001 From: "mflodman@webrtc.org" Date: Tue, 17 Jan 2012 12:18:16 +0000 Subject: [PATCH] Cleaned up resource leaks. BUG=C-10059, C-10228, C-10229. Review URL: https://webrtc-codereview.appspot.com/345013 git-svn-id: http://webrtc.googlecode.com/svn/trunk@1439 4adac7df-926f-26a2-2b94-8c16560cd09d --- src/video_engine/vie_file_image.cc | 1 + src/video_engine/vie_file_impl.cc | 6 +++--- src/video_engine/vie_file_impl.h | 2 +- src/video_engine/vie_network_impl.cc | 2 ++ 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/video_engine/vie_file_image.cc b/src/video_engine/vie_file_image.cc index d76a667962..b8a7246684 100644 --- a/src/video_engine/vie_file_image.cc +++ b/src/video_engine/vie_file_image.cc @@ -43,6 +43,7 @@ int ViEFileImage::ConvertJPEGToVideoFrame(int engine_id, image_buffer._size, image_file)) { WEBRTC_TRACE(kTraceError, kTraceVideo, engine_id, "%s could not read file %s", __FUNCTION__, file_nameUTF8); + fclose(image_file); delete [] image_buffer._buffer; return -1; } diff --git a/src/video_engine/vie_file_impl.cc b/src/video_engine/vie_file_impl.cc index 9c6c79c60d..c4f1376437 100644 --- a/src/video_engine/vie_file_impl.cc +++ b/src/video_engine/vie_file_impl.cc @@ -949,7 +949,7 @@ VideoFrame& video_frame) { ViECaptureSnapshot::ViECaptureSnapshot() : crit_(CriticalSectionWrapper::CreateCriticalSection()), - condition_varaible_(*ConditionVariableWrapper::CreateConditionVariable()), + condition_varaible_(ConditionVariableWrapper::CreateConditionVariable()), video_frame_(NULL) { } @@ -964,7 +964,7 @@ bool ViECaptureSnapshot::GetSnapshot(VideoFrame& video_frame, unsigned int max_wait_time) { crit_->Enter(); video_frame_ = new VideoFrame(); - if (condition_varaible_.SleepCS(*(crit_.get()), max_wait_time)) { + if (condition_varaible_->SleepCS(*(crit_.get()), max_wait_time)) { // Snapshot taken. video_frame.SwapFrame(*video_frame_); delete video_frame_; @@ -984,7 +984,7 @@ const WebRtc_UWord32 CSRC[kRtpCsrcSize]) { return; } video_frame_->SwapFrame(video_frame); - condition_varaible_.WakeAll(); + condition_varaible_->WakeAll(); return; } diff --git a/src/video_engine/vie_file_impl.h b/src/video_engine/vie_file_impl.h index 07a8a7f5aa..0fd71880be 100644 --- a/src/video_engine/vie_file_impl.h +++ b/src/video_engine/vie_file_impl.h @@ -43,7 +43,7 @@ class ViECaptureSnapshot : public ViEFrameCallback { private: scoped_ptr crit_; - ConditionVariableWrapper& condition_varaible_; + scoped_ptr condition_varaible_; VideoFrame* video_frame_; }; diff --git a/src/video_engine/vie_network_impl.cc b/src/video_engine/vie_network_impl.cc index dc4c4140bd..a452f04785 100644 --- a/src/video_engine/vie_network_impl.cc +++ b/src/video_engine/vie_network_impl.cc @@ -354,6 +354,7 @@ int ViENetworkImpl::GetLocalIP(char ip_address[64], bool ipv6) { if (ipv6) { WebRtc_UWord8 local_ip[16]; if (socket_transport->LocalHostAddressIPV6(local_ip) != 0) { + UdpTransport::Destroy(socket_transport); WEBRTC_TRACE(kTraceError, kTraceVideo, ViEId(instance_id_), "%s: Could not get local IP", __FUNCTION__); SetLastError(kViENetworkUnknownError); @@ -370,6 +371,7 @@ int ViENetworkImpl::GetLocalIP(char ip_address[64], bool ipv6) { } else { WebRtc_UWord32 local_ip = 0; if (socket_transport->LocalHostAddress(local_ip) != 0) { + UdpTransport::Destroy(socket_transport); WEBRTC_TRACE(kTraceError, kTraceVideo, ViEId(instance_id_), "%s: Could not get local IP", __FUNCTION__); SetLastError(kViENetworkUnknownError);