Update StreamHalHidl to use IStreamOut.WriteStatus new field
Updated the client code to use the new field:
IStreamOut.WriteStatus.presentationPositionRetval for providing
legacy-compatible results when calling 'get_presentation_position'
immediately after 'write'.
Bug: 30222631
Test: Loopback RTT, media CTS
Change-Id: Idf3f1d29288ddf17a5015f96291648d64d124ec7
diff --git a/media/libaudiohal/StreamHalHidl.h b/media/libaudiohal/StreamHalHidl.h
index 0093957..8b5867e 100644
--- a/media/libaudiohal/StreamHalHidl.h
+++ b/media/libaudiohal/StreamHalHidl.h
@@ -164,15 +164,19 @@
std::unique_ptr<StatusMQ> mStatusMQ;
EventFlag* mEfGroup;
bool mGetPresentationPositionNotSupported;
- uint64_t mPPosFromWriteObtained;
- uint64_t mPPosFromWriteFrames;
- struct timespec mPPosFromWriteTS;
+ struct {
+ uint64_t obtained;
+ status_t status;
+ uint64_t frames;
+ struct timespec ts;
+ } mPPosFromWrite;
// Can not be constructed directly by clients.
StreamOutHalHidl(const sp<IStreamOut>& stream);
virtual ~StreamOutHalHidl();
+ uint64_t getCurrentTimeMs();
status_t prepareForWriting(size_t bufferSize);
};