summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2010-05-10 16:06:28 +0200
committerChristian Gmeiner <christian.gmeiner@gmail.com>2010-05-10 16:06:28 +0200
commitf6eaf45450a472c0a2ee838ec3568dd61055442b (patch)
tree65b2d3aff4dd388961dfb10257ba0621d55a8258
parent4e4fab2b42b96857f63ee41ba09566e34980121e (diff)
downloadvdr-plugin-dxr3-f6eaf45450a472c0a2ee838ec3568dd61055442b.tar.gz
vdr-plugin-dxr3-f6eaf45450a472c0a2ee838ec3568dd61055442b.tar.bz2
keep track of current audio pts value
-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;