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

Side by Side Diff: talk/media/base/fakemediaengine.h

Issue 1500633002: Refactor handling of AudioOptions. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 5 years 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
« no previous file with comments | « no previous file | talk/media/base/mediachannel.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 704 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 : output_volume_(-1) { 715 : output_volume_(-1) {
716 // Add a fake audio codec. Note that the name must not be "" as there are 716 // Add a fake audio codec. Note that the name must not be "" as there are
717 // sanity checks against that. 717 // sanity checks against that.
718 codecs_.push_back(AudioCodec(101, "fake_audio_codec", 0, 0, 1, 0)); 718 codecs_.push_back(AudioCodec(101, "fake_audio_codec", 0, 0, 1, 0));
719 } 719 }
720 bool Init(rtc::Thread* worker_thread) { return true; } 720 bool Init(rtc::Thread* worker_thread) { return true; }
721 void Terminate() {} 721 void Terminate() {}
722 rtc::scoped_refptr<webrtc::AudioState> GetAudioState() const { 722 rtc::scoped_refptr<webrtc::AudioState> GetAudioState() const {
723 return rtc::scoped_refptr<webrtc::AudioState>(); 723 return rtc::scoped_refptr<webrtc::AudioState>();
724 } 724 }
725 AudioOptions GetOptions() const {
726 return options_;
727 }
728 bool SetOptions(const AudioOptions& options) {
729 options_ = options;
730 options_changed_ = true;
731 return true;
732 }
733 725
734 VoiceMediaChannel* CreateChannel(webrtc::Call* call, 726 VoiceMediaChannel* CreateChannel(webrtc::Call* call,
735 const AudioOptions& options) { 727 const AudioOptions& options) {
736 if (fail_create_channel_) { 728 if (fail_create_channel_) {
737 return nullptr; 729 return nullptr;
738 } 730 }
739 731
740 FakeVoiceMediaChannel* ch = new FakeVoiceMediaChannel(this, options); 732 FakeVoiceMediaChannel* ch = new FakeVoiceMediaChannel(this, options);
741 channels_.push_back(ch); 733 channels_.push_back(ch);
742 return ch; 734 return ch;
743 } 735 }
744 FakeVoiceMediaChannel* GetChannel(size_t index) { 736 FakeVoiceMediaChannel* GetChannel(size_t index) {
745 return (channels_.size() > index) ? channels_[index] : NULL; 737 return (channels_.size() > index) ? channels_[index] : NULL;
746 } 738 }
747 void UnregisterChannel(VoiceMediaChannel* channel) { 739 void UnregisterChannel(VoiceMediaChannel* channel) {
748 channels_.erase(std::find(channels_.begin(), channels_.end(), channel)); 740 channels_.erase(std::find(channels_.begin(), channels_.end(), channel));
749 } 741 }
750 742
751 const std::vector<AudioCodec>& codecs() { return codecs_; } 743 const std::vector<AudioCodec>& codecs() { return codecs_; }
752 void SetCodecs(const std::vector<AudioCodec> codecs) { codecs_ = codecs; } 744 void SetCodecs(const std::vector<AudioCodec> codecs) { codecs_ = codecs; }
753 745
754 bool SetDevices(const Device* in_device, const Device* out_device) {
755 in_device_ = (in_device) ? in_device->name : "";
756 out_device_ = (out_device) ? out_device->name : "";
757 options_changed_ = true;
758 return true;
759 }
760
761 bool GetOutputVolume(int* level) { 746 bool GetOutputVolume(int* level) {
762 *level = output_volume_; 747 *level = output_volume_;
763 return true; 748 return true;
764 } 749 }
765
766 bool SetOutputVolume(int level) { 750 bool SetOutputVolume(int level) {
767 output_volume_ = level; 751 output_volume_ = level;
768 options_changed_ = true;
769 return true; 752 return true;
770 } 753 }
771 754
772 int GetInputLevel() { return 0; } 755 int GetInputLevel() { return 0; }
773 756
774 bool StartAecDump(rtc::PlatformFile file) { return false; } 757 bool StartAecDump(rtc::PlatformFile file) { return false; }
775 758
776 void StopAecDump() {} 759 void StopAecDump() {}
777 760
778 bool StartRtcEventLog(rtc::PlatformFile file) { return false; } 761 bool StartRtcEventLog(rtc::PlatformFile file) { return false; }
779 762
780 void StopRtcEventLog() {} 763 void StopRtcEventLog() {}
781 764
782 private: 765 private:
783 std::vector<FakeVoiceMediaChannel*> channels_; 766 std::vector<FakeVoiceMediaChannel*> channels_;
784 std::vector<AudioCodec> codecs_; 767 std::vector<AudioCodec> codecs_;
785 int output_volume_; 768 int output_volume_;
786 std::string in_device_;
787 std::string out_device_;
788 AudioOptions options_;
789 769
790 friend class FakeMediaEngine; 770 friend class FakeMediaEngine;
791 }; 771 };
792 772
793 class FakeVideoEngine : public FakeBaseEngine { 773 class FakeVideoEngine : public FakeBaseEngine {
794 public: 774 public:
795 FakeVideoEngine() : capture_(false) { 775 FakeVideoEngine() : capture_(false) {
796 // Add a fake video codec. Note that the name must not be "" as there are 776 // Add a fake video codec. Note that the name must not be "" as there are
797 // sanity checks against that. 777 // sanity checks against that.
798 codecs_.push_back(VideoCodec(0, "fake_video_codec", 0, 0, 0, 0)); 778 codecs_.push_back(VideoCodec(0, "fake_video_codec", 0, 0, 0, 0));
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 std::string in_device_; 836 std::string in_device_;
857 bool capture_; 837 bool capture_;
858 VideoOptions options_; 838 VideoOptions options_;
859 839
860 friend class FakeMediaEngine; 840 friend class FakeMediaEngine;
861 }; 841 };
862 842
863 class FakeMediaEngine : 843 class FakeMediaEngine :
864 public CompositeMediaEngine<FakeVoiceEngine, FakeVideoEngine> { 844 public CompositeMediaEngine<FakeVoiceEngine, FakeVideoEngine> {
865 public: 845 public:
866 FakeMediaEngine() { 846 FakeMediaEngine() {}
867 voice_ = FakeVoiceEngine();
868 video_ = FakeVideoEngine();
869 }
870 virtual ~FakeMediaEngine() {} 847 virtual ~FakeMediaEngine() {}
871 848
872 void SetAudioCodecs(const std::vector<AudioCodec>& codecs) { 849 void SetAudioCodecs(const std::vector<AudioCodec>& codecs) {
873 voice_.SetCodecs(codecs); 850 voice_.SetCodecs(codecs);
874 } 851 }
875 void SetVideoCodecs(const std::vector<VideoCodec>& codecs) { 852 void SetVideoCodecs(const std::vector<VideoCodec>& codecs) {
876 video_.SetCodecs(codecs); 853 video_.SetCodecs(codecs);
877 } 854 }
878 855
879 void SetAudioRtpHeaderExtensions( 856 void SetAudioRtpHeaderExtensions(
880 const std::vector<RtpHeaderExtension>& extensions) { 857 const std::vector<RtpHeaderExtension>& extensions) {
881 voice_.set_rtp_header_extensions(extensions); 858 voice_.set_rtp_header_extensions(extensions);
882 } 859 }
883 void SetVideoRtpHeaderExtensions( 860 void SetVideoRtpHeaderExtensions(
884 const std::vector<RtpHeaderExtension>& extensions) { 861 const std::vector<RtpHeaderExtension>& extensions) {
885 video_.set_rtp_header_extensions(extensions); 862 video_.set_rtp_header_extensions(extensions);
886 } 863 }
887 864
888 FakeVoiceMediaChannel* GetVoiceChannel(size_t index) { 865 FakeVoiceMediaChannel* GetVoiceChannel(size_t index) {
889 return voice_.GetChannel(index); 866 return voice_.GetChannel(index);
890 } 867 }
891 FakeVideoMediaChannel* GetVideoChannel(size_t index) { 868 FakeVideoMediaChannel* GetVideoChannel(size_t index) {
892 return video_.GetChannel(index); 869 return video_.GetChannel(index);
893 } 870 }
894 871
895 AudioOptions audio_options() const { return voice_.options_; }
896 int output_volume() const { return voice_.output_volume_; } 872 int output_volume() const { return voice_.output_volume_; }
897 const VideoEncoderConfig& default_video_encoder_config() const { 873 const VideoEncoderConfig& default_video_encoder_config() const {
898 return video_.default_encoder_config_; 874 return video_.default_encoder_config_;
899 } 875 }
900 const std::string& audio_in_device() const { return voice_.in_device_; }
901 const std::string& audio_out_device() const { return voice_.out_device_; }
902 bool capture() const { return video_.capture_; } 876 bool capture() const { return video_.capture_; }
903 bool options_changed() const { 877 bool options_changed() const {
904 return voice_.options_changed_ || video_.options_changed_; 878 return video_.options_changed_;
905 } 879 }
906 void clear_options_changed() { 880 void clear_options_changed() {
907 video_.options_changed_ = false; 881 video_.options_changed_ = false;
908 voice_.options_changed_ = false;
909 } 882 }
910 void set_fail_create_channel(bool fail) { 883 void set_fail_create_channel(bool fail) {
911 voice_.set_fail_create_channel(fail); 884 voice_.set_fail_create_channel(fail);
912 video_.set_fail_create_channel(fail); 885 video_.set_fail_create_channel(fail);
913 } 886 }
914 }; 887 };
915 888
916 // CompositeMediaEngine with FakeVoiceEngine to expose SetAudioCodecs to 889 // CompositeMediaEngine with FakeVoiceEngine to expose SetAudioCodecs to
917 // establish a media connectionwith minimum set of audio codes required 890 // establish a media connectionwith minimum set of audio codes required
918 template <class VIDEO> 891 template <class VIDEO>
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
969 942
970 private: 943 private:
971 std::vector<FakeDataMediaChannel*> channels_; 944 std::vector<FakeDataMediaChannel*> channels_;
972 std::vector<DataCodec> data_codecs_; 945 std::vector<DataCodec> data_codecs_;
973 DataChannelType last_channel_type_; 946 DataChannelType last_channel_type_;
974 }; 947 };
975 948
976 } // namespace cricket 949 } // namespace cricket
977 950
978 #endif // TALK_MEDIA_BASE_FAKEMEDIAENGINE_H_ 951 #endif // TALK_MEDIA_BASE_FAKEMEDIAENGINE_H_
OLDNEW
« no previous file with comments | « no previous file | talk/media/base/mediachannel.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698