Lines Matching refs:PlaybackThread
289 AudioFlinger::TrackHandle::TrackHandle(const sp<AudioFlinger::PlaybackThread::Track>& track)
362 AudioFlinger::PlaybackThread::Track::Track(
363 PlaybackThread *thread,
457 AudioFlinger::PlaybackThread
459 ALOGV("PlaybackThread::Track destructor");
470 status_t AudioFlinger::PlaybackThread::Track::initCheck() const
479 void AudioFlinger::PlaybackThread::Track::destroy()
495 PlaybackThread *playbackThread = (PlaybackThread *)thread.get();
496 wasActive = playbackThread->destroyTrack_l(this);
504 /*static*/ void AudioFlinger::PlaybackThread::Track::appendDumpHeader(String8& result)
510 void AudioFlinger::PlaybackThread::Track::dump(char* buffer, size_t size, bool active)
601 uint32_t AudioFlinger::PlaybackThread::Track::sampleRate() const {
606 status_t AudioFlinger::PlaybackThread::Track::getNextBuffer(
634 size_t AudioFlinger::PlaybackThread::Track::framesReady() const {
643 int64_t AudioFlinger::PlaybackThread::Track::framesReleased() const
648 void AudioFlinger::PlaybackThread::Track::onTimestamp(const ExtendedTimestamp ×tamp)
658 bool AudioFlinger::PlaybackThread::Track::isReady() const {
679 status_t AudioFlinger::PlaybackThread::Track::start(AudioSystem::sync_event_t event __unused,
725 PlaybackThread *playbackThread = (PlaybackThread *)thread.get();
730 mObservedUnderruns = playbackThread->getFastTrackUnderruns(mFastIndex);
732 status = playbackThread->addTrack_l(this);
760 void AudioFlinger::PlaybackThread::Track::stop()
769 PlaybackThread *playbackThread = (PlaybackThread *)thread.get();
770 if (playbackThread->mActiveTracks.indexOf(this) < 0) {
782 mRetryCount = PlaybackThread::kMaxTrackStopRetriesOffload;
785 playbackThread->broadcast_l();
787 playbackThread);
792 void AudioFlinger::PlaybackThread::Track::pause()
798 PlaybackThread *playbackThread = (PlaybackThread *)thread.get();
814 playbackThread->broadcast_l();
823 void AudioFlinger::PlaybackThread::Track::flush()
829 PlaybackThread *playbackThread = (PlaybackThread *)thread.get();
831 // Flush the ring buffer now if the track is not active in the PlaybackThread.
834 if (playbackThread->mActiveTracks.indexOf(this) < 0) {
872 if (playbackThread->mActiveTracks.indexOf(this) < 0) {
879 playbackThread->broadcast_l();
884 void AudioFlinger::PlaybackThread::Track::flushAck()
896 void AudioFlinger::PlaybackThread::Track::reset()
912 status_t AudioFlinger::PlaybackThread::Track::setParameters(const String8& keyValuePairs)
926 VolumeShaper::Status AudioFlinger::PlaybackThread::Track::applyVolumeShaper(
959 sp<VolumeShaper::State> AudioFlinger::PlaybackThread::Track::getVolumeShaperState(int id)
967 status_t AudioFlinger::PlaybackThread::Track::getTimestamp(AudioTimestamp& timestamp)
978 PlaybackThread *playbackThread = (PlaybackThread *)thread.get();
979 return playbackThread->getTimestamp_l(timestamp);
982 status_t AudioFlinger::PlaybackThread::Track::attachAuxEffect(int EffectId)
987 PlaybackThread *playbackThread = (PlaybackThread *)thread.get();
992 sp<PlaybackThread> srcThread = af->getEffectThread_l(AUDIO_SESSION_OUTPUT_MIX, EffectId);
994 if (EffectId != 0 && srcThread != 0 && playbackThread != srcThread.get()) {
995 Mutex::Autolock _dl(playbackThread->mLock);
1007 status = playbackThread->addEffect_l(effect);
1031 status = playbackThread->attachAuxEffect(this, EffectId);
1036 void AudioFlinger::PlaybackThread::Track::setAuxBuffer(int EffectId, int32_t *buffer)
1042 bool AudioFlinger::PlaybackThread::Track::presentationComplete(
1081 void AudioFlinger::PlaybackThread::Track::triggerEvents(AudioSystem::sync_event_t type)
1094 gain_minifloat_packed_t AudioFlinger::PlaybackThread::Track::getVolumeLR()
1119 status_t AudioFlinger::PlaybackThread::Track::setSyncEvent(const sp<SyncEvent>& event)
1133 void AudioFlinger::PlaybackThread::Track::invalidate()
1139 void AudioFlinger::PlaybackThread::Track::disable()
1144 void AudioFlinger::PlaybackThread::Track::signalClientFlag(int32_t flag)
1154 void AudioFlinger::PlaybackThread::Track::signal()
1158 PlaybackThread *t = (PlaybackThread *)thread.get();
1165 bool AudioFlinger::PlaybackThread::Track::isResumePending() {
1178 void AudioFlinger::PlaybackThread::Track::resumeAck() {
1193 void AudioFlinger::PlaybackThread::Track::updateTrackFrameInfo(
1228 AudioFlinger::PlaybackThread::OutputTrack::OutputTrack(
1229 PlaybackThread *playbackThread,
1236 : Track(playbackThread, NULL, AUDIO_STREAM_PATCH,
1245 playbackThread->mTracks.add(this);
1258 ALOGW("Error creating output track on thread %p", playbackThread);
1262 AudioFlinger::PlaybackThread::OutputTrack::~OutputTrack()
1268 status_t AudioFlinger::PlaybackThread::OutputTrack::start(AudioSystem::sync_event_t event,
1281 void AudioFlinger::PlaybackThread::OutputTrack::stop()
1289 bool AudioFlinger::PlaybackThread::OutputTrack::write(void* data, uint32_t frames)
1392 status_t AudioFlinger::PlaybackThread::OutputTrack::obtainBuffer(
1406 void AudioFlinger::PlaybackThread::OutputTrack::clearBufferQueue()
1418 void AudioFlinger::PlaybackThread::OutputTrack::restartIfDisabled()
1426 AudioFlinger::PlaybackThread::PatchTrack::PatchTrack(PlaybackThread *playbackThread,
1434 : Track(playbackThread, NULL, streamType,
1439 uint64_t mixBufferNs = ((uint64_t)2 * playbackThread->frameCount() * 1000000000) /
1440 playbackThread->sampleRate();
1450 AudioFlinger::PlaybackThread::PatchTrack::~PatchTrack()
1454 status_t AudioFlinger::PlaybackThread::PatchTrack::start(AudioSystem::sync_event_t event,
1466 status_t AudioFlinger::PlaybackThread::PatchTrack::getNextBuffer(
1482 void AudioFlinger::PlaybackThread::PatchTrack::releaseBuffer(AudioBufferProvider::Buffer* buffer)
1492 status_t AudioFlinger::PlaybackThread::PatchTrack::obtainBuffer(Proxy::Buffer* buffer,
1507 void AudioFlinger::PlaybackThread::PatchTrack::releaseBuffer(Proxy::Buffer* buffer)
1514 void AudioFlinger::PlaybackThread::PatchTrack::restartIfDisabled()
1672 // see comments at AudioFlinger::PlaybackThread::Track::destroy()