summaryrefslogtreecommitdiffstats
path: root/src/OutputUHD.cpp
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2015-04-10 11:00:48 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2015-04-10 11:02:45 +0200
commit56a0a84466ca661179b534de52f728af450800a8 (patch)
tree6c97b54a296e0d7c4f8ff7dc6b7b86c273c715f1 /src/OutputUHD.cpp
parentc4fa1521c1c727e50859df93a29c65913368c923 (diff)
downloaddabmod-56a0a84466ca661179b534de52f728af450800a8.tar.gz
dabmod-56a0a84466ca661179b534de52f728af450800a8.tar.bz2
dabmod-56a0a84466ca661179b534de52f728af450800a8.zip
Add check for FCT validity
Diffstat (limited to 'src/OutputUHD.cpp')
-rw-r--r--src/OutputUHD.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/OutputUHD.cpp b/src/OutputUHD.cpp
index a877161..e8950a2 100644
--- a/src/OutputUHD.cpp
+++ b/src/OutputUHD.cpp
@@ -471,10 +471,16 @@ void UHDWorker::process()
/* Verify that the FCT value is correct. If we miss one transmission
* frame we must interrupt UHD and resync to the timestamps
*/
+ if (frame->ts.fct == -1) {
+ uwd->logger->level(info) <<
+ "OutputUHD: dropping one frame with invalid FCT";
+ goto loopend;
+ }
if (expected_next_fct != -1) {
if (expected_next_fct != (int)frame->ts.fct) {
uwd->logger->level(warn) <<
- "OutputUHD: Incorrect expect fct " << frame->ts.fct;
+ "OutputUHD: Incorrect expect fct " << frame->ts.fct <<
+ ", expected " << expected_next_fct;
fct_discontinuity = true;
throw fct_discontinuity_error();