summaryrefslogtreecommitdiff
path: root/libs/audiographer/src
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-03-22 16:01:40 +0100
committerRobin Gareus <robin@gareus.org>2015-03-22 16:12:40 +0100
commitfbe673d9c7da1b0fe3966b5161c2bccca68aa4ea (patch)
tree6ec37b24e7ab6c789f92b812eacabd415f9f65f1 /libs/audiographer/src
parent39e5f7b94b6b4fe08fabae648c1e5133fd624482 (diff)
fix #6208, negative broadcast timestamps
Diffstat (limited to 'libs/audiographer/src')
-rw-r--r--libs/audiographer/src/general/broadcast_info.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/audiographer/src/general/broadcast_info.cc b/libs/audiographer/src/general/broadcast_info.cc
index df69ac9c79..5daee9b2ec 100644
--- a/libs/audiographer/src/general/broadcast_info.cc
+++ b/libs/audiographer/src/general/broadcast_info.cc
@@ -110,9 +110,13 @@ BroadcastInfo::get_time_reference () const
return 0;
}
- int64_t ret = (uint32_t) info->time_reference_high;
+ if (info->time_reference_high & 0x80000000) {
+ return 0;
+ }
+
+ int64_t ret = (uint32_t) (info->time_reference_high & 0x7fffffff);
ret <<= 32;
- ret |= (uint32_t) info->time_reference_low;
+ ret |= (uint32_t) (info->time_reference_low & 0xffffffff);
return ret;
}