From 5fa32ed75e09b1f01e6fdea509ef49492f729c7f Mon Sep 17 00:00:00 2001 From: Ippei Murata Date: Mon, 1 Oct 2018 17:37:50 +0900 Subject: [PATCH] Set default value to mAttributes in AudioTrack mAttributes in AudioTrack can not be set in AudioTrack::set() when pAttributes is NULL. AudioTrack::getPosition() sometimes returns wrong value since mAttributes is undefined value. This change sets default values to mAttributes. Bug: 123607740 Test: manual Change-Id: Ie590c17efc466cc89cbd7e9f89fc3ebeed98eace --- media/libaudioclient/AudioTrack.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/media/libaudioclient/AudioTrack.cpp b/media/libaudioclient/AudioTrack.cpp index b728897c49..a3413e11bd 100644 --- a/media/libaudioclient/AudioTrack.cpp +++ b/media/libaudioclient/AudioTrack.cpp @@ -282,6 +282,11 @@ AudioTrack::AudioTrack( mPreviousSchedulingGroup(SP_DEFAULT), mPausedPosition(0) { + mAttributes.content_type = AUDIO_CONTENT_TYPE_UNKNOWN; + mAttributes.usage = AUDIO_USAGE_UNKNOWN; + mAttributes.flags = 0x0; + strcpy(mAttributes.tags, ""); + (void)set(streamType, sampleRate, format, channelMask, frameCount, flags, cbf, user, notificationFrames, 0 /*sharedBuffer*/, false /*threadCanCallJava*/, sessionId, transferType, @@ -313,6 +318,11 @@ AudioTrack::AudioTrack( mPausedPosition(0), mSelectedDeviceId(AUDIO_PORT_HANDLE_NONE) { + mAttributes.content_type = AUDIO_CONTENT_TYPE_UNKNOWN; + mAttributes.usage = AUDIO_USAGE_UNKNOWN; + mAttributes.flags = 0x0; + strcpy(mAttributes.tags, ""); + (void)set(streamType, sampleRate, format, channelMask, 0 /*frameCount*/, flags, cbf, user, notificationFrames, sharedBuffer, false /*threadCanCallJava*/, sessionId, transferType, offloadInfo,