Bug 36536

Summary: multipart/x-mixed-replace does not show final frame in MJPEG over HTTP
Product: WebKit Reporter: Riven <s.balk>
Component: ImagesAssignee: Nobody <webkit-unassigned>
Status: UNCONFIRMED    
Severity: Minor CC: ap, christopher.stanton, elisjohn64, koivisto, mackyle, socket.h, thenarant
Priority: P1    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows Vista   
URL: http://indiespot.net/files/mjpeg.html

Riven
Reported 2010-03-24 08:54:41 PDT
the last frame of the MJPEG movie contains the text "END OF MESSAGE", which is not shown in WebKit
Attachments
Christopher Stanton
Comment 1 2011-04-20 18:10:56 PDT
I have a custom MJPEG server which multiplexes various MJPEG camera streams to users. The when the stream terminates (upstream from the server/in the server), either due to a stream failure, the stream being disconnected, etc the last frame is used as a status frame to provide the user info and so they don't think the stream is hung. For some reason WebKit (in Chrome) does not display the frame even though the stream is terminated by a valid terminating break. Content-Type: multipart/mixed; boundary="MYBOUNDARY" Boundaries between parts are "--MYBOUNDARY" The end of the stream is signified by "--MYBOUNDARY--". http://en.wikipedia.org/wiki/MIME http://code.google.com/p/chromium/issues/detail?id=78622
Antti Koivisto
Comment 2 2014-12-06 02:33:11 PST
Run into this while making test for bug 139313. The problem is that we rely on CachedImage::responseReceived to reset the image for each frame and then a synthetic call (from SubresourceLoader) to CachedImage::finishLoading to update the data. This fails for the last frame since there is no responseReceived call when the load is really finishing and the existing image decoder will be in closed state.
Note You need to log in before you can comment on or make changes to this bug.