diff options
Diffstat (limited to 'media/libstagefright/httplive/LiveSession.cpp')
-rw-r--r-- | media/libstagefright/httplive/LiveSession.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/media/libstagefright/httplive/LiveSession.cpp b/media/libstagefright/httplive/LiveSession.cpp index 9daab3b..ead54ef 100644 --- a/media/libstagefright/httplive/LiveSession.cpp +++ b/media/libstagefright/httplive/LiveSession.cpp @@ -1509,14 +1509,15 @@ void LiveSession::onChangeConfiguration3(const sp<AMessage> &msg) { if (meta != NULL && !meta->findInt32("discontinuity", &type)) { int64_t tmpUs; + int64_t tmpSegmentUs; + CHECK(meta->findInt64("timeUs", &tmpUs)); - if (startTimeUs < 0 || tmpUs < startTimeUs) { + CHECK(meta->findInt64("segmentStartTimeUs", &tmpSegmentUs)); + if (startTimeUs < 0 || tmpSegmentUs < segmentStartTimeUs) { + startTimeUs = tmpUs; + segmentStartTimeUs = tmpSegmentUs; + } else if (tmpSegmentUs == segmentStartTimeUs && tmpUs < startTimeUs) { startTimeUs = tmpUs; - } - - CHECK(meta->findInt64("segmentStartTimeUs", &tmpUs)); - if (segmentStartTimeUs < 0 || tmpUs < segmentStartTimeUs) { - segmentStartTimeUs = tmpUs; } int32_t seq; |