Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(216)

Side by Side Diff: webrtc/modules/audio_device/linux/audio_device_pulse_linux.cc

Issue 3006803002: Removes unused APIs from the ADM (part II) (Closed)
Patch Set: nit Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 22 matching lines...) Expand all
33 _timeEventPlay(*EventWrapper::Create()), 33 _timeEventPlay(*EventWrapper::Create()),
34 _recStartEvent(*EventWrapper::Create()), 34 _recStartEvent(*EventWrapper::Create()),
35 _playStartEvent(*EventWrapper::Create()), 35 _playStartEvent(*EventWrapper::Create()),
36 _inputDeviceIndex(0), 36 _inputDeviceIndex(0),
37 _outputDeviceIndex(0), 37 _outputDeviceIndex(0),
38 _inputDeviceIsSpecified(false), 38 _inputDeviceIsSpecified(false),
39 _outputDeviceIsSpecified(false), 39 _outputDeviceIsSpecified(false),
40 sample_rate_hz_(0), 40 sample_rate_hz_(0),
41 _recChannels(1), 41 _recChannels(1),
42 _playChannels(1), 42 _playChannels(1),
43 _playBufType(AudioDeviceModule::kFixedBufferSize),
44 _initialized(false), 43 _initialized(false),
45 _recording(false), 44 _recording(false),
46 _playing(false), 45 _playing(false),
47 _recIsInitialized(false), 46 _recIsInitialized(false),
48 _playIsInitialized(false), 47 _playIsInitialized(false),
49 _startRec(false), 48 _startRec(false),
50 _stopRec(false), 49 _stopRec(false),
51 _startPlay(false), 50 _startPlay(false),
52 _stopPlay(false), 51 _stopPlay(false),
53 _AGC(false), 52 _AGC(false),
54 update_speaker_volume_at_startup_(false), 53 update_speaker_volume_at_startup_(false),
55 _playBufDelayFixed(20),
56 _sndCardPlayDelay(0), 54 _sndCardPlayDelay(0),
57 _sndCardRecDelay(0), 55 _sndCardRecDelay(0),
58 _writeErrors(0), 56 _writeErrors(0),
59 _playWarning(0), 57 _playWarning(0),
60 _playError(0), 58 _playError(0),
61 _recWarning(0), 59 _recWarning(0),
62 _recError(0), 60 _recError(0),
63 _deviceIndex(-1), 61 _deviceIndex(-1),
64 _numPlayDevices(0), 62 _numPlayDevices(0),
65 _numRecDevices(0), 63 _numRecDevices(0),
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 389
392 if (_mixerManager.MinSpeakerVolume(minVol) == -1) { 390 if (_mixerManager.MinSpeakerVolume(minVol) == -1) {
393 return -1; 391 return -1;
394 } 392 }
395 393
396 minVolume = minVol; 394 minVolume = minVol;
397 395
398 return 0; 396 return 0;
399 } 397 }
400 398
401 int32_t AudioDeviceLinuxPulse::SpeakerVolumeStepSize(uint16_t& stepSize) const {
402 RTC_DCHECK(thread_checker_.CalledOnValidThread());
403 uint16_t delta(0);
404
405 if (_mixerManager.SpeakerVolumeStepSize(delta) == -1) {
406 return -1;
407 }
408
409 stepSize = delta;
410
411 return 0;
412 }
413
414 int32_t AudioDeviceLinuxPulse::SpeakerMuteIsAvailable(bool& available) { 399 int32_t AudioDeviceLinuxPulse::SpeakerMuteIsAvailable(bool& available) {
415 RTC_DCHECK(thread_checker_.CalledOnValidThread()); 400 RTC_DCHECK(thread_checker_.CalledOnValidThread());
416 bool isAvailable(false); 401 bool isAvailable(false);
417 bool wasInitialized = _mixerManager.SpeakerIsInitialized(); 402 bool wasInitialized = _mixerManager.SpeakerIsInitialized();
418 403
419 // Make an attempt to open up the 404 // Make an attempt to open up the
420 // output mixer corresponding to the currently selected output device. 405 // output mixer corresponding to the currently selected output device.
421 // 406 //
422 if (!wasInitialized && InitSpeaker() == -1) { 407 if (!wasInitialized && InitSpeaker() == -1) {
423 // If we end up here it means that the selected speaker has no volume 408 // If we end up here it means that the selected speaker has no volume
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 RTC_DCHECK(thread_checker_.CalledOnValidThread()); 480 RTC_DCHECK(thread_checker_.CalledOnValidThread());
496 bool muted(0); 481 bool muted(0);
497 if (_mixerManager.MicrophoneMute(muted) == -1) { 482 if (_mixerManager.MicrophoneMute(muted) == -1) {
498 return -1; 483 return -1;
499 } 484 }
500 485
501 enabled = muted; 486 enabled = muted;
502 return 0; 487 return 0;
503 } 488 }
504 489
505 int32_t AudioDeviceLinuxPulse::MicrophoneBoostIsAvailable(bool& available) {
506 RTC_DCHECK(thread_checker_.CalledOnValidThread());
507 bool isAvailable(false);
508 bool wasInitialized = _mixerManager.MicrophoneIsInitialized();
509
510 // Enumerate all avaliable microphone and make an attempt to open up the
511 // input mixer corresponding to the currently selected input device.
512 //
513 if (!wasInitialized && InitMicrophone() == -1) {
514 // If we end up here it means that the selected microphone has no
515 // volume control, hence it is safe to state that there is no
516 // boost control already at this stage.
517 available = false;
518 return 0;
519 }
520
521 // Check if the selected microphone has a boost control
522 _mixerManager.MicrophoneBoostIsAvailable(isAvailable);
523 available = isAvailable;
524
525 // Close the initialized input mixer
526 if (!wasInitialized) {
527 _mixerManager.CloseMicrophone();
528 }
529
530 return 0;
531 }
532
533 int32_t AudioDeviceLinuxPulse::SetMicrophoneBoost(bool enable) {
534 RTC_DCHECK(thread_checker_.CalledOnValidThread());
535 return (_mixerManager.SetMicrophoneBoost(enable));
536 }
537
538 int32_t AudioDeviceLinuxPulse::MicrophoneBoost(bool& enabled) const {
539 RTC_DCHECK(thread_checker_.CalledOnValidThread());
540 bool onOff(0);
541
542 if (_mixerManager.MicrophoneBoost(onOff) == -1) {
543 return -1;
544 }
545
546 enabled = onOff;
547
548 return 0;
549 }
550
551 int32_t AudioDeviceLinuxPulse::StereoRecordingIsAvailable(bool& available) { 490 int32_t AudioDeviceLinuxPulse::StereoRecordingIsAvailable(bool& available) {
552 RTC_DCHECK(thread_checker_.CalledOnValidThread()); 491 RTC_DCHECK(thread_checker_.CalledOnValidThread());
553 if (_recChannels == 2 && _recording) { 492 if (_recChannels == 2 && _recording) {
554 available = true; 493 available = true;
555 return 0; 494 return 0;
556 } 495 }
557 496
558 available = false; 497 available = false;
559 bool wasInitialized = _mixerManager.MicrophoneIsInitialized(); 498 bool wasInitialized = _mixerManager.MicrophoneIsInitialized();
560 int error = 0; 499 int error = 0;
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 659
721 if (_mixerManager.MinMicrophoneVolume(minVol) == -1) { 660 if (_mixerManager.MinMicrophoneVolume(minVol) == -1) {
722 return -1; 661 return -1;
723 } 662 }
724 663
725 minVolume = minVol; 664 minVolume = minVol;
726 665
727 return 0; 666 return 0;
728 } 667 }
729 668
730 int32_t AudioDeviceLinuxPulse::MicrophoneVolumeStepSize(
731 uint16_t& stepSize) const {
732 RTC_DCHECK(thread_checker_.CalledOnValidThread());
733 uint16_t delta(0);
734
735 if (_mixerManager.MicrophoneVolumeStepSize(delta) == -1) {
736 return -1;
737 }
738
739 stepSize = delta;
740
741 return 0;
742 }
743
744 int16_t AudioDeviceLinuxPulse::PlayoutDevices() { 669 int16_t AudioDeviceLinuxPulse::PlayoutDevices() {
745 PaLock(); 670 PaLock();
746 671
747 pa_operation* paOperation = NULL; 672 pa_operation* paOperation = NULL;
748 _numPlayDevices = 1; // init to 1 to account for "default" 673 _numPlayDevices = 1; // init to 1 to account for "default"
749 674
750 // get the whole list of devices and update _numPlayDevices 675 // get the whole list of devices and update _numPlayDevices
751 paOperation = 676 paOperation =
752 LATE(pa_context_get_sink_info_list)(_paContext, PaSinkInfoCallback, this); 677 LATE(pa_context_get_sink_info_list)(_paContext, PaSinkInfoCallback, this);
753 678
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 RTC_DCHECK(thread_checker_.CalledOnValidThread()); 1285 RTC_DCHECK(thread_checker_.CalledOnValidThread());
1361 delayMS = (uint16_t)_sndCardRecDelay; 1286 delayMS = (uint16_t)_sndCardRecDelay;
1362 return 0; 1287 return 0;
1363 } 1288 }
1364 1289
1365 bool AudioDeviceLinuxPulse::Playing() const { 1290 bool AudioDeviceLinuxPulse::Playing() const {
1366 RTC_DCHECK(thread_checker_.CalledOnValidThread()); 1291 RTC_DCHECK(thread_checker_.CalledOnValidThread());
1367 return (_playing); 1292 return (_playing);
1368 } 1293 }
1369 1294
1370 int32_t AudioDeviceLinuxPulse::SetPlayoutBuffer(
1371 const AudioDeviceModule::BufferType type,
1372 uint16_t sizeMS) {
1373 RTC_DCHECK(thread_checker_.CalledOnValidThread());
1374 if (type != AudioDeviceModule::kFixedBufferSize) {
1375 LOG(LS_ERROR) << "Adaptive buffer size not supported on this platform";
1376 return -1;
1377 }
1378
1379 _playBufType = type;
1380 _playBufDelayFixed = sizeMS;
1381
1382 return 0;
1383 }
1384
1385 int32_t AudioDeviceLinuxPulse::PlayoutBuffer(
1386 AudioDeviceModule::BufferType& type,
1387 uint16_t& sizeMS) const {
1388 RTC_DCHECK(thread_checker_.CalledOnValidThread());
1389 type = _playBufType;
1390 sizeMS = _playBufDelayFixed;
1391
1392 return 0;
1393 }
1394
1395 int32_t AudioDeviceLinuxPulse::CPULoad(uint16_t& /*load*/) const {
1396 LOG(LS_WARNING) << "API call not supported on this platform";
1397 return -1;
1398 }
1399
1400 bool AudioDeviceLinuxPulse::PlayoutWarning() const { 1295 bool AudioDeviceLinuxPulse::PlayoutWarning() const {
1401 rtc::CritScope lock(&_critSect); 1296 rtc::CritScope lock(&_critSect);
1402 return (_playWarning > 0); 1297 return (_playWarning > 0);
1403 } 1298 }
1404 1299
1405 bool AudioDeviceLinuxPulse::PlayoutError() const { 1300 bool AudioDeviceLinuxPulse::PlayoutError() const {
1406 rtc::CritScope lock(&_critSect); 1301 rtc::CritScope lock(&_critSect);
1407 return (_playError > 0); 1302 return (_playError > 0);
1408 } 1303 }
1409 1304
(...skipping 1093 matching lines...) Expand 10 before | Expand all | Expand 10 after
2503 2398
2504 // A bit change in keymap means a key is pressed 2399 // A bit change in keymap means a key is pressed
2505 for (i = 0; i < sizeof(szKey); i++) 2400 for (i = 0; i < sizeof(szKey); i++)
2506 state |= (szKey[i] ^ _oldKeyState[i]) & szKey[i]; 2401 state |= (szKey[i] ^ _oldKeyState[i]) & szKey[i];
2507 2402
2508 // Save old state 2403 // Save old state
2509 memcpy((char*)_oldKeyState, (char*)szKey, sizeof(_oldKeyState)); 2404 memcpy((char*)_oldKeyState, (char*)szKey, sizeof(_oldKeyState));
2510 return (state != 0); 2405 return (state != 0);
2511 } 2406 }
2512 } // namespace webrtc 2407 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698