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 |