Opened 9 years ago
Closed 9 years ago
#5451 closed defect (fixed)
Chromium: VP8 WebM broken after "replace AVStream.codec with AVStream.codecpar"
Reported by: | misc | Owned by: | |
---|---|---|---|
Priority: | important | Component: | avcodec |
Version: | git-master | Keywords: | codecpar regression |
Cc: | derek.buitenhuis@gmail.com | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Since "lavf: replace AVStream.codec with AVStream.codecpar" resp. 6f69f7a (bisected) VP8 WebM video won't play anymore on Chromium, instead showing on chrome:media-internals eg. (with 849e55e)
00:00:00 00 pipeline_state kCreated
00:00:00 00 event WEBMEDIAPLAYER_CREATED
00:00:00 00 url file:///home/misc/vp8.webm
00:00:00 08 total_bytes 3081089
00:00:00 08 streaming false
00:00:00 08 single_origin true
00:00:00 08 passed_cors_access_check false
00:00:00 08 range_header_supported true
00:00:00 08 pipeline_state kInitDemuxer
00:00:00 10 error FFmpegDemuxer: failed creating video stream
00:00:00 10 info FFmpegDemuxer: skipping invalid or unsupported video track
00:00:00 10 error FFmpegDemuxer: no supported streams
00:00:00 10 pipeline_state kStopping
00:00:00 10 pipeline_state kStopped
00:00:00 10 pipeline_error demuxer: no supported streams
resp. on console
[278:278:0418/190655:ERROR:render_media_log.cc(23)] MediaEvent: PIPELINE_ERROR demuxer: no supported streams
VP9 WebMs play fine, however. Audio still seems to play fine with either format.
ffmpeg was compiled with --enable-libvpx, libvpx itself is at its most recent git 9faa029.
Chromium was (without effect) recompiled for good measure, although that doesn't appear necessary. It is (of course) set to use the system's ffmpeg, which requires compiling with
https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-system-ffmpeg-r2.patch
I know this probably falls under NOTOURBUG, but I still thought it worth reporting seeing that it only appears with VP8.
Change History (5)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
Blocked By: | → codecpar regression |
---|---|
Component: | undetermined → avcodec |
Priority: | normal → important |
comment:3 by , 9 years ago
Looks like this happens because Chromium relies on coded_width/height being set, which is technically wrong, and a piece of information that AVCodecParameters will also no longer provide.
Nevertheless, we could export coded_width/height again in the deprecated compat code to avoid apps breaking from this, as long as st->codec is not removed yet.
comment:4 by , 9 years ago
Blocked By: | codecpar regression |
---|---|
Keywords: | codecpar regression added |
moving keywords into keywords section
comment:5 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Should be fixed in 60de31e98c1630c11d13a4789e1dfacddc31ef9d
I believe Chromium (or Chrome) uses libvpx for VP9 decoding, that may be why vp9 works.