1 // Copyright 2018 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROMECAST_INTERNAL_MEDIA_AUDIO_EXTERNAL_AUDIO_PIPELINE_DUMMY_H_
6 #define CHROMECAST_INTERNAL_MEDIA_AUDIO_EXTERNAL_AUDIO_PIPELINE_DUMMY_H_
7 
8 #include "chromecast/public/media/external_audio_pipeline_shlib.h"
9 
10 // We redefine what is already available in chromium's base/logging.h because
11 // we want to avoid having that dependency in dummy implementation. When OEMs
12 // swap in their implementation it complains about missing symbols.
13 #if !defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)
14 #include <stdlib.h>  // abort()
15 #define NOTREACHED() abort()
16 #else
17 #define NOTREACHED() static_cast<void>(0)
18 #endif
19 
20 namespace chromecast {
21 namespace media {
22 
IsSupported()23 bool ExternalAudioPipelineShlib::IsSupported() {
24   return false;
25 }
26 
AddExternalMediaVolumeChangeRequestObserver(ExternalMediaVolumeChangeRequestObserver * observer)27 void ExternalAudioPipelineShlib::AddExternalMediaVolumeChangeRequestObserver(
28     ExternalMediaVolumeChangeRequestObserver* observer) {
29   NOTREACHED();
30 }
31 
RemoveExternalMediaVolumeChangeRequestObserver(ExternalMediaVolumeChangeRequestObserver * observer)32 void ExternalAudioPipelineShlib::RemoveExternalMediaVolumeChangeRequestObserver(
33     ExternalMediaVolumeChangeRequestObserver* observer) {
34   NOTREACHED();
35 }
36 
SetExternalMediaVolume(float level)37 void ExternalAudioPipelineShlib::SetExternalMediaVolume(float level) {
38   NOTREACHED();
39 }
40 
SetExternalMediaMuted(bool muted)41 void ExternalAudioPipelineShlib::SetExternalMediaMuted(bool muted) {
42   NOTREACHED();
43 }
44 
AddExternalLoopbackAudioObserver(LoopbackAudioObserver * observer)45 void ExternalAudioPipelineShlib::AddExternalLoopbackAudioObserver(
46     LoopbackAudioObserver* observer) {
47   NOTREACHED();
48 }
49 
RemoveExternalLoopbackAudioObserver(LoopbackAudioObserver * observer)50 void ExternalAudioPipelineShlib::RemoveExternalLoopbackAudioObserver(
51     LoopbackAudioObserver* observer) {
52   NOTREACHED();
53 }
54 
AddExternalMediaMetadataChangeObserver(ExternalMediaMetadataChangeObserver * observer)55 void ExternalAudioPipelineShlib::AddExternalMediaMetadataChangeObserver(
56     ExternalMediaMetadataChangeObserver* observer) {
57   NOTREACHED();
58 }
59 
RemoveExternalMediaMetadataChangeObserver(ExternalMediaMetadataChangeObserver * observer)60 void ExternalAudioPipelineShlib::RemoveExternalMediaMetadataChangeObserver(
61     ExternalMediaMetadataChangeObserver* observer) {
62   NOTREACHED();
63 }
64 
65 std::unique_ptr<MixerOutputStream>
CreateMixerOutputStream()66 ExternalAudioPipelineShlib::CreateMixerOutputStream() {
67   NOTREACHED();
68   return nullptr;
69 }
70 
71 }  // namespace media
72 }  // namespace chromecast
73 
74 #endif  // CHROMECAST_INTERNAL_MEDIA_AUDIO_EXTERNAL_AUDIO_PIPELINE_DUMMY_H_
75