Merge "camera2 vndk: Improve error handling" am: 8a4e9b2b71
Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/2221403
Change-Id: Ia71a2caae9c5f7116320b97116b6a701cccc1d64
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/media/libstagefright/rtsp/AAVCAssembler.cpp b/media/libstagefright/rtsp/AAVCAssembler.cpp
index ddf797c..2f516d5 100644
--- a/media/libstagefright/rtsp/AAVCAssembler.cpp
+++ b/media/libstagefright/rtsp/AAVCAssembler.cpp
@@ -618,14 +618,13 @@
int32_t AAVCAssembler::pickStartSeq(const Queue *queue,
uint32_t first, int64_t play, int64_t jit) {
- CHECK(!queue->empty());
// pick the first sequence number has the start bit.
sp<ABuffer> buffer = *(queue->begin());
int32_t firstSeqNo = buffer->int32Data();
// This only works for FU-A type & non-start sequence
- int32_t nalType = buffer->size() >= 1 ? buffer->data()[0] & 0x1f : -1;
- if (nalType != 28 || (buffer->size() >= 2 && buffer->data()[1] & 0x80)) {
+ unsigned nalType = buffer->data()[0] & 0x1f;
+ if (nalType != 28 || buffer->data()[1] & 0x80) {
return firstSeqNo;
}
@@ -635,7 +634,7 @@
if (rtpTime + jit >= play) {
break;
}
- if (it->size() >= 2 && (data[1] & 0x80)) {
+ if ((data[1] & 0x80)) {
const int32_t seqNo = it->int32Data();
ALOGE("finding [HEAD] pkt. \t Seq# (%d ~ )[%d", firstSeqNo, seqNo);
firstSeqNo = seqNo;
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index a0c0e7d..7546c9d 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -9669,12 +9669,6 @@
if (isOutput()) {
ret = AudioSystem::startOutput(portId);
} else {
- {
- // Add the track record before starting input so that the silent status for the
- // client can be cached.
- Mutex::Autolock _l(mLock);
- setClientSilencedState_l(portId, false /*silenced*/);
- }
ret = AudioSystem::startInput(portId);
}
@@ -9693,7 +9687,6 @@
} else {
mHalStream->stop();
}
- eraseClientSilencedState_l(portId);
return PERMISSION_DENIED;
}
@@ -9702,9 +9695,6 @@
mChannelMask, mSessionId, isOutput(),
client.attributionSource,
IPCThreadState::self()->getCallingPid(), portId);
- if (!isOutput()) {
- track->setSilenced_l(isClientSilenced_l(portId));
- }
if (isOutput()) {
// force volume update when a new track is added
@@ -9762,7 +9752,6 @@
}
mActiveTracks.remove(track);
- eraseClientSilencedState_l(track->portId());
mLock.unlock();
if (isOutput()) {
@@ -10553,7 +10542,6 @@
broadcast_l();
}
}
- setClientSilencedIfExists_l(portId, silenced);
}
void AudioFlinger::MmapCaptureThread::toAudioPortConfig(struct audio_port_config *config)
diff --git a/services/audioflinger/Threads.h b/services/audioflinger/Threads.h
index 2f85378..a401048 100644
--- a/services/audioflinger/Threads.h
+++ b/services/audioflinger/Threads.h
@@ -2105,26 +2105,6 @@
virtual bool isStreamInitialized() { return false; }
- void setClientSilencedState_l(audio_port_handle_t portId, bool silenced) {
- mClientSilencedStates[portId] = silenced;
- }
-
- size_t eraseClientSilencedState_l(audio_port_handle_t portId) {
- return mClientSilencedStates.erase(portId);
- }
-
- bool isClientSilenced_l(audio_port_handle_t portId) const {
- const auto it = mClientSilencedStates.find(portId);
- return it != mClientSilencedStates.end() ? it->second : false;
- }
-
- void setClientSilencedIfExists_l(audio_port_handle_t portId, bool silenced) {
- const auto it = mClientSilencedStates.find(portId);
- if (it != mClientSilencedStates.end()) {
- it->second = silenced;
- }
- }
-
protected:
void dumpInternals_l(int fd, const Vector<String16>& args) override;
void dumpTracks_l(int fd, const Vector<String16>& args) override;
@@ -2144,7 +2124,6 @@
AudioHwDevice* const mAudioHwDev;
ActiveTracks<MmapTrack> mActiveTracks;
float mHalVolFloat;
- std::map<audio_port_handle_t, bool> mClientSilencedStates;
int32_t mNoCallbackWarningCount;
static constexpr int32_t kMaxNoCallbackWarnings = 5;