| OLD | NEW | 
|    1 // Copyright 2013 The Chromium Authors. All rights reserved. |    1 // Copyright 2013 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #include <algorithm> |    5 #include <algorithm> | 
|    6 #include <climits> |    6 #include <climits> | 
|    7 #include <cstdarg> |    7 #include <cstdarg> | 
|    8 #include <cstdio> |    8 #include <cstdio> | 
|    9 #include <deque> |    9 #include <deque> | 
|   10 #include <map> |   10 #include <map> | 
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  145  |  145  | 
|  146 FrameReceiverConfig GetVideoReceiverConfig() { |  146 FrameReceiverConfig GetVideoReceiverConfig() { | 
|  147   FrameReceiverConfig video_config = GetDefaultVideoReceiverConfig(); |  147   FrameReceiverConfig video_config = GetDefaultVideoReceiverConfig(); | 
|  148   GetVideoSsrcs(&video_config); |  148   GetVideoSsrcs(&video_config); | 
|  149   GetVideoPayloadtype(&video_config); |  149   GetVideoPayloadtype(&video_config); | 
|  150   video_config.rtp_max_delay_ms = 300; |  150   video_config.rtp_max_delay_ms = 300; | 
|  151   return video_config; |  151   return video_config; | 
|  152 } |  152 } | 
|  153  |  153  | 
|  154 AudioParameters ToAudioParameters(const FrameReceiverConfig& config) { |  154 AudioParameters ToAudioParameters(const FrameReceiverConfig& config) { | 
|  155   const int samples_in_10ms = config.frequency / 100; |  155   const int samples_in_10ms = config.rtp_timebase / 100; | 
|  156   return AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, |  156   return AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, | 
|  157                          GuessChannelLayout(config.channels), |  157                          GuessChannelLayout(config.channels), | 
|  158                          config.frequency, 32, samples_in_10ms); |  158                          config.rtp_timebase, 32, samples_in_10ms); | 
|  159 } |  159 } | 
|  160  |  160  | 
|  161 // An InProcessReceiver that renders video frames to a LinuxOutputWindow and |  161 // An InProcessReceiver that renders video frames to a LinuxOutputWindow and | 
|  162 // audio frames via Chromium's audio stack. |  162 // audio frames via Chromium's audio stack. | 
|  163 // |  163 // | 
|  164 // InProcessReceiver pushes audio and video frames to this subclass, and these |  164 // InProcessReceiver pushes audio and video frames to this subclass, and these | 
|  165 // frames are pushed into a queue.  Then, for audio, the Chromium audio stack |  165 // frames are pushed into a queue.  Then, for audio, the Chromium audio stack | 
|  166 // will make polling calls on a separate, unknown thread whereby audio frames |  166 // will make polling calls on a separate, unknown thread whereby audio frames | 
|  167 // are pulled out of the audio queue as needed.  For video, however, NaivePlayer |  167 // are pulled out of the audio queue as needed.  For video, however, NaivePlayer | 
|  168 // is responsible for scheduling updates to the screen itself.  For both, the |  168 // is responsible for scheduling updates to the screen itself.  For both, the | 
| (...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  591                                   audio_config, |  591                                   audio_config, | 
|  592                                   video_config, |  592                                   video_config, | 
|  593                                   window_width, |  593                                   window_width, | 
|  594                                   window_height); |  594                                   window_height); | 
|  595   player.Start(); |  595   player.Start(); | 
|  596  |  596  | 
|  597   base::MessageLoop().Run();  // Run forever (i.e., until SIGTERM). |  597   base::MessageLoop().Run();  // Run forever (i.e., until SIGTERM). | 
|  598   NOTREACHED(); |  598   NOTREACHED(); | 
|  599   return 0; |  599   return 0; | 
|  600 } |  600 } | 
| OLD | NEW |