@ -435,6 +435,7 @@ AudioFlinger::PlaybackThread::Track::Track(
}
mName = TRACK_NAME_PENDING ;
mDumpLatency = thread - > type ( ) = = ThreadBase : : MIXER ;
# ifdef TEE_SINK
mTee . setId ( std : : string ( " _ " ) + std : : to_string ( mThreadIoHandle )
+ " _ " + std : : to_string ( mId ) +
@ -489,13 +490,14 @@ void AudioFlinger::PlaybackThread::Track::destroy()
}
}
/*static*/ void AudioFlinger : : PlaybackThread : : Track : : appendDumpHeader ( String8 & result )
void AudioFlinger : : PlaybackThread : : Track : : appendDumpHeader ( String8 & result )
{
result . append ( " T Name Active Client Session S Flags "
result . append Format ( " T Name Active Client Session S Flags "
" Format Chn mask SRate "
" ST L dB R dB VS dB "
" Server FrmCnt FrmRdy F Underruns Flushed "
" Main Buf Aux Buf \n " ) ;
" Server FrmCnt FrmRdy F Underruns Flushed "
" %s \n " ,
mDumpLatency ? " Latency " : " " ) ;
}
void AudioFlinger : : PlaybackThread : : Track : : appendDump ( String8 & result , bool active )
@ -504,7 +506,7 @@ void AudioFlinger::PlaybackThread::Track::appendDump(String8& result, bool activ
switch ( mType ) {
case TYPE_DEFAULT :
case TYPE_OUTPUT :
if ( mSharedBuffer. get ( ) ! = nullptr ) {
if ( isStatic( ) ) {
trackType = ' S ' ; // static
} else {
trackType = ' ' ; // normal
@ -582,8 +584,7 @@ void AudioFlinger::PlaybackThread::Track::appendDump(String8& result, bool activ
result . appendFormat ( " %7s %6u %7u %2s 0x%03X "
" %08X %08X %6u "
" %2u %5.2g %5.2g %5.2g%c "
" %08X %6zu%c %6zu %c %9u%c %7u "
" %08zX %08zX \n " ,
" %08X %6zu%c %6zu %c %9u%c %7u " ,
active ? " yes " : " no " ,
( mClient = = 0 ) ? getpid ( ) : mClient - > pid ( ) ,
mSessionId ,
@ -607,11 +608,19 @@ void AudioFlinger::PlaybackThread::Track::appendDump(String8& result, bool activ
fillingStatus ,
mAudioTrackServerProxy - > getUnderrunFrames ( ) ,
nowInUnderrun ,
( unsigned ) mAudioTrackServerProxy - > framesFlushed ( ) % 10000000 ,
( size_t ) mMainBuffer , // use %zX as %p appends 0x
( size_t ) mAuxBuffer // use %zX as %p appends 0x
( unsigned ) mAudioTrackServerProxy - > framesFlushed ( ) % 10000000
) ;
if ( mDumpLatency ) {
double latencyMs =
mAudioTrackServerProxy - > getTimestamp ( ) . getOutputServerLatencyMs ( mSampleRate ) ;
if ( latencyMs > 0. ) {
latencyMs + = bufferLatencyMs ( ) ;
result . appendFormat ( " %7.3f " , latencyMs ) ;
} else {
result . appendFormat ( " Unknown " ) ;
}
}
result . append ( " \n " ) ;
}
uint32_t AudioFlinger : : PlaybackThread : : Track : : sampleRate ( ) const {