Keep TS packets with no continuity counter increase and no payload

This behavior is defined in ISO-13818-1, section 2.4.3.3(continuity_counter).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140029161
This commit is contained in:
aquilescanta 2016-11-23 07:13:36 -08:00 committed by Oliver Woodman
parent eb62d00ea4
commit a7dff14d3c

View file

@ -216,9 +216,11 @@ public final class TsExtractor implements Extractor {
int previousCounter = continuityCounters.get(pid, continuityCounter - 1); int previousCounter = continuityCounters.get(pid, continuityCounter - 1);
continuityCounters.put(pid, continuityCounter); continuityCounters.put(pid, continuityCounter);
if (previousCounter == continuityCounter) { if (previousCounter == continuityCounter) {
// Duplicate packet found. if (payloadExists) {
tsPacketBuffer.setPosition(endOfPacket); // Duplicate packet found.
return RESULT_CONTINUE; tsPacketBuffer.setPosition(endOfPacket);
return RESULT_CONTINUE;
}
} else if (continuityCounter != (previousCounter + 1) % 16) { } else if (continuityCounter != (previousCounter + 1) % 16) {
discontinuityFound = true; discontinuityFound = true;
} }