commit cb7c6fd6f561cd707f2d232ef484e73b77d5019a
parent 8188dec434a7b65ed44c8caf35967479754113b6
Author: Andrew Osmond <aosmond@gmail.com>
Date: Sun, 23 Nov 2025 22:53:50 +0000
Bug 2001771 - MediaDrmRemoteCDMParent::HandleExpiration should use int64_t instead int. r=media-playback-reviewers,karlt
This was causing timestamps to get truncated.
Differential Revision: https://phabricator.services.mozilla.com/D273703
Diffstat:
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/dom/media/eme/mediadrm/MediaDrmRemoteCDMParent.cpp b/dom/media/eme/mediadrm/MediaDrmRemoteCDMParent.cpp
@@ -6,8 +6,6 @@
#include "MediaDrmRemoteCDMParent.h"
-#include <dlfcn.h>
-
#include <limits>
#include "mozilla/CheckedInt.h"
@@ -730,7 +728,7 @@ void MediaDrmRemoteCDMParent::HandleEvent(nsString&& aSessionId,
}
void MediaDrmRemoteCDMParent::HandleExpirationUpdate(nsString&& aSessionId,
- int aExpiryTimeInMS) {
+ int64_t aExpiryTimeInMS) {
const auto i = mSessions.find(aSessionId);
if (i == mSessions.end()) {
EME_LOG(
@@ -741,8 +739,8 @@ void MediaDrmRemoteCDMParent::HandleExpirationUpdate(nsString&& aSessionId,
}
EME_LOG("[%p] MediaDrmRemoteCDMParent::HandleExpirationUpdate", this);
- (void)SendOnSessionKeyExpiration(
- RemoteCDMKeyExpirationIPDL(std::move(aSessionId), aExpiryTimeInMS));
+ (void)SendOnSessionKeyExpiration(RemoteCDMKeyExpirationIPDL(
+ std::move(aSessionId), static_cast<double>(aExpiryTimeInMS)));
}
void MediaDrmRemoteCDMParent::HandleKeysChange(
diff --git a/dom/media/eme/mediadrm/MediaDrmRemoteCDMParent.h b/dom/media/eme/mediadrm/MediaDrmRemoteCDMParent.h
@@ -131,7 +131,7 @@ class MediaDrmRemoteCDMParent final : public RemoteCDMParent {
void HandleEvent(nsString&& aSessionId, AMediaDrmEventType aEventType,
int aExtra, nsTArray<uint8_t>&& aData);
- void HandleExpirationUpdate(nsString&& aSessionId, int aExpiryTimeInMS);
+ void HandleExpirationUpdate(nsString&& aSessionId, int64_t aExpiryTimeInMS);
void HandleKeysChange(nsString&& aSessionId, bool aHasNewUsableKey,
nsTArray<CDMKeyInfo>&& aKeyInfo);