HLS: do not discard packets when queuing explicit discontinuity
in case of explicit discontinuity (#EXT-X-DISCONTINUITY tag in the
playlist), do not discard packets that's already queued.
(when seeking, the old fetcher will be discarded so this won't affect
seeking case.)
Bug: 15020526
Change-Id: I5d3fc489df35e3bc44acb1ee7851571cb99cb56b
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.cpp b/media/libmediaplayerservice/nuplayer/GenericSource.cpp
index 5cf9238..388f77a 100644
--- a/media/libmediaplayerservice/nuplayer/GenericSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/GenericSource.cpp
@@ -272,7 +272,9 @@
if (seeking) {
track->mPackets->queueDiscontinuity(
- ATSParser::DISCONTINUITY_SEEK, NULL);
+ ATSParser::DISCONTINUITY_SEEK,
+ NULL,
+ true /* discard */);
}
track->mPackets->queueAccessUnit(buffer);
@@ -280,7 +282,9 @@
} else if (err == INFO_FORMAT_CHANGED) {
#if 0
track->mPackets->queueDiscontinuity(
- ATSParser::DISCONTINUITY_FORMATCHANGE, NULL);
+ ATSParser::DISCONTINUITY_FORMATCHANGE,
+ NULL,
+ false /* discard */);
#endif
} else {
track->mPackets->signalEOS(err);