summaryrefslogtreecommitdiffstats
path: root/include/media/AudioTrack.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/media/AudioTrack.h')
-rw-r--r--include/media/AudioTrack.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/include/media/AudioTrack.h b/include/media/AudioTrack.h
index 34108b3..77a0b26 100644
--- a/include/media/AudioTrack.h
+++ b/include/media/AudioTrack.h
@@ -31,6 +31,10 @@
#include <cutils/sched_policy.h>
#include <utils/threads.h>
+#ifdef QCOM_HARDWARE
+#include <media/IDirectTrackClient.h>
+#endif
+
namespace android {
// ----------------------------------------------------------------------------
@@ -39,7 +43,11 @@ class audio_track_cblk_t;
// ----------------------------------------------------------------------------
-class AudioTrack : virtual public RefBase
+class AudioTrack :
+#ifdef QCOM_HARDWARE
+ public BnDirectTrackClient,
+#endif
+ virtual public RefBase
{
public:
enum channel_index {
@@ -451,6 +459,11 @@ public:
*/
status_t dump(int fd, const Vector<String16>& args) const;
+#ifdef QCOM_HARDWARE
+ virtual void notify(int msg);
+ virtual status_t getTimeStamp(uint64_t *tstamp);
+#endif
+
protected:
/* copying audio tracks is not allowed */
AudioTrack(const AudioTrack& other);
@@ -496,6 +509,9 @@ protected:
status_t restoreTrack_l(audio_track_cblk_t*& cblk, bool fromStart);
bool stopped_l() const { return !mActive; }
+#ifdef QCOM_HARDWARE
+ sp<IDirectTrack> mDirectTrack;
+#endif
sp<IAudioTrack> mAudioTrack;
sp<IMemory> mCblkMemory;
sp<AudioTrackThread> mAudioTrackThread;
@@ -529,10 +545,17 @@ protected:
uint32_t mUpdatePeriod;
bool mFlushed; // FIXME will be made obsolete by making flush() synchronous
audio_output_flags_t mFlags;
+#ifdef QCOM_HARDWARE
+ sp<IAudioFlinger> mAudioFlinger;
+ audio_io_handle_t mAudioDirectOutput;
+#endif
int mSessionId;
int mAuxEffectId;
mutable Mutex mLock;
status_t mRestoreStatus;
+#ifdef QCOM_HARDWARE
+ void* mObserver;
+#endif
bool mIsTimed;
int mPreviousPriority; // before start()
SchedPolicy mPreviousSchedulingGroup;