16 #ifndef AACE_AUDIO_AUDIO_INTERFACES_H    17 #define AACE_AUDIO_AUDIO_INTERFACES_H    26 class AudioInputEngineInterface {
    28     virtual ssize_t write(
const int16_t* data, 
const size_t size) = 0;
    31 class AudioOutputEngineInterface {
    36     enum class MediaError {
    46         MEDIA_ERROR_INVALID_REQUEST,
    51         MEDIA_ERROR_SERVICE_UNAVAILABLE,
    56         MEDIA_ERROR_INTERNAL_SERVER_ERROR,
    61         MEDIA_ERROR_INTERNAL_DEVICE_ERROR
    67     enum class MediaState {
    86     virtual void onMediaStateChanged(MediaState state) = 0;
    87     virtual void onMediaError(MediaError error, 
const std::string& description) = 0;
    90 inline std::ostream& operator<<(std::ostream& stream, 
const AudioOutputEngineInterface::MediaState& state) {
    92         case AudioOutputEngineInterface::MediaState::STOPPED:
    95         case AudioOutputEngineInterface::MediaState::PLAYING:
    98         case AudioOutputEngineInterface::MediaState::BUFFERING:
    99             stream << 
"BUFFERING";
   105 inline std::ostream& operator<<(std::ostream& stream, 
const AudioOutputEngineInterface::MediaError& error) {
   107         case AudioOutputEngineInterface::MediaError::MEDIA_ERROR_UNKNOWN:
   108             stream << 
"MEDIA_ERROR_UNKNOWN";
   110         case AudioOutputEngineInterface::MediaError::MEDIA_ERROR_INVALID_REQUEST:
   111             stream << 
"MEDIA_ERROR_INVALID_REQUEST";
   113         case AudioOutputEngineInterface::MediaError::MEDIA_ERROR_SERVICE_UNAVAILABLE:
   114             stream << 
"MEDIA_ERROR_SERVICE_UNAVAILABLE";
   116         case AudioOutputEngineInterface::MediaError::MEDIA_ERROR_INTERNAL_SERVER_ERROR:
   117             stream << 
"MEDIA_ERROR_INTERNAL_SERVER_ERROR";
   119         case AudioOutputEngineInterface::MediaError::MEDIA_ERROR_INTERNAL_DEVICE_ERROR:
   120             stream << 
"MEDIA_ERROR_INTERNAL_DEVICE_ERROR";
   129 #endif  // AACE_AUDIO_AUDIO_INTERFACES_H 
Definition: AddressBook.h:26