*/
virtual status_t getNextWriteTimestamp(int64_t *timestamp);
+ /**
+ * Return a recent count of the number of audio frames presented to an external observer.
+ */
+ virtual status_t getPresentationPosition(uint64_t *frames, struct timespec *timestamp);
+
};
/**
static AudioHardwareInterface* create();
+ virtual int createAudioPatch(unsigned int num_sources,
+ const struct audio_port_config *sources,
+ unsigned int num_sinks,
+ const struct audio_port_config *sinks,
+ audio_patch_handle_t *handle) = 0;
+
+ virtual int releaseAudioPatch(audio_patch_handle_t handle) = 0;
+
+ virtual int getAudioPort(struct audio_port *port) = 0;
+
+ virtual int setAudioPortConfig(const struct audio_port_config *config) = 0;
+
protected:
virtual status_t dump(int fd, const Vector<String16>& args) = 0;