| OLD | NEW |
| 1 /* | 1 /* |
| 2 * libjingle | 2 * libjingle |
| 3 * Copyright 2004 Google Inc. | 3 * Copyright 2004 Google Inc. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
| 9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 return true; | 301 return true; |
| 302 } | 302 } |
| 303 virtual bool SetRemoteRenderer(uint32_t ssrc, AudioRenderer* renderer) { | 303 virtual bool SetRemoteRenderer(uint32_t ssrc, AudioRenderer* renderer) { |
| 304 std::map<uint32_t, AudioRenderer*>::iterator it = | 304 std::map<uint32_t, AudioRenderer*>::iterator it = |
| 305 remote_renderers_.find(ssrc); | 305 remote_renderers_.find(ssrc); |
| 306 if (renderer) { | 306 if (renderer) { |
| 307 if (it != remote_renderers_.end()) { | 307 if (it != remote_renderers_.end()) { |
| 308 ASSERT(it->second == renderer); | 308 ASSERT(it->second == renderer); |
| 309 } else { | 309 } else { |
| 310 remote_renderers_.insert(std::make_pair(ssrc, renderer)); | 310 remote_renderers_.insert(std::make_pair(ssrc, renderer)); |
| 311 renderer->AddChannel(0); | |
| 312 } | 311 } |
| 313 } else { | 312 } else { |
| 314 if (it != remote_renderers_.end()) { | 313 if (it != remote_renderers_.end()) { |
| 315 it->second->RemoveChannel(0); | |
| 316 remote_renderers_.erase(it); | 314 remote_renderers_.erase(it); |
| 317 } else { | 315 } else { |
| 318 return false; | 316 return false; |
| 319 } | 317 } |
| 320 } | 318 } |
| 321 return true; | 319 return true; |
| 322 } | 320 } |
| 323 | 321 |
| 324 virtual bool GetActiveStreams(AudioInfo::StreamList* streams) { return true; } | 322 virtual bool GetActiveStreams(AudioInfo::StreamList* streams) { return true; } |
| 325 virtual int GetOutputLevel() { return 0; } | 323 virtual int GetOutputLevel() { return 0; } |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 return true; | 365 return true; |
| 368 } | 366 } |
| 369 | 367 |
| 370 virtual bool GetStats(VoiceMediaInfo* info) { return false; } | 368 virtual bool GetStats(VoiceMediaInfo* info) { return false; } |
| 371 | 369 |
| 372 private: | 370 private: |
| 373 class VoiceChannelAudioSink : public AudioRenderer::Sink { | 371 class VoiceChannelAudioSink : public AudioRenderer::Sink { |
| 374 public: | 372 public: |
| 375 explicit VoiceChannelAudioSink(AudioRenderer* renderer) | 373 explicit VoiceChannelAudioSink(AudioRenderer* renderer) |
| 376 : renderer_(renderer) { | 374 : renderer_(renderer) { |
| 377 renderer_->AddChannel(0); | |
| 378 renderer_->SetSink(this); | 375 renderer_->SetSink(this); |
| 379 } | 376 } |
| 380 virtual ~VoiceChannelAudioSink() { | 377 virtual ~VoiceChannelAudioSink() { |
| 381 if (renderer_) { | 378 if (renderer_) { |
| 382 renderer_->RemoveChannel(0); | |
| 383 renderer_->SetSink(NULL); | 379 renderer_->SetSink(NULL); |
| 384 } | 380 } |
| 385 } | 381 } |
| 386 void OnData(const void* audio_data, | 382 void OnData(const void* audio_data, |
| 387 int bits_per_sample, | 383 int bits_per_sample, |
| 388 int sample_rate, | 384 int sample_rate, |
| 389 int number_of_channels, | 385 int number_of_channels, |
| 390 size_t number_of_frames) override {} | 386 size_t number_of_frames) override {} |
| 391 void OnClose() override { renderer_ = NULL; } | 387 void OnClose() override { renderer_ = NULL; } |
| 392 AudioRenderer* renderer() const { return renderer_; } | 388 AudioRenderer* renderer() const { return renderer_; } |
| (...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1002 | 998 |
| 1003 private: | 999 private: |
| 1004 std::vector<FakeDataMediaChannel*> channels_; | 1000 std::vector<FakeDataMediaChannel*> channels_; |
| 1005 std::vector<DataCodec> data_codecs_; | 1001 std::vector<DataCodec> data_codecs_; |
| 1006 DataChannelType last_channel_type_; | 1002 DataChannelType last_channel_type_; |
| 1007 }; | 1003 }; |
| 1008 | 1004 |
| 1009 } // namespace cricket | 1005 } // namespace cricket |
| 1010 | 1006 |
| 1011 #endif // TALK_MEDIA_BASE_FAKEMEDIAENGINE_H_ | 1007 #endif // TALK_MEDIA_BASE_FAKEMEDIAENGINE_H_ |
| OLD | NEW |