aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/tuner/cc/Cea708Parser.java
diff options
context:
space:
mode:
authorNick Chalko <nchalko@google.com>2017-05-09 14:07:44 -0700
committerNick Chalko <nchalko@google.com>2017-05-10 09:49:18 -0700
commit0550a7221be0581b0bd421a9d70400ff8699a6e7 (patch)
tree14d9836ff9283690321c166560ee3450792236ad /src/com/android/tv/tuner/cc/Cea708Parser.java
parent430c2be3b91676005fdd243553e38acff8dfc3de (diff)
downloadTV-0550a7221be0581b0bd421a9d70400ff8699a6e7.tar.gz
hash 550cbec17259717c5453f6be1eb05736ba10ef1d Bug: 37849928 Test: tested on vendor branch Change-Id: I82190481d2bcef2b89e78414b6b92ed97720749d Merged-In: I4199ec04cacb4a78be58b85302a39d917658dc28
Diffstat (limited to 'src/com/android/tv/tuner/cc/Cea708Parser.java')
-rw-r--r--src/com/android/tv/tuner/cc/Cea708Parser.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/com/android/tv/tuner/cc/Cea708Parser.java b/src/com/android/tv/tuner/cc/Cea708Parser.java
index 92ab0620..c43fe512 100644
--- a/src/com/android/tv/tuner/cc/Cea708Parser.java
+++ b/src/com/android/tv/tuner/cc/Cea708Parser.java
@@ -140,6 +140,7 @@ public class Cea708Parser {
private int mCommand = 0;
private int mListenServiceNumber = 0;
private boolean mDtvCcPacking = false;
+ private boolean mFirstServiceNumberDiscovered;
// Assign a dummy listener in order to avoid null checks.
private OnCea708ParserListener mListener = new OnCea708ParserListener() {
@@ -332,12 +333,14 @@ public class Cea708Parser {
mDiscoveredNumBytes.put(
serviceNumber, blockSize + mDiscoveredNumBytes.get(serviceNumber, 0));
}
- if (mLastDiscoveryLaunchedMs + DISCOVERY_PERIOD_MS < SystemClock.elapsedRealtime()) {
+ if (mLastDiscoveryLaunchedMs + DISCOVERY_PERIOD_MS < SystemClock.elapsedRealtime()
+ || !mFirstServiceNumberDiscovered) {
for (int i = 0; i < mDiscoveredNumBytes.size(); ++i) {
int discoveredNumBytes = mDiscoveredNumBytes.valueAt(i);
if (discoveredNumBytes >= DISCOVERY_NUM_BYTES_THRESHOLD) {
int discoveredServiceNumber = mDiscoveredNumBytes.keyAt(i);
mListener.discoverServiceNumber(discoveredServiceNumber);
+ mFirstServiceNumberDiscovered = true;
}
}
mDiscoveredNumBytes.clear();