[vlc-devel] [PATCH 4/5] demux: adaptive: modify seekable requirements
Zhao Zhili
quinkblack at foxmail.com
Mon Oct 23 18:14:45 CEST 2017
---
modules/demux/adaptive/Streams.cpp | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/modules/demux/adaptive/Streams.cpp b/modules/demux/adaptive/Streams.cpp
index 399c8812dd..4b143a1d3c 100644
--- a/modules/demux/adaptive/Streams.cpp
+++ b/modules/demux/adaptive/Streams.cpp
@@ -184,10 +184,23 @@ int AbstractStream::esCount() const
bool AbstractStream::seekAble() const
{
- return (demuxer &&
- !fakeesout->restarting() &&
- !discontinuity &&
- !commandsqueue->isDraining() );
+ bool restarting = fakeesout->restarting();
+ bool draining = commandsqueue->isDraining();
+ bool eof = commandsqueue->isEOF();
+
+ msg_Dbg(p_realdemux, "demuxer %p, fakeesout restarting %d, "
+ "discontinuity %d, commandsqueue draining %d, commandsqueue eof %d",
+ static_cast<void *>(demuxer), restarting, discontinuity, draining, eof);
+
+ if(!demuxer || restarting || discontinuity || (!eof && draining))
+ {
+ msg_Warn(p_realdemux, "not seekable");
+ return false;
+ }
+ else
+ {
+ return true;
+ }
}
bool AbstractStream::isSelected() const
--
2.14.2
More information about the vlc-devel
mailing list