summaryrefslogtreecommitdiffstats
path: root/media/libnbaio
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2013-08-23 13:51:43 -0700
committerGlenn Kasten <gkasten@google.com>2013-09-03 11:24:02 -0700
commit767094dd98b01baf21de2ad09c27b3c98776cf73 (patch)
tree57b1a9c3b3d794bac2e1922b314046f02df18e7e /media/libnbaio
parente45a767e13fe3396185c9d378a70f7f11eb881d0 (diff)
downloadframeworks_av-767094dd98b01baf21de2ad09c27b3c98776cf73.zip
frameworks_av-767094dd98b01baf21de2ad09c27b3c98776cf73.tar.gz
frameworks_av-767094dd98b01baf21de2ad09c27b3c98776cf73.tar.bz2
Add NBAIO_Sink::getTimestamp()
with a real implementation in AudioStreamOutSink for dummy implementation initially in MonoPipe. Use in AudioFlinger::PlaybackThread::threadLoop_write() to keep the input to the timestamp latch up-to-date. Change-Id: I10ef277991b63bb43d55d6f3df75116ef32246cd
Diffstat (limited to 'media/libnbaio')
-rw-r--r--media/libnbaio/AudioStreamOutSink.cpp12
-rw-r--r--media/libnbaio/MonoPipe.cpp5
2 files changed, 17 insertions, 0 deletions
diff --git a/media/libnbaio/AudioStreamOutSink.cpp b/media/libnbaio/AudioStreamOutSink.cpp
index 6f525e5..b2de8a2 100644
--- a/media/libnbaio/AudioStreamOutSink.cpp
+++ b/media/libnbaio/AudioStreamOutSink.cpp
@@ -79,4 +79,16 @@ status_t AudioStreamOutSink::getNextWriteTimestamp(int64_t *timestamp) {
return mStream->get_next_write_timestamp(mStream, timestamp);
}
+status_t AudioStreamOutSink::getTimestamp(AudioTimestamp& timestamp)
+{
+ // FIXME position64 won't be needed after AudioTimestamp.mPosition is changed to uint64_t
+ uint64_t position64;
+ int ok = mStream->get_presentation_position(mStream, &position64, &timestamp.mTime);
+ if (ok != 0) {
+ return INVALID_OPERATION;
+ }
+ timestamp.mPosition = position64;
+ return OK;
+}
+
} // namespace android
diff --git a/media/libnbaio/MonoPipe.cpp b/media/libnbaio/MonoPipe.cpp
index e8d3d9b..a74b49e 100644
--- a/media/libnbaio/MonoPipe.cpp
+++ b/media/libnbaio/MonoPipe.cpp
@@ -310,4 +310,9 @@ bool MonoPipe::isShutdown()
return mIsShutdown;
}
+status_t MonoPipe::getTimestamp(AudioTimestamp& timestamp)
+{
+ return INVALID_OPERATION;
+}
+
} // namespace android