From ffe3558cb1024b39ce1e0e1dc2fb20bb3663299a Mon Sep 17 00:00:00 2001 From: Chih-Hung Hsieh Date: Thu, 13 Sep 2018 13:59:28 -0700 Subject: [PATCH] Suppress implicit-fallthrough warnings in libaudioclient. Add FALLTHROUGH_INTENDED for clang compiler. Bug: 112564944 Test: build with global -Wimplicit-fallthrough. Change-Id: Icafaff606364fe7bffaad1e9c2e763c444ea999c --- media/libaudioclient/Android.bp | 5 ++++- media/libaudioclient/AudioRecord.cpp | 3 ++- media/libaudioclient/AudioTrack.cpp | 5 +++-- media/libaudioclient/AudioTrackShared.cpp | 5 +++-- media/libaudioclient/include/media/AudioPolicyHelper.h | 3 ++- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/media/libaudioclient/Android.bp b/media/libaudioclient/Android.bp index 2df37a85c1..f93d44b5f9 100644 --- a/media/libaudioclient/Android.bp +++ b/media/libaudioclient/Android.bp @@ -53,7 +53,10 @@ cc_library_shared { export_shared_lib_headers: ["libbinder"], local_include_dirs: ["include/media", "aidl"], - header_libs: ["libaudioclient_headers"], + header_libs: [ + "libaudioclient_headers", + "libbase_headers", + ], export_header_lib_headers: ["libaudioclient_headers"], // for memory heap analysis diff --git a/media/libaudioclient/AudioRecord.cpp b/media/libaudioclient/AudioRecord.cpp index e2de8e731f..0aabaf7641 100644 --- a/media/libaudioclient/AudioRecord.cpp +++ b/media/libaudioclient/AudioRecord.cpp @@ -19,6 +19,7 @@ #define LOG_TAG "AudioRecord" #include +#include #include #include @@ -1446,7 +1447,7 @@ bool AudioRecord::AudioRecordThread::threadLoop() case NS_WHENEVER: // Event driven: call wake() when callback notifications conditions change. ns = INT64_MAX; - // fall through + FALLTHROUGH_INTENDED; default: LOG_ALWAYS_FATAL_IF(ns < 0, "processAudioBuffer() returned %" PRId64, ns); pauseInternal(ns); diff --git a/media/libaudioclient/AudioTrack.cpp b/media/libaudioclient/AudioTrack.cpp index 76c9bfb40f..4881ddc606 100644 --- a/media/libaudioclient/AudioTrack.cpp +++ b/media/libaudioclient/AudioTrack.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -2964,7 +2965,7 @@ bool AudioTrack::hasStarted() if (mProxy->getStreamEndDone()) { return true; } - // fall through + FALLTHROUGH_INTENDED; case STATE_ACTIVE: case STATE_STOPPING: break; @@ -3083,7 +3084,7 @@ bool AudioTrack::AudioTrackThread::threadLoop() case NS_WHENEVER: // Event driven: call wake() when callback notifications conditions change. ns = INT64_MAX; - // fall through + FALLTHROUGH_INTENDED; default: LOG_ALWAYS_FATAL_IF(ns < 0, "processAudioBuffer() returned %" PRId64, ns); pauseInternal(ns); diff --git a/media/libaudioclient/AudioTrackShared.cpp b/media/libaudioclient/AudioTrackShared.cpp index d40f193ccf..01f400d9ce 100644 --- a/media/libaudioclient/AudioTrackShared.cpp +++ b/media/libaudioclient/AudioTrackShared.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "AudioTrackShared" //#define LOG_NDEBUG 0 +#include #include #include @@ -247,7 +248,7 @@ status_t ClientProxy::obtainBuffer(Buffer* buffer, const struct timespec *reques ts = requested; break; } - // fall through + FALLTHROUGH_INTENDED; case TIMEOUT_CONTINUE: // FIXME we do not retry if requested < 10ms? needs documentation on this state machine if (!measure || requested->tv_sec < total.tv_sec || @@ -505,7 +506,7 @@ status_t AudioTrackClientProxy::waitStreamEndDone(const struct timespec *request ts = requested; break; } - // fall through + FALLTHROUGH_INTENDED; case TIMEOUT_CONTINUE: // FIXME we do not retry if requested < 10ms? needs documentation on this state machine if (requested->tv_sec < total.tv_sec || diff --git a/media/libaudioclient/include/media/AudioPolicyHelper.h b/media/libaudioclient/include/media/AudioPolicyHelper.h index 73ee0a7378..fbe95469c9 100644 --- a/media/libaudioclient/include/media/AudioPolicyHelper.h +++ b/media/libaudioclient/include/media/AudioPolicyHelper.h @@ -16,6 +16,7 @@ #ifndef AUDIO_POLICY_HELPER_H_ #define AUDIO_POLICY_HELPER_H_ +#include #include static inline @@ -81,7 +82,7 @@ void stream_type_to_audio_attributes(audio_stream_type_t streamType, break; case AUDIO_STREAM_ENFORCED_AUDIBLE: attr->flags |= AUDIO_FLAG_AUDIBILITY_ENFORCED; - // intended fall through, attributes in common with STREAM_SYSTEM + FALLTHROUGH_INTENDED; // attributes in common with STREAM_SYSTEM case AUDIO_STREAM_SYSTEM: attr->content_type = AUDIO_CONTENT_TYPE_SONIFICATION; attr->usage = AUDIO_USAGE_ASSISTANCE_SONIFICATION;