Hi all,
I am working with external speaker which has large buffer. The audio latency is over 3 secs.
By the way, AV was out of sync in NuPlayer and there is a suspicious code in NuPlayerRenderer.cpp.(With AwesomePlayer, AV is in sync.)
Test env. - aosp 5.0.2_r1, Nexus7(flo)
line 1341-1347
- } else { // case 3: transitory at new track or audio fast tracks.
- res = mAudioSink->getPosition(&numFramesPlayed);
- CHECK_EQ(res, (status_t)OK);
- numFramesPlayedAt = nowUs;
- numFramesPlayedAt += 1000LL * mAudioSink->latency() / 2; /* XXX */
- //ALOGD("getPosition: %d %lld", numFramesPlayed, numFramesPlayedAt);
- }
I do not understand why this division is needed:"mAudioSink->latency() / 2".
I have tested after removing the division: "numFramesPlayedAt += 1000LL * mAudioSink->latency();"
AV is in sync now.
This looks like a bug. Is there anyone who has any ideas about this code?
Thanks,
Sangyoun