似乎MediaSource和Progressive播放使用不同的分路器。 ChunkDemuxer用于MediaSource,ShellDemuxer用于逐行播放。
在ShellParser.cpp实现中:
PipelineStatus ShellParser::Construct(
scoped_refptr<ShellDataSourceReader> reader,
scoped_refptr<ShellParser>* parser,
const scoped_refptr<MediaLog>& media_log) {
DCHECK(parser);
DCHECK(media_log);
*parser = NULL;
// download first 16 bytes of stream to determine file type and extract basic
// container-specific stream configuration information
uint8 header[kInitialHeaderSize];
int bytes_read = reader->BlockingRead(0, kInitialHeaderSize, header);
if (bytes_read != kInitialHeaderSize) {
return DEMUXER_ERROR_COULD_NOT_PARSE;
}
// attempt to construct mp4 parser from this header
return ShellMP4Parser::Construct(reader, header, parser, media_log);
}
似乎Cobalt只能解压缩MP4容器(仅限ShellMP4Parser )以进行渐进式播放。
Cobalt的状态是否已知?我们如何在设备上支持webm渐进式播放?
答案 0 :(得分:0)
Cobalt不支持WebM / VP9渐进式播放。我们更改了渐进一致性测试以将VP9更改为H264。这将很快推出。 https://github.com/youtube/js_mse_eme/commit/d7767e13be7ed8b8bdb2efda39337a4a2fb121ba