On playing ISO-BMFF stream with Media Source Extension, last frames are not displayed
Reported by
brevet.a...@gmail.com,
Jan 10 2017
|
|||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 Example URL: Steps to reproduce the problem: 1. Download and unzip the attachment file. 2. Copy/paste files in your local webserver (to avoid security message related to XMLHttpRequest) 3. Open the HTML web page into Chrome What is the expected behavior? Chrome should play the video entirely. What went wrong? Chrome does not play the video entirely. The last frame of the video displays a red cone but this frame is not displayed in Chrome (contrary to Firefox and Safari). Did this work before? No Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? Yes Chrome version: 55.0.2883 Channel: stable OS Version: 6.1 (Windows 7, Windows Server 2008 R2) Flash Version: Shockwave Flash 24.0 r0 Contents of chrome://gpu: Graphics Feature Status Canvas: Hardware accelerated Flash: Hardware accelerated Flash Stage3D: Hardware accelerated Flash Stage3D Baseline profile: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Enabled Native GpuMemoryBuffers: Software only. Hardware acceleration disabled Rasterization: Software only, hardware acceleration unavailable Video Decode: Hardware accelerated Video Encode: Hardware accelerated VPx Video Decode: Software only, hardware acceleration unavailable WebGL: Hardware accelerated WebGL2: Hardware accelerated Driver Bug Workarounds clear_uniforms_before_first_program_use decode_encode_srgb_for_generatemipmap disable_direct_composition disable_discard_framebuffer disable_dxgi_zero_copy_video disable_framebuffer_cmaa exit_on_context_lost force_cube_complete scalarize_vec_and_mat_constructor_args texsubimage_faster_than_teximage The attachment file "video.mp4" is a ISO-BMFF stream and has been encoded using FFMPEG. The attachment file "MediaSource.html" loads and plays the video using Media Source Extension. Chrome seems to keep last frames into a buffer. Buffering should be disabled because after loading this video, Chrome uses the video rendering low delay mode (live streaming mode); see chrome://media-internals.
,
Jan 10 2017
It seems to be working well on Linux.
,
Jan 10 2017
I'd guess the hardware decoder is holding some frames. Likely you need to use markEndOfStream to get the final frames out.
,
Jan 10 2017
Maybe in this case, endOfStream could flush frames buffer, but this behavior is reproducible when playing a live streaming video: Every time my application receives frames over network, it add them to decode using SourceBuffer.appendBuffer(), the last frames are never displayed. I need to add again others frames using appendBuffer to display them. There is a 2-3 frames latency between receiving, decoding and showing the frame.
,
Jan 10 2017
I'm not sure of the specifics of the DXVA decoder, but I believe we use low latency mode where possible so I'm not sure there's more we can do here.
,
Jan 13 2017
,
Jan 17 2017
Able to reproduce the issue on Windows 7 using 55.0.2883.87 and canary 57.0.2983.0. This is a non-regression issue from 35.0.1849.0. Note: Its working fine on Win 10,Mac 10.12.2 and Ubuntu 14.04.
,
Jan 18 2017
I am unable to repro this bug by using repro link in c#1. Since c#8 claimed repro, matt@, can you take a look?
,
Feb 1 2017
By disabling hardware acceleration from chrome://settings, the bug is not reproducible.
,
Feb 13 2017
Any progress on this issue? Thanks
,
Mar 13 2017
Same problem for me. Any progress ? Thanks |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by brevet.a...@gmail.com
, Jan 10 2017