vlc | branch: master | Francois Cartegnie <[email protected]> | Thu Nov 21 14:28:31 2019 +0900| [28f082add71568b9b56fd0f3febc97c34ac91186] | committer: Francois Cartegnie
demux: adaptive: declare codecs for MIME only ttml/webvtt > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=28f082add71568b9b56fd0f3febc97c34ac91186 --- modules/demux/adaptive/Streams.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/modules/demux/adaptive/Streams.cpp b/modules/demux/adaptive/Streams.cpp index 9bee3c4396..bff61f1088 100644 --- a/modules/demux/adaptive/Streams.cpp +++ b/modules/demux/adaptive/Streams.cpp @@ -671,11 +671,36 @@ void AbstractStream::trackerEvent(const SegmentTrackerEvent &event) } } +static void add_codec_string_from_fourcc(vlc_fourcc_t fourcc, + std::list<std::string> &codecs) +{ + std::string codec; + codec.insert(0, reinterpret_cast<const char *>(&fourcc), 4); + codecs.push_back(codec); +} + void AbstractStream::declaredCodecs() { const std::string & streamDesc = segmentTracker->getStreamDescription(); const std::string & streamLang = segmentTracker->getStreamLanguage(); std::list<std::string> codecs = segmentTracker->getCurrentCodecs(); + + if(codecs.empty()) + { + const StreamFormat format = segmentTracker->getCurrentFormat(); + switch(format) + { + case StreamFormat::TTML: + add_codec_string_from_fourcc(VLC_CODEC_TTML, codecs); + break; + case StreamFormat::WEBVTT: + add_codec_string_from_fourcc(VLC_CODEC_WEBVTT, codecs); + break; + default: + break; + } + } + for(std::list<std::string>::const_iterator it = codecs.begin(); it != codecs.end(); ++it) { _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
