Correcting VieChannelManager bug.
Review URL: http://webrtc-codereview.appspot.com/337010 git-svn-id: http://webrtc.googlecode.com/svn/trunk@1320 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
de5a10a044
commit
adec9271b0
@ -473,10 +473,18 @@ bool ViEChannelManager::ChannelUsingViEEncoder(int channel_id) const {
|
|||||||
void ViEChannelManager::ChannelsUsingViEEncoder(int channel_id,
|
void ViEChannelManager::ChannelsUsingViEEncoder(int channel_id,
|
||||||
ChannelList* channels) const {
|
ChannelList* channels) const {
|
||||||
CriticalSectionScoped cs(*channel_id_critsect_);
|
CriticalSectionScoped cs(*channel_id_critsect_);
|
||||||
assert(vie_encoder_map_.Find(channel_id));
|
MapItem* original_item = vie_encoder_map_.Find(channel_id);
|
||||||
|
assert(original_item);
|
||||||
|
ViEEncoder* original_encoder =
|
||||||
|
static_cast<ViEEncoder*>(original_item->GetItem());
|
||||||
|
|
||||||
MapItem* channel_item = channel_map_.First();
|
MapItem* channel_item = channel_map_.First();
|
||||||
while (channel_item) {
|
while (channel_item) {
|
||||||
if (vie_encoder_map_.Find(channel_item->GetId())) {
|
MapItem* compare_item = vie_encoder_map_.Find(channel_item->GetId());
|
||||||
|
assert(compare_item);
|
||||||
|
ViEEncoder* compare_encoder =
|
||||||
|
static_cast<ViEEncoder*>(compare_item->GetItem());
|
||||||
|
if (compare_encoder == original_encoder) {
|
||||||
channels->push_back(static_cast<ViEChannel*>(channel_item->GetItem()));
|
channels->push_back(static_cast<ViEChannel*>(channel_item->GetItem()));
|
||||||
}
|
}
|
||||||
channel_item = channel_map_.Next(channel_item);
|
channel_item = channel_map_.Next(channel_item);
|
||||||
|
Loading…
Reference in New Issue
Block a user