Commit e32b023f authored by François Cartegnie's avatar François Cartegnie 🤞

demux: dash: add WebM support

parent c3869a48
...@@ -15,6 +15,7 @@ Audio output: ...@@ -15,6 +15,7 @@ Audio output:
Demuxer: Demuxer:
* Support for HEIF format * Support for HEIF format
* Support for DASH WebM
Codecs: Codecs:
* Support for experimental AV1 video encoding * Support for experimental AV1 video encoding
......
...@@ -46,6 +46,8 @@ std::string StreamFormat::str() const ...@@ -46,6 +46,8 @@ std::string StreamFormat::str() const
return "Timed Text"; return "Timed Text";
case PACKEDAAC: case PACKEDAAC:
return "Packed AAC"; return "Packed AAC";
case WEBM:
return "WebM";
case UNSUPPORTED: case UNSUPPORTED:
return "Unsupported"; return "Unsupported";
default: default:
...@@ -76,6 +78,8 @@ StreamFormat::StreamFormat( const std::string &mimetype ) ...@@ -76,6 +78,8 @@ StreamFormat::StreamFormat( const std::string &mimetype )
formatid = StreamFormat::WEBVTT; formatid = StreamFormat::WEBVTT;
else if (tail == "ttml+xml") else if (tail == "ttml+xml")
formatid = StreamFormat::TTML; formatid = StreamFormat::TTML;
else if (tail == "webm")
formatid = StreamFormat::WEBM;
} }
} }
......
...@@ -34,6 +34,7 @@ namespace adaptive ...@@ -34,6 +34,7 @@ namespace adaptive
static const unsigned WEBVTT = 3; static const unsigned WEBVTT = 3;
static const unsigned TTML = 4; static const unsigned TTML = 4;
static const unsigned PACKEDAAC = 5; static const unsigned PACKEDAAC = 5;
static const unsigned WEBM = 6;
static const unsigned UNKNOWN = 0xFF; /* will probe */ static const unsigned UNKNOWN = 0xFF; /* will probe */
StreamFormat( unsigned = UNSUPPORTED ); StreamFormat( unsigned = UNSUPPORTED );
......
...@@ -46,6 +46,10 @@ AbstractDemuxer *DASHStream::newDemux(demux_t *p_realdemux, const StreamFormat & ...@@ -46,6 +46,10 @@ AbstractDemuxer *DASHStream::newDemux(demux_t *p_realdemux, const StreamFormat &
ret = AbstractStream::newDemux(p_realdemux, format, out, source); ret = AbstractStream::newDemux(p_realdemux, format, out, source);
break; break;
case StreamFormat::WEBM:
ret = new Demuxer(p_realdemux, "mkv", out, source);
break;
case StreamFormat::WEBVTT: case StreamFormat::WEBVTT:
ret = new SlaveDemuxer(p_realdemux, "webvtt", out, source); ret = new SlaveDemuxer(p_realdemux, "webvtt", out, source);
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment