am 66d9ff5f: Fix for 4198445 HC - Support for Widevine Live Streaming (adaptive)

* commit '66d9ff5fb5f99ba77e02a4719e4c65aec2aa8c4a':
  Fix for 4198445 HC - Support for Widevine Live Streaming (adaptive)
This commit is contained in:
Jeffrey Tinker
2011-06-02 13:58:08 -07:00
committed by Android Git Automerger
7 changed files with 43 additions and 11 deletions

View File

@@ -36,11 +36,13 @@ static void _cb(int code)
status_t WVMMediaSource::sLastError = NO_ERROR;
WVMMediaSource::WVMMediaSource(WVSession *session, WVEsSelector esSelector,
const sp<MetaData> &metaData)
const sp<MetaData> &metaData, bool isLive)
: mSession(session),
mESSelector(esSelector),
mTrackMetaData(metaData),
mStarted(false),
mIsLiveStream(isLive),
mNewSegment(false),
mGroup(NULL),
mDts(0),
mPts(0)
@@ -88,6 +90,7 @@ status_t WVMMediaSource::start(MetaData *)
allocBufferGroup();
mNewSegment = true;
mStarted = true;
mLogOnce = true;
@@ -157,6 +160,15 @@ status_t WVMMediaSource::read(MediaBuffer **buffer, const ReadOptions *options)
*buffer = NULL;
bool seekNextSync = false;
#if 0
// The sync bits aren't working right yet on live streams, so need to disable this
// for now.
if (mIsLiveStream && mNewSegment && (mESSelector == WV_EsSelector_Video)) {
seekNextSync = true;
mNewSegment = false;
}
#endif
int64_t seekTimeUs;
int retryLimit = 500; // Limit on number of retries before timeout, 10ms per retry
@@ -332,9 +344,9 @@ status_t WVMMediaSource::read(MediaBuffer **buffer, const ReadOptions *options)
#endif
#if 0
LOGD("[%p] %s set range_length=%d, get range_length=%d kKeyTime=%lld sync=%d\n", mediaBuf,
LOGD("[%p] %s packet length=%d kKeyTime=%lld %s\n", mediaBuf,
(mESSelector == WV_EsSelector_Video ? "video" : "audio"),
bytesRead + offset, mediaBuf->range_length(), keyTime, syncFrame);
bytesRead + offset, keyTime, syncFrame ? "sync" : "");
#endif
*buffer = mediaBuf;