vlc | branch: master | Francois Cartegnie <[email protected]> | Mon May 13 18:15:25 2019 +0200| [a047b31b978e4a3bd86b3c1a8f7dec9281d1a056] | committer: Francois Cartegnie
demux: hls: use probed format only > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a047b31b978e4a3bd86b3c1a8f7dec9281d1a056 --- modules/demux/adaptive/SegmentTracker.cpp | 6 +++--- modules/demux/adaptive/Streams.cpp | 2 +- modules/demux/hls/HLSStreams.cpp | 4 ++-- modules/demux/hls/playlist/Parser.cpp | 32 ------------------------------- modules/demux/hls/playlist/Parser.hpp | 1 - 5 files changed, 6 insertions(+), 39 deletions(-) diff --git a/modules/demux/adaptive/SegmentTracker.cpp b/modules/demux/adaptive/SegmentTracker.cpp index 9e835c1c15..be7554aee1 100644 --- a/modules/demux/adaptive/SegmentTracker.cpp +++ b/modules/demux/adaptive/SegmentTracker.cpp @@ -88,7 +88,7 @@ SegmentTracker::SegmentTracker(SharedResources *res, curRepresentation = NULL; setAdaptationLogic(logic_); adaptationSet = adaptSet; - format = StreamFormat::UNSUPPORTED; + format = StreamFormat::UNKNOWN; } SegmentTracker::~SegmentTracker() @@ -134,7 +134,7 @@ void SegmentTracker::reset() init_sent = false; index_sent = false; initializing = true; - format = StreamFormat::UNSUPPORTED; + format = StreamFormat::UNKNOWN; } SegmentChunk * SegmentTracker::getNextChunk(bool switch_allowed, @@ -201,7 +201,7 @@ SegmentChunk * SegmentTracker::getNextChunk(bool switch_allowed, if(rep->getStreamFormat() != format) { /* Initial format ? */ - if(format == StreamFormat(StreamFormat::UNSUPPORTED)) + if(format == StreamFormat(StreamFormat::UNKNOWN)) { format = rep->getStreamFormat(); } diff --git a/modules/demux/adaptive/Streams.cpp b/modules/demux/adaptive/Streams.cpp index e477ef4c35..dda8c101f6 100644 --- a/modules/demux/adaptive/Streams.cpp +++ b/modules/demux/adaptive/Streams.cpp @@ -42,7 +42,7 @@ using namespace adaptive::http; AbstractStream::AbstractStream(demux_t * demux_) { p_realdemux = demux_; - format = StreamFormat::UNSUPPORTED; + format = StreamFormat::UNKNOWN; currentChunk = NULL; eof = false; valid = true; diff --git a/modules/demux/hls/HLSStreams.cpp b/modules/demux/hls/HLSStreams.cpp index 7d01f80b55..7bd90c885c 100644 --- a/modules/demux/hls/HLSStreams.cpp +++ b/modules/demux/hls/HLSStreams.cpp @@ -163,11 +163,11 @@ AbstractDemuxer *HLSStream::newDemux(demux_t *p_realdemux, const StreamFormat &f return ret; } -AbstractStream * HLSStreamFactory::create(demux_t *realdemux, const StreamFormat &, +AbstractStream * HLSStreamFactory::create(demux_t *realdemux, const StreamFormat &format, SegmentTracker *tracker, AbstractConnectionManager *manager) const { HLSStream *stream = new (std::nothrow) HLSStream(realdemux); - if(stream && !stream->init(StreamFormat(StreamFormat::UNKNOWN), tracker, manager)) + if(stream && !stream->init(format, tracker, manager)) { delete stream; return NULL; diff --git a/modules/demux/hls/playlist/Parser.cpp b/modules/demux/hls/playlist/Parser.cpp index dd60b46275..9e990d9c3f 100644 --- a/modules/demux/hls/playlist/Parser.cpp +++ b/modules/demux/hls/playlist/Parser.cpp @@ -87,36 +87,6 @@ static void releaseTagsList(std::list<Tag *> &list) list.clear(); } -void M3U8Parser::setFormatFromExtension(Representation *rep, const std::string &filename) -{ - std::size_t pos = filename.find_last_of('.'); - if(pos != std::string::npos) - { - std::string extension = Helper::getFileExtension(filename); - transform(extension.begin(), extension.end(), extension.begin(), (int (*)(int))std::tolower); - if(extension == "aac") - { - rep->streamFormat = StreamFormat(StreamFormat::PACKEDAAC); - } - else if(extension == "ts" || extension == "mp2t" || extension == "mpeg" || extension == "m2ts") - { - rep->streamFormat = StreamFormat(StreamFormat::MPEG2TS); - } - else if(extension == "mp4" || extension == "m4s" || extension == "mov" || extension == "m4v") - { - rep->streamFormat = StreamFormat(StreamFormat::MP4); - } - else if(extension == "vtt" || extension == "wvtt" || extension == "webvtt") - { - rep->streamFormat = StreamFormat(StreamFormat::WEBVTT); - } - else - { - rep->streamFormat = StreamFormat(StreamFormat::UNKNOWN); - } - } -} - Representation * M3U8Parser::createRepresentation(BaseAdaptationSet *adaptSet, const AttributesTag * tag) { const Attribute *uriAttr = tag->getAttributeByName("URI"); @@ -293,8 +263,6 @@ void M3U8Parser::parseSegments(vlc_object_t *, Representation *rep, const std::l break; segment->setSourceUrl(uritag->getValue().value); - if((unsigned)rep->getStreamFormat() == StreamFormat::UNKNOWN) - setFormatFromExtension(rep, uritag->getValue().value); /* Need to use EXTXTARGETDURATION as default as some can't properly set segment one */ double duration = rep->targetDuration; diff --git a/modules/demux/hls/playlist/Parser.hpp b/modules/demux/hls/playlist/Parser.hpp index 8582184969..5b98704a0c 100644 --- a/modules/demux/hls/playlist/Parser.hpp +++ b/modules/demux/hls/playlist/Parser.hpp @@ -65,7 +65,6 @@ namespace hls void createAndFillRepresentation(vlc_object_t *, BaseAdaptationSet *, const AttributesTag *, const std::list<Tag *>&); void parseSegments(vlc_object_t *, Representation *, const std::list<Tag *>&); - void setFormatFromExtension(Representation *rep, const std::string &); std::list<Tag *> parseEntries(stream_t *); adaptive::SharedResources *resources; }; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
