summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dxr3device.c8
-rw-r--r--dxr3device.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/dxr3device.c b/dxr3device.c
index 938eac6..7c8b8fa 100644
--- a/dxr3device.c
+++ b/dxr3device.c
@@ -279,6 +279,14 @@ int cDxr3Device::PlayAudio(const uchar *Data, int Length, uchar Id)
return Length;
}
+ uint32_t pts = frame.pts();
+
+ if (pts == 0) {
+ pts = aPts;
+ } else {
+ aPts = pts;
+ }
+
bool isAc3 = ((Id & 0xF0) == 0x80) || Id == 0xbd;
if (!isAc3) {
diff --git a/dxr3device.h b/dxr3device.h
index 59fe5ba..c4c0402 100644
--- a/dxr3device.h
+++ b/dxr3device.h
@@ -134,6 +134,7 @@ private:
int fdSpu;
uint32_t vPts;
+ uint32_t aPts;
bool scrSet;
int playCount;