Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_AUDIO_SINK_H_ | 5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_AUDIO_SINK_H_ |
| 6 #define DEVICE_BLUETOOTH_BLUETOOTH_AUDIO_SINK_H_ | 6 #define DEVICE_BLUETOOTH_BLUETOOTH_AUDIO_SINK_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 33 STATE_INVALID, // BluetoothAdapter not presented or not powered. | 33 STATE_INVALID, // BluetoothAdapter not presented or not powered. |
| 34 STATE_DISCONNECTED, // Not connected. | 34 STATE_DISCONNECTED, // Not connected. |
| 35 STATE_IDLE, // Connected but not streaming. | 35 STATE_IDLE, // Connected but not streaming. |
| 36 STATE_PENDING, // Connected, streaming but not acquired. | 36 STATE_PENDING, // Connected, streaming but not acquired. |
| 37 STATE_ACTIVE, // Connected, streaming and acquired. | 37 STATE_ACTIVE, // Connected, streaming and acquired. |
| 38 }; | 38 }; |
| 39 | 39 |
| 40 // Possible types of error raised by Audio Sink object. | 40 // Possible types of error raised by Audio Sink object. |
| 41 enum ErrorCode { | 41 enum ErrorCode { |
| 42 ERROR_UNSUPPORTED_PLATFORM, // A2DP sink not supported on current platform. | 42 ERROR_UNSUPPORTED_PLATFORM, // A2DP sink not supported on current platform. |
| 43 ERROR_INVALID_ADAPTER, // BluetoothAdapter not presented/powered. | 43 ERROR_INVALID_ADAPTER, // BluetoothAdapter not presented/powered. |
| 44 ERROR_NOT_REGISTERED, // BluetoothAudioSink not registered. | 44 ERROR_NOT_REGISTERED, // BluetoothAudioSink not registered. |
| 45 }; | 45 }; |
| 46 | 46 |
| 47 // Options to configure an A2DP audio sink. | 47 // Options to configure an A2DP audio sink. |
| 48 struct Options { | 48 struct Options { |
| 49 Options(); | 49 Options(); |
| 50 ~Options(); | 50 ~Options(); |
| 51 | 51 |
| 52 uint8_t codec; | 52 uint8_t codec; |
| 53 std::vector<uint8_t> capabilities; | 53 std::vector<uint8_t> capabilities; |
| 54 }; | 54 }; |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 76 // the streaming. This method should associate with BluetoothAudioSink | 76 // the streaming. This method should associate with BluetoothAudioSink |
| 77 // specific IOBuffer wrapping fd, read_mtu and write_mtu. | 77 // specific IOBuffer wrapping fd, read_mtu and write_mtu. |
| 78 }; | 78 }; |
| 79 | 79 |
| 80 // The ErrorCallback is used for the methods that can fail in which case it | 80 // The ErrorCallback is used for the methods that can fail in which case it |
| 81 // is called. | 81 // is called. |
| 82 typedef base::Callback<void(ErrorCode)> ErrorCallback; | 82 typedef base::Callback<void(ErrorCode)> ErrorCallback; |
| 83 | 83 |
| 84 // Unregisters the audio sink. An audio sink will unregister itself | 84 // Unregisters the audio sink. An audio sink will unregister itself |
| 85 // automatically in its destructor, but calling Unregister is recommended, | 85 // automatically in its destructor, but calling Unregister is recommended, |
| 86 // since user applications can be notified of an error returned by the call. | 86 // since user applications can be notified of an error returned by the call. |
|
Ben Chan
2015/02/19 00:21:45
is this comment still valid?
"since user applicat
Miao
2015/02/23 21:04:24
Recovered the error callback, so the the comment s
| |
| 87 virtual void Unregister(const base::Closure& callback, | 87 virtual void Unregister(const base::Closure& callback) = 0; |
|
armansito
2015/02/19 00:37:46
Why did you remove the error callback? Also, witho
Miao
2015/02/23 21:04:24
Done.
| |
| 88 const ErrorCallback& error_callback) = 0; | |
| 89 | 88 |
| 90 // Adds and removes an observer for events on the BluetoothAudioSink object. | 89 // Adds and removes an observer for events on the BluetoothAudioSink object. |
| 91 // If monitoring multiple audio sinks, check the |audio_sink| parameter of | 90 // If monitoring multiple audio sinks, check the |audio_sink| parameter of |
| 92 // observer methods to determine which audio sink is issuing the event. | 91 // observer methods to determine which audio sink is issuing the event. |
| 93 virtual void AddObserver(Observer* observer) = 0; | 92 virtual void AddObserver(Observer* observer) = 0; |
| 94 virtual void RemoveObserver(Observer* observer) = 0; | 93 virtual void RemoveObserver(Observer* observer) = 0; |
| 95 | 94 |
| 96 // Getters for state and volume. | 95 // Getters for state and volume. |
| 97 virtual State GetState() const = 0; | 96 virtual State GetState() const = 0; |
| 98 virtual uint16_t GetVolume() const = 0; | 97 virtual uint16_t GetVolume() const = 0; |
| 99 | 98 |
| 100 protected: | 99 protected: |
| 101 friend class base::RefCounted<BluetoothAudioSink>; | 100 friend class base::RefCounted<BluetoothAudioSink>; |
| 102 BluetoothAudioSink(); | 101 BluetoothAudioSink(); |
| 103 | 102 |
| 104 // The destructor invokes Unregister() to ensure the audio sink will be | 103 // The destructor invokes Unregister() to ensure the audio sink will be |
| 105 // unregistered even if the user applications fail to do so. | 104 // unregistered even if the user applications fail to do so. |
| 106 virtual ~BluetoothAudioSink(); | 105 virtual ~BluetoothAudioSink(); |
| 107 | 106 |
| 108 private: | 107 private: |
| 109 DISALLOW_COPY_AND_ASSIGN(BluetoothAudioSink); | 108 DISALLOW_COPY_AND_ASSIGN(BluetoothAudioSink); |
| 110 }; | 109 }; |
| 111 | 110 |
| 112 } // namespace device | 111 } // namespace device |
| 113 | 112 |
| 114 #endif // DEVICE_BLUETOOTH_BLUETOOTH_AUDIO_SINK_H_ | 113 #endif // DEVICE_BLUETOOTH_BLUETOOTH_AUDIO_SINK_H_ |
| OLD | NEW |