summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--media/libstagefright/rtsp/ASessionDescription.cpp3
-rw-r--r--media/libstagefright/rtsp/MyHandler.h6
2 files changed, 7 insertions, 2 deletions
diff --git a/media/libstagefright/rtsp/ASessionDescription.cpp b/media/libstagefright/rtsp/ASessionDescription.cpp
index f03f7a2..fd0505e 100644
--- a/media/libstagefright/rtsp/ASessionDescription.cpp
+++ b/media/libstagefright/rtsp/ASessionDescription.cpp
@@ -301,6 +301,9 @@ void ASessionDescription::ParseFormatDesc(
// static
bool ASessionDescription::parseNTPRange(
const char *s, float *npt1, float *npt2) {
+ *npt1 = 0.0f;
+ *npt2 = 0.0f;
+
if (s[0] == '-') {
return false; // no start time available.
}
diff --git a/media/libstagefright/rtsp/MyHandler.h b/media/libstagefright/rtsp/MyHandler.h
index d15d9c5..f89f8e2 100644
--- a/media/libstagefright/rtsp/MyHandler.h
+++ b/media/libstagefright/rtsp/MyHandler.h
@@ -995,10 +995,12 @@ struct MyHandler : public AHandler {
AString val;
CHECK(GetAttribute(range.c_str(), "npt", &val));
+ bool seekable = true;
+
float npt1, npt2;
if (!ASessionDescription::parseNTPRange(val.c_str(), &npt1, &npt2)) {
// This is a live stream and therefore not seekable.
- return;
+ seekable = false;
}
i = response->mHeaders.indexOfKey("rtp-info");
@@ -1044,7 +1046,7 @@ struct MyHandler : public AHandler {
++n;
}
- mSeekable = true;
+ mSeekable = seekable;
}
sp<APacketSource> getPacketSource(size_t index) {