Open Bug 1277798 Opened 8 years ago Updated 2 years ago

video content not reloaded with reload override cache

Categories

(Core :: Audio/Video: Playback, defect, P3)

46 Branch
x86_64
Linux
defect

Tracking

()

REOPENED

People

(Reporter: firefox.com, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0
Build ID: 20160502172042

Steps to reproduce:

 * Create a page on http://localhost/~user/videotest.html containing <video poster="foo.jpg"><source src="foo.mp4" type="video/mp4" preload="auto" autoplay></video>
 * Load the page play the video.
 * Place another video at same path (~/public_hrml/foo.mp4)
 * Reload page using [SHIFT] [CTRL] [R]




Actual results:

Old video played again.

New video wasn't fetched from the webserver.
Content of apache/access.log
127.0.0.1 - - [03/Jun/2016:11:27:20 +0200] "GET /~user/videotest.html HTTP/1.1" 200 2341 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0"
127.0.0.1 - - [03/Jun/2016:11:27:20 +0200] "GET /~user/foo.jpg HTTP/1.1" 200 25984 "http://localhost/~user/videotest.html" "Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0"



Expected results:

New video was fetched and played.
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
Component: Untriaged → Networking: Cache
Product: Firefox → Core
Thanks for filing this bug. Do you think you could comment with what request/response headers are set for each request?
Flags: needinfo?(firefox.com)
Wireshark says:

Html:
GET / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive

HTTP/1.1 200 OK
Date: Mon, 13 Jun 2016 05:53:20 GMT
Server: Apache/2.4.10 (Debian)
Last-Modified: Mon, 13 Jun 2016 05:52:40 GMT
ETag: "89-535227f0ce359-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 124
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

Poster:
GET /bg.jpg HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://localhost/
Connection: keep-alive

HTTP/1.1 200 OK
Date: Mon, 13 Jun 2016 05:53:20 GMT
Server: Apache/2.4.10 (Debian)
Last-Modified: Mon, 13 Jun 2016 05:51:13 GMT
ETag: "6460-5352279deaabb"
Accept-Ranges: bytes
Content-Length: 25696
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: image/jpeg

Video:
GET /bg.mp4 HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5
Accept-Language: en-US,en;q=0.5
Range: bytes=0-
Referer: http://localhost/
Connection: keep-alive

HTTP/1.1 206 Partial Content
Date: Mon, 13 Jun 2016 05:53:20 GMT
Server: Apache/2.4.10 (Debian)
Last-Modified: Mon, 13 Jun 2016 05:51:21 GMT
ETag: "11f845-535227a565b15"
Accept-Ranges: bytes
Content-Length: 1177669
Content-Range: bytes 0-1177668/1177669
Keep-Alive: timeout=5, max=98
Connection: Keep-Alive
Content-Type: video/mp4

Reload [CTRL] [SHIFT] [R]:

Html:
GET / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

HTTP/1.1 200 OK
Date: Mon, 13 Jun 2016 06:00:35 GMT
Server: Apache/2.4.10 (Debian)
Last-Modified: Mon, 13 Jun 2016 05:59:47 GMT
ETag: "89-5352298843d50-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 121
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

Poster:
GET /bg.jpg HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/none20100101 Firefox/47.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://localhost/
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

HTTP/1.1 200 OK
Date: Mon, 13 Jun 2016 05:57:16 GMT
Server: Apache/2.4.10 (Debian)
Last-Modified: Mon, 13 Jun 2016 05:51:13 GMT
ETag: "6460-5352279deaabb"
Accept-Ranges: bytes
Content-Length: 25696
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: image/jpeg

Video:
[Not requested]

Content of html:
<html> <body> <video poster="bg.jpg" loop preload="auto" autoplay muted> <source src="bg.mp4" type="video/mp4"> </video> </body> </html>

I even tried to touch the index.html file to get a new ETag for that.
Flags: needinfo?(firefox.com)
It seems I can reproduce this locally using the simple instructions provided by the reporter. I looked at some logs, and it seems the refresh doesn't reload the video at all.
At the same time, I've enabled logging for MediaCache and it seems to be active in this.
Could we get someone in the media/DOM team to take a look at this?
Component: Networking: Cache → Audio/Video
Flags: needinfo?(jyavenard)
Component: Audio/Video → Audio/Video: Playback
Mass change P2 -> P3
Priority: P2 → P3
I don't think this is a media playback issue. but how the resource handling is doing it.

Not sure if Networking:Cache is the appropriate place, but the name certainly sounds right !
Component: Audio/Video: Playback → Networking: Cache
Flags: needinfo?(jyavenard)
Looks like a dup of bug 1290318.
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
It's unlikely this is a dupe. From what I can tell bug 1290318 is about clearing the entire cache.
This is just about force-reloading a page. Even though the HTML hasn't changed, the content of the video file has. However, we don't make another network request for it.
In my previous investigation I remember not being able to figure out which component decides not to make another network request - Necko, DOM, or the Media cache.
I'll take a look in a few weeks, unless someone else wants to look into it first.
Status: RESOLVED → REOPENED
Ever confirmed: true
Flags: needinfo?(valentin.gosu)
Resolution: DUPLICATE → ---
Whiteboard: [necko-next]
(In reply to Valentin Gosu [:valentin] (vacation until 1 Sept) from comment #3)
> It seems I can reproduce this locally using the simple instructions provided
> by the reporter. I looked at some logs, and it seems the refresh doesn't
> reload the video at all.
> At the same time, I've enabled logging for MediaCache and it seems to be
> active in this.
> Could we get someone in the media/DOM team to take a look at this?

Did you see an http channel open for the video on shift reload?  If not, this is not a necko bug.
Attached file log.txt
There seems to be only one channel to the mp4 file created.
So this is either a mediaCache/DOM issue.
Flags: needinfo?(valentin.gosu)
Component: Networking: Cache → Audio/Video: Playback
Whiteboard: [necko-next]
See Also: → 1324883
Valentin, any chance you'll be able to look again?  This sounds like a confusing experience for developers when working on a site.
Flags: needinfo?(valentin.gosu)
Based on comment 8, 9 and 10, this is a mediaCache or DOM issue. Someone on the AV team should take a look at this.
Flags: needinfo?(valentin.gosu)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: