Page MenuHomePhabricator

"vid is undefined" or "Cannot read property 'readyState' of undefined" after playing an audio file
Closed, ResolvedPublic

Description

To reproduce, in either Firefox 30 or Chromium 34:

  1. Go to https://commons.wikimedia.org/wiki/File:Example.ogg?debug=true.
  2. Open the console (Ctrl-Shift-K in Firefox, Ctrl-Shift-J in Chromium).
  3. Click the play button.
  4. Wait for the recording to finish playing.

"vid is undefined" appears in Firefox. "Cannot read property 'readyState' of undefined" appears in Chromium. The error occurs in the function mw.EmbedPlayerNative.setCurrentTime on line 473 (marked below):

var vid = this.getPlayerElement();
[...]
Check if player is ready for seek:
if( vid.readyState < 1 ){ LINE 473
Try to seek for 4 seconds:
// [...]


Version: unspecified
Severity: normal
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=56353

Details

Reference
bz67403

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 3:26 AM
bzimport set Reference to bz67403.
bzimport added a subscriber: Unknown Object (MLST).

There are plans to replace this part of TimedMediaHandler with an upstream version of the "Kaltura" library (basically stuff in the MwEmbedModules/EmbedPlayer directory) sometime in the coming months (exact timeline unclear). Unless this is causing problems with playback beyond console noise, I would like to wait until after the upgrade, and re-asses this bug then

I don't seem to have this error anymore in Chrome...

With ogv.js I get the following error:

[Error] Error: Cannot bisect a non-seekable stream
	seek
	setCurrentTime
	setCurrentTime
	(anonymous function)
	dispatch
	handle
	trigger
	(anonymous function)
	each
	each
	trigger
	(anonymous function)
	setCurrentTime
	onClipDone
	(anonymous function)
	dispatchEvent
	fireEvent
	doProcessPlay
	finish
	doProcessData
	process
	doProcessing
	tailCall
	pingProcessing
	onstarved
	audioProcess
[Error] TypeError: null is not an object (evaluating 'buffers.length')
	popNextBuffer
	audioProcess
TheDJ claimed this task.

This seems to have been fixed at some point