From 559c20d4f4c2e55f4d4dc520eb4138a2c1537597 Mon Sep 17 00:00:00 2001 From: bodamnam Date: Thu, 28 Dec 2023 03:12:27 +0000 Subject: [PATCH] Modify the api definition in the ImsMedia HAL for AV sync For more accurate calculation of incoming packet latency and improved inter-media synchronization, modify the AVSync API's request to use the RTCP-SR report's NTP timestamp. This absolute timestamp facilitates cross-media comparisons. Bug: 321878340 Test: mm Change-Id: I9980ac832095d1caf82c42e17307c83522de4b3e --- .../radio/ims/media/RtpReceptionStats.aidl | 4 ++-- .../radio/ims/media/IImsMediaSession.aidl | 3 +-- .../radio/ims/media/RtpReceptionStats.aidl | 17 ++++++++++++----- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/current/android/hardware/radio/ims/media/RtpReceptionStats.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/current/android/hardware/radio/ims/media/RtpReceptionStats.aidl index 82b798b1d2..216da4c55c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.ims.media/current/android/hardware/radio/ims/media/RtpReceptionStats.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/current/android/hardware/radio/ims/media/RtpReceptionStats.aidl @@ -35,8 +35,8 @@ package android.hardware.radio.ims.media; @VintfStability parcelable RtpReceptionStats { int rtpTimestamp; - int rtpSequenceNumber; - int timeDurationMs; + int rtcpSrTimestamp; + long rtcpSrNtpTimestamp; int jitterBufferMs; int roundTripTimeMs; } diff --git a/radio/aidl/android/hardware/radio/ims/media/IImsMediaSession.aidl b/radio/aidl/android/hardware/radio/ims/media/IImsMediaSession.aidl index 0fe67406ff..69ca780562 100644 --- a/radio/aidl/android/hardware/radio/ims/media/IImsMediaSession.aidl +++ b/radio/aidl/android/hardware/radio/ims/media/IImsMediaSession.aidl @@ -110,8 +110,7 @@ oneway interface IImsMediaSession { * Adjust the delay in the jitter buffer to synchronize the audio with the time of video * frames * - * @param delayMs The delay to apply to the jitter buffer. If it is positive, the jitter - * buffer increases the delay, if it is negative, the jitter buffer decreases the delay. + * @param delayMs The additional delay to the jitter buffer in milliseconds. * * This is available when android.hardware.telephony.ims is defined. */ diff --git a/radio/aidl/android/hardware/radio/ims/media/RtpReceptionStats.aidl b/radio/aidl/android/hardware/radio/ims/media/RtpReceptionStats.aidl index 1239d13474..81c0bb27dc 100644 --- a/radio/aidl/android/hardware/radio/ims/media/RtpReceptionStats.aidl +++ b/radio/aidl/android/hardware/radio/ims/media/RtpReceptionStats.aidl @@ -20,12 +20,19 @@ package android.hardware.radio.ims.media; parcelable RtpReceptionStats { /** The timestamp of the latest RTP packet received */ int rtpTimestamp; - /** The sequence number of latest RTP packet received */ - int rtpSequenceNumber; - /** The system clock time in millisecond of latest RTP packet received */ - int timeDurationMs; - /** The jitter buffer size in millisecond when latest RTP packet received */ + + /** The timestamp of the latest RTCP-SR packet received */ + int rtcpSrTimestamp; + + /** The NTP timestamp of latest RTCP-SR packet received */ + long rtcpSrNtpTimestamp; + + /** + * The mean jitter buffer delay of a media stream from received to playback, measured in + * milliseconds, within the reporting interval + */ int jitterBufferMs; + /** The round trip time delay in millisecond when latest RTP packet received */ int roundTripTimeMs; }