summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--media/libstagefright/chromium_http/support.cpp10
-rw-r--r--media/libstagefright/httplive/LiveSession.cpp35
2 files changed, 27 insertions, 18 deletions
diff --git a/media/libstagefright/chromium_http/support.cpp b/media/libstagefright/chromium_http/support.cpp
index eb10ab7..26c3eda 100644
--- a/media/libstagefright/chromium_http/support.cpp
+++ b/media/libstagefright/chromium_http/support.cpp
@@ -183,19 +183,19 @@ void SfDelegate::setOwner(ChromiumHTTPDataSource *owner) {
void SfDelegate::OnReceivedRedirect(
net::URLRequest *request, const GURL &new_url, bool *defer_redirect) {
- MY_LOGI("OnReceivedRedirect");
+ MY_LOGV("OnReceivedRedirect");
}
void SfDelegate::OnAuthRequired(
net::URLRequest *request, net::AuthChallengeInfo *auth_info) {
- MY_LOGI("OnAuthRequired");
+ MY_LOGV("OnAuthRequired");
inherited::OnAuthRequired(request, auth_info);
}
void SfDelegate::OnCertificateRequested(
net::URLRequest *request, net::SSLCertRequestInfo *cert_request_info) {
- MY_LOGI("OnCertificateRequested");
+ MY_LOGV("OnCertificateRequested");
inherited::OnCertificateRequested(request, cert_request_info);
}
@@ -208,7 +208,7 @@ void SfDelegate::OnSSLCertificateError(
}
void SfDelegate::OnGetCookies(net::URLRequest *request, bool blocked_by_policy) {
- MY_LOGI("OnGetCookies");
+ MY_LOGV("OnGetCookies");
}
void SfDelegate::OnSetCookie(
@@ -216,7 +216,7 @@ void SfDelegate::OnSetCookie(
const std::string &cookie_line,
const net::CookieOptions &options,
bool blocked_by_policy) {
- MY_LOGI("OnSetCookie");
+ MY_LOGV("OnSetCookie");
}
void SfDelegate::OnResponseStarted(net::URLRequest *request) {
diff --git a/media/libstagefright/httplive/LiveSession.cpp b/media/libstagefright/httplive/LiveSession.cpp
index 2578d2d..f67cdac 100644
--- a/media/libstagefright/httplive/LiveSession.cpp
+++ b/media/libstagefright/httplive/LiveSession.cpp
@@ -617,23 +617,32 @@ rinse_repeat:
goto rinse_repeat;
}
- if (!mPlaylist->isComplete()
- && mSeqNumber > lastSeqNumberInPlaylist
- && mNumRetries < kMaxNumRetries) {
+ if (!mPlaylist->isComplete() && mNumRetries < kMaxNumRetries) {
++mNumRetries;
- mLastPlaylistFetchTimeUs = -1;
- postMonitorQueue(3000000ll);
- return;
- }
+ if (mSeqNumber > lastSeqNumberInPlaylist) {
+ mLastPlaylistFetchTimeUs = -1;
+ postMonitorQueue(3000000ll);
+ return;
+ }
- LOGE("Cannot find sequence number %d in playlist "
- "(contains %d - %d)",
- mSeqNumber, firstSeqNumberInPlaylist,
- firstSeqNumberInPlaylist + mPlaylist->size() - 1);
+ // we've missed the boat, let's start from the lowest sequence
+ // number available and signal a discontinuity.
- mDataSource->queueEOS(ERROR_END_OF_STREAM);
- return;
+ LOGI("We've missed the boat, restarting playback.");
+ mSeqNumber = lastSeqNumberInPlaylist;
+ explicitDiscontinuity = true;
+
+ // fall through
+ } else {
+ LOGE("Cannot find sequence number %d in playlist "
+ "(contains %d - %d)",
+ mSeqNumber, firstSeqNumberInPlaylist,
+ firstSeqNumberInPlaylist + mPlaylist->size() - 1);
+
+ mDataSource->queueEOS(ERROR_END_OF_STREAM);
+ return;
+ }
}
mNumRetries = 0;