Lines Matching full:virtual
57 class IAfTrackBase : public virtual RefBase {
90 virtual status_t initCheck() const = 0;
91 virtual status_t start(
94 virtual void stop() = 0;
95 virtual sp<IMemory> getCblk() const = 0;
96 virtual audio_track_cblk_t* cblk() const = 0;
97 virtual audio_session_t sessionId() const = 0;
98 virtual uid_t uid() const = 0;
99 virtual pid_t creatorPid() const = 0;
100 virtual uint32_t sampleRate() const = 0;
101 virtual size_t frameSize() const = 0;
102 virtual audio_port_handle_t portId() const = 0;
103 virtual status_t setSyncEvent(const sp<audioflinger::SyncEvent>& event) = 0;
104 virtual track_state state() const = 0;
105 virtual void setState(track_state state) = 0;
106 virtual sp<IMemory> getBuffers() const = 0;
107 virtual void* buffer() const = 0;
108 virtual size_t bufferSize() const = 0;
109 virtual bool isFastTrack() const = 0;
110 virtual bool isDirect() const = 0;
111 virtual bool isOutputTrack() const = 0;
112 virtual bool isPatchTrack() const = 0;
113 virtual bool isExternalTrack() const = 0;
115 virtual void invalidate() = 0;
116 virtual bool isInvalid() const = 0;
118 virtual void terminate() = 0;
119 virtual bool isTerminated() const = 0;
121 virtual audio_attributes_t attributes() const = 0;
122 virtual bool isSpatialized() const = 0;
123 virtual bool isBitPerfect() const = 0;
126 virtual void destroy() {}; // MmapTrack doesn't implement. in destroy()
127 virtual void appendDumpHeader(String8& result) const = 0;
128 virtual void appendDump(String8& result, bool active) const = 0;
131 virtual status_t getNextBuffer(AudioBufferProvider::Buffer* buffer) = 0;
132 virtual void releaseBuffer(AudioBufferProvider::Buffer* buffer) = 0;
135 virtual wp<IAfThreadBase> thread() const = 0;
136 virtual const sp<ServerProxy>& serverProxy() const = 0;
139 virtual void dumpTee(int fd __unused, const std::string& reason __unused) const {}; in dumpTee()
147 virtual double bufferLatencyMs() const = 0;
152 virtual bool isServerLatencySupported() const = 0;
172 virtual status_t getServerLatencyMs(double* latencyMs, bool* fromTrack = nullptr) const = 0;
192 virtual status_t getTrackLatencyMs(double* latencyMs, bool* fromTrack = nullptr) const = 0;
201 virtual void getKernelFrameTime(FrameTime* ft) const = 0;
203 virtual audio_format_t format() const = 0;
204 virtual int id() const = 0;
206 virtual const char* getTrackStateAsString() const = 0;
208 virtual const std::string& getTraceSuffix() const = 0;
211 virtual void logBeginInterval(const std::string& devices) = 0;
214 virtual void logEndInterval() = 0;
217 virtual void logRefreshInterval(const std::string& devices) = 0;
220 virtual void tallyUnderrunFrames(size_t frames) = 0;
222 virtual audio_channel_mask_t channelMask() const = 0;
230 virtual bool readAndClearHasChanged() = 0;
233 virtual void setMetadataHasChanged() = 0;
239 virtual void beginBatteryAttribution() = 0;
245 virtual void endBatteryAttribution() = 0;
251 virtual void handleSyncStartEvent(const sp<audioflinger::SyncEvent>& event __unused){}; in handleSyncStartEvent()
255 virtual bool isStopped() const = 0;
256 virtual bool isStopping() const = 0;
257 virtual bool isStopping_1() const = 0;
258 virtual bool isStopping_2() const = 0;
262 class IAfTrack : public virtual IAfTrackBase, public virtual VolumePortInterface {
311 virtual void pause() = 0;
312 virtual void flush() = 0;
313 virtual audio_stream_type_t streamType() const = 0;
314 virtual bool isOffloaded() const = 0;
315 virtual bool isOffloadedOrDirect() const = 0;
316 virtual bool isStatic() const = 0;
317 virtual status_t setParameters(const String8& keyValuePairs) = 0;
318 virtual status_t selectPresentation(int presentationId, int programId) = 0;
319 virtual status_t attachAuxEffect(int EffectId) = 0;
320 virtual void setAuxBuffer(int EffectId, int32_t* buffer) = 0;
321 virtual int32_t* auxBuffer() const = 0;
322 virtual void setMainBuffer(float* buffer) = 0;
323 virtual float* mainBuffer() const = 0;
324 virtual int auxEffectId() const = 0;
325 virtual status_t getTimestamp(AudioTimestamp& timestamp) = 0;
326 virtual void signal() = 0;
327 virtual status_t getDualMonoMode(audio_dual_mono_mode_t* mode) const = 0;
328 virtual status_t setDualMonoMode(audio_dual_mono_mode_t mode) = 0;
329 virtual status_t getAudioDescriptionMixLevel(float* leveldB) const = 0;
330 virtual status_t setAudioDescriptionMixLevel(float leveldB) = 0;
331 virtual status_t getPlaybackRateParameters(audio_playback_rate_t* playbackRate) const = 0;
332 virtual status_t setPlaybackRateParameters(const audio_playback_rate_t& playbackRate) = 0;
335 virtual gain_minifloat_packed_t getVolumeLR() const = 0;
338 virtual media::VolumeShaper::Status applyVolumeShaper(
341 virtual sp<media::VolumeShaper::State> getVolumeShaperState(int id) const = 0;
342 virtual sp<media::VolumeHandler> getVolumeHandler() const = 0;
345 virtual void setFinalVolume(float volumeLeft, float volumeRight) = 0;
346 virtual float getFinalVolume() const = 0;
347 virtual void getFinalVolume(float* left, float* right) const = 0;
352 virtual void copyMetadataTo(MetadataInserter& backInserter) const = 0;
355 virtual bool getHapticPlaybackEnabled() const = 0;
358 virtual void setHapticPlaybackEnabled(bool hapticPlaybackEnabled) = 0;
360 virtual os::HapticScale getHapticScale() const = 0;
362 virtual float getHapticMaxAmplitude() const = 0;
364 virtual void setHapticScale(os::HapticScale hapticScale) = 0;
368 virtual void setHapticMaxAmplitude(float maxAmplitude) = 0;
369 virtual sp<os::ExternalVibration> getExternalVibration() const = 0;
372 virtual void updateTeePatches_l() REQUIRES(audio_utils::ThreadBase_Mutex)
376 virtual void setTeePatchesToUpdate_l(TeePatches teePatchesToUpdate) = 0;
382 virtual audio_output_flags_t getOutputFlags() const = 0;
383 virtual float getSpeed() const = 0;
389 virtual void processMuteEvent_l(
392 virtual void triggerEvents(AudioSystem::sync_event_t type) = 0;
394 virtual void disable() = 0;
395 virtual bool isDisabled() const = 0;
397 virtual int& fastIndex() = 0;
398 virtual bool isPlaybackRestricted() const = 0;
402 virtual bool isPausing() const = 0;
403 virtual bool isPaused() const = 0;
404 virtual bool isResuming() const = 0;
405 virtual bool isReady() const = 0;
406 virtual void setPaused() = 0;
407 virtual void reset() = 0;
408 virtual bool isFlushPending() const = 0;
409 virtual void flushAck() = 0;
410 virtual bool isResumePending() const = 0;
411 virtual void resumeAck() = 0;
414 virtual bool isPausePending() const = 0;
415 virtual void pauseAck() = 0;
416 virtual void updateTrackFrameInfo(
419 virtual sp<IMemory> sharedBuffer() const = 0;
422 virtual size_t framesReady() const = 0;
427 virtual bool presentationComplete(int64_t framesWritten, size_t audioHalFrames) = 0;
430 virtual bool presentationComplete(uint32_t latencyMs) = 0;
432 virtual void resetPresentationComplete() = 0;
434 virtual bool hasVolumeController() const = 0;
435 virtual void setHasVolumeController(bool hasVolumeController) = 0;
436 virtual const sp<AudioTrackServerProxy>& audioTrackServerProxy() const = 0;
437 virtual void setCachedVolume(float volume) = 0;
438 virtual void setResetDone(bool resetDone) = 0;
440 virtual ExtendedAudioBufferProvider* asExtendedAudioBufferProvider() = 0;
441 virtual VolumeProvider* asVolumeProvider() = 0;
444 virtual FillingStatus& fillingStatus() = 0;
445 virtual int8_t& retryCount() = 0;
446 virtual FastTrackUnderruns& fastTrackUnderruns() = 0;
449 virtual bool getInternalMute() const = 0;
450 virtual void setInternalMute(bool muted) = 0;
454 class IAfOutputTrack : public virtual IAfTrack {
462 virtual ssize_t write(void* data, uint32_t frames) = 0;
463 virtual bool bufferQueueEmpty() const = 0;
464 virtual bool isActive() const = 0;
467 virtual void setMetadatas(const SourceMetadatas& metadatas) = 0;
469 virtual ExtendedTimestamp getClientProxyTimestamp() const = 0;
472 class IAfMmapTrack : public virtual IAfTrackBase, public virtual VolumePortInterface {
494 virtual void setSilenced_l(bool silenced) = 0;
496 virtual bool isSilenced_l() const = 0;
498 virtual bool getAndSetSilencedNotified_l() = 0;
504 virtual void processMuteEvent_l( // see IAfTrack
510 class IAfRecordTrack : public virtual IAfTrackBase {
544 virtual void clearOverflow() = 0;
546 virtual bool setOverflow() = 0;
549 virtual void clearSyncStartEvent() = 0;
550 virtual void updateTrackFrameInfo(
554 virtual void setSilenced(bool silenced) = 0;
555 virtual bool isSilenced() const = 0;
556 virtual status_t getActiveMicrophones(
559 virtual status_t setPreferredMicrophoneDirection(audio_microphone_direction_t direction) = 0;
560 virtual status_t setPreferredMicrophoneFieldDimension(float zoom) = 0;
561 virtual status_t shareAudioHistory(
563 virtual int32_t startFrames() const = 0;
571 virtual void copyMetadataTo(MetadataInserter& backInserter) const = 0; // see IAfTrack
574 virtual AudioBufferProvider::Buffer& sinkBuffer() = 0;
575 virtual audioflinger::SynchronizedRecordState& synchronizedRecordState() = 0;
576 virtual RecordBufferConverter* recordBufferConverter() const = 0;
577 virtual ResamplerBufferProvider* resamplerBufferProvider() const = 0;
584 virtual ~PatchProxyBufferProvider() = default;
585 virtual bool producesBufferOnDemand() const = 0;
586 virtual status_t obtainBuffer(
588 virtual void releaseBuffer(Proxy::Buffer* buffer) = 0;
591 class IAfPatchTrackBase : public virtual RefBase {
595 virtual void setPeerTimeout(std::chrono::nanoseconds timeout) = 0;
596 virtual void setPeerProxy(const sp<IAfPatchTrackBase>& proxy, bool holdReference) = 0;
597 virtual void clearPeerProxy() = 0;
598 virtual PatchProxyBufferProvider* asPatchProxyBufferProvider() = 0;
601 class IAfPatchTrack : public virtual IAfTrack, public virtual IAfPatchTrackBase {
623 class IAfPatchRecord : public virtual IAfRecordTrack, public virtual IAfPatchTrackBase {
646 virtual Source* getSource() = 0;
647 virtual size_t writeFrames(const void* src, size_t frameCount, size_t frameSize) = 0;