Open Bug 1055579 Opened 10 years ago Updated 2 years ago

Error event called in Windows 7, while not on other platforms

Categories

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

x86
macOS
defect

Tracking

()

REOPENED

People

(Reporter: martijn.martijn, Unassigned)

References

()

Details

Attachments

(1 file, 1 obsolete file)

This is a follow-up from bug 1024535. See bug 1024535, comment 54 and further. Basic summary: test_load_candidates.html was firing error events when the test file would unload (which the patch for bug 1024535 fixes). On other platforms this doesn't happen. I don't know what the intended behavior is, but it should at least be consistent across all platforms. I'll try to come up with a mochitest, shortly.
Attached patch 1055579_mochitest.diff (obsolete) — Splinter Review
Mochitest for this bug. I haven't test this yet on Windows 7, will do shortly.
Unfortunately, the mochitest also passes on Windows 7, so I'll have to add stuff from test_load_candidates.html to see where the generated error is coming from.
Hmm, this doesn't even show the error in Windows 7, which is almost like the situation in test_load_candidates.html minus the patch from bug 1024535. I guess I should just try to minimize with the situation from test_load_candidates.html minus the patch from bug 1024535, but with the final patch from bug 1032878. This can take a while, because I would then have to run the whole content/media/test/ directory to see the error and running mochitests on Windows 7 already seems slower.
Attachment #8475286 - Attachment is obsolete: true
Do you see any assertions/warnings in the logs? Sometimes we hit this path on Windows: http://mxr.mozilla.org/mozilla-central/source/content/media/wmf/WMFReader.cpp#526 When we return failure here, it causes an "error" event to be dispatched to JS. We can hit this failure on Windows as there's some limit to the number of decoders it can run at once. We hope that will be fixed once we switch from using the WMFReader to the MP4Reader on Windows. Or maybe you're seeing something else?
Unfortunately, I wasn't able to build a debug build on my Windows 7 VM, only opt, something with the xul.dll size or something, iirc. I'll just recreate test_load_candidates.html and start from there (tomorrow, though).
(In reply to Chris Pearce (:cpearce) from comment #4) > Do you see any assertions/warnings in the logs? Sometimes we hit this path > on Windows: > http://mxr.mozilla.org/mozilla-central/source/content/media/wmf/WMFReader. > cpp#526 > > When we return failure here, it causes an "error" event to be dispatched to > JS. > > We can hit this failure on Windows as there's some limit to the number of > decoders it can run at once. We hope that will be fixed once we switch from > using the WMFReader to the MP4Reader on Windows. If that is the case, we can try to call removeNodeAndSource() at [1] instead to ensure decoders are released after finishing each file. [1] http://hg.mozilla.org/mozilla-central/file/149d3ce6e020/content/media/test/test_load_candidates.html#l32 Hi Martijn, Can you give it a try by changing |v.parentNode.removeChild(v)| to |removeNodeAndSource(v)| and reverting the change in bug 1024535 to see if that solve the mysterious error event on Windows.
Flags: needinfo?(martijn.martijn)
(In reply to JW Wang [:jwwang] from comment #6) > Hi Martijn, > Can you give it a try by changing |v.parentNode.removeChild(v)| to > |removeNodeAndSource(v)| and reverting the change in bug 1024535 to see if > that solve the mysterious error event on Windows. Sorry, you can't revert the change in bug 1024535 for removeNodeAndSource() will set an empty string to the src attribute which will also trigger an error event.
(In reply to Chris Pearce (:cpearce) from comment #4) > Do you see any assertions/warnings in the logs? Sometimes we hit this path > on Windows: > http://mxr.mozilla.org/mozilla-central/source/content/media/wmf/WMFReader. > cpp#526 > > When we return failure here, it causes an "error" event to be dispatched to > JS. Wait, since the file is loaded via a <source> element, any decoding error should be dispatched the source element instead of bubbling up to the parent media element, right?
(In reply to Martijn Wargers [:mwargers] (QA) from comment #5) > Unfortunately, I wasn't able to build a debug build on my Windows 7 VM, only > opt, something with the xul.dll size or something, iirc. > I'll just recreate test_load_candidates.html and start from there (tomorrow, > though). Ok, I can reproduce with the same source as test_load_candidates.html, but I have to also run the mochitests before in the mochitest.ini list, otherwise I can't reproduce. That makes it more time-consuming to minimize this.
Flags: needinfo?(martijn.martijn)
Component: Audio/Video → Audio/Video: Playback
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: