From e21cc9ae2a72b93863572d17bd5297aaa44923ea Mon Sep 17 00:00:00 2001 From: "jiayl@webrtc.org" Date: Thu, 28 Aug 2014 22:21:34 +0000 Subject: [PATCH] When the peerconnection creates the offer with a constraint to disable the audio offering, stats will not get properly updated. constraints . SetMandatoryReceiveAudio (false); The problem is that webrtc::GetTrackIdBySsrc returns false if audio is not available. However it should continue and check for the video track. BUG=webrtc:3755 R=jiayl@webrtc.org, juberti@webrtc.org Review URL: https://webrtc-codereview.appspot.com/22479004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7005 4adac7df-926f-26a2-2b94-8c16560cd09d --- talk/app/webrtc/webrtcsession.cc | 34 +++++++++++++++----------------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/talk/app/webrtc/webrtcsession.cc b/talk/app/webrtc/webrtcsession.cc index b90bf2c146..ae81f24923 100644 --- a/talk/app/webrtc/webrtcsession.cc +++ b/talk/app/webrtc/webrtcsession.cc @@ -224,30 +224,28 @@ static bool GetTrackIdBySsrc(const SessionDescription* session_description, cricket::StreamParams stream_out; const cricket::ContentInfo* audio_info = cricket::GetFirstAudioContent(session_description); - if (!audio_info) { - return false; - } - const cricket::MediaContentDescription* audio_content = - static_cast( - audio_info->description); + if (audio_info) { + const cricket::MediaContentDescription* audio_content = + static_cast( + audio_info->description); - if (cricket::GetStreamBySsrc(audio_content->streams(), ssrc, &stream_out)) { - *track_id = stream_out.id; - return true; + if (cricket::GetStreamBySsrc(audio_content->streams(), ssrc, &stream_out)) { + *track_id = stream_out.id; + return true; + } } const cricket::ContentInfo* video_info = cricket::GetFirstVideoContent(session_description); - if (!video_info) { - return false; - } - const cricket::MediaContentDescription* video_content = - static_cast( - video_info->description); + if (video_info) { + const cricket::MediaContentDescription* video_content = + static_cast( + video_info->description); - if (cricket::GetStreamBySsrc(video_content->streams(), ssrc, &stream_out)) { - *track_id = stream_out.id; - return true; + if (cricket::GetStreamBySsrc(video_content->streams(), ssrc, &stream_out)) { + *track_id = stream_out.id; + return true; + } } return false; }