[MPlayer Module] ERROR_TOOLKIT_FAILURE problem with Gallery 2.1 and Mplayer module

andyfox

Joined: 2006-03-25
Posts: 2
Posted: Sat, 2006-03-25 12:28

Config details are as follows:

Gallery version = 2.1 core 1.1.0
PHP version = 5.1.2 apache2handler
Webserver = Apache/2.0.55 (FreeBSD) PHP/5.1.2
Database = mysql 5.1.5-alpha, lock.system=flock
Toolkits = Exif, NetPBM, Thumbnail, mplayer
Acceleration = none, none
Operating system = FreeBSD www 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Wed Feb 8 16:42:26 GMT 2006 root@www:/usr/obj/usr/src/sys/KERN-SMP i386
Default theme = matrix
Locale = en_GB
Browser = Mozilla/5.0 (000000000; 0; 000 000 00 0 000000; 00000; 0000000000) 00000000000000 000000000000000

I've been having problems with the ffmpeg module not being able to create thumbnails for certain types of video. This isn't a problem with Gallery, just that ffmpeg doesn't support the file format.

To try and fix this, I've built the latest version of Mplayer (1.0pre7try2) and installed the new 2.1 Mplayer module into Gallery (obtained from these forums).

When I test the module, then it passes fine, and tells me the following formats are supported:

Mplayer binary test results
Binary Name Pass/Fail
mplayer Passed

Supported MIME Types

The Mplayer module can support files with the following MIME types

video/x-ms-asf
video/mpeg
video/x-msvideo
video/quicktime
video/x-ms-wmv

I have disabled the ffmpeg modules, and then tried to either upload a new movie, or edit an existing one.

The error output from editing an existing movie is as follows:

Notice: Undefined variable: tmpDir in /usr/home/frameofmind/public_html/gallery2/modules/mplayer/classes/MplayerToolkit.class on line 147

Notice: Undefined variable: tmpFilename in /usr/home/frameofmind/public_html/gallery2/modules/mplayer/classes/MplayerToolkit.class on line 147

Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /usr/home/frameofmind/public_html/gallery2/modules/mplayer/classes/MplayerToolkit.class on line 202

Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /usr/home/frameofmind/public_html/gallery2/modules/mplayer/classes/MplayerToolkit.class on line 202

Warning: Invalid argument supplied for foreach() in /usr/home/frameofmind/public_html/gallery2/modules/core/classes/GalleryPlatform/UnixPlatform.class on line 73
Error

An error has occurred.

Back to the Gallery
Error Detail -
Error (ERROR_TOOLKIT_FAILURE)

* in modules/mplayer/classes/MplayerToolkit.class at line 174 (GalleryCoreApi::error)
* in modules/mplayer/classes/MplayerToolkit.class at line 57 (MplayerToolkit::_getMovieDimensions)
* in modules/thumbpage/ItemEditThumbOffset.inc at line 167 (MplayerToolkit::getProperty)
* in modules/thumbpage/ItemEditThumbOffset.inc at line 109 (ItemEditThumbOffset::_getDuration)
* in modules/core/ItemEdit.inc at line 287 (ItemEditThumbOffset::loadTemplate)
* in modules/core/ItemAdmin.inc at line 147 (ItemEditView::loadTemplate)
* in modules/core/classes/GalleryView.class at line 317 (ItemAdminView::loadTemplate)
* in main.php at line 386 (GalleryView::doLoadTemplate)
* in main.php at line 87
* in main.php at line 80

System Information
Gallery version 2.1
PHP version 5.1.2 apache2handler
Webserver Apache/2.0.55 (FreeBSD) PHP/5.1.2
Database mysql 5.1.5-alpha
Toolkits NetPBM
Operating system FreeBSD www 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Wed Feb 8 16:42:26 GMT 2006 root@www:/usr/obj/usr/src/sys/KERN-SMP i386
Browser Mozilla/5.0 (000000000; 0; 000 000 00 0 000000; 00000; 0000000000) 00000000000000 000000000000000
Debug Output
file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../config.php) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../plugins/index.modules) file_exists(/usr/home/frameofmind//g2data/cache/module/_all/0/0/GalleryFactoryHelper_loadRegistry.inc) Unimplemented: GalleryUrlGenerator getParameter session.lifetime for core plugin file_exists(/usr/home/frameofmind//g2data/cache/module/core/0/0/0.inc) getParameter session.inactivityTimeout for core plugin (mysql): SET NAMES "utf8" (mysql): SELECT g2_SessionMap.g_id, g2_SessionMap.g_userId, g2_SessionMap.g_remoteIdentifier,g2_SessionMap.g_creationTimestamp, g2_SessionMap.g_modificationTimestamp, g2_SessionMap.g_data FROM g2_SessionMap WHERE g2_SessionMap.g_id = '32f1c784a8e1837258f6d40aaca47633' controller , view core.ItemAdmin Loading plugin core Class not defined, trying to include it. file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/module.inc) core plugin successfully instantiated file_exists(/usr/home/frameofmind//g2data/versions.dat) file(/usr/home/frameofmind//g2data/versions.dat, ) [1143289348] can't guarantee 5 -- extending! file_exists(/usr/home/frameofmind//g2data/cache/entity/0/0/6.inc) Loading plugin core core plugin successfully instantiated Check the version of the core plugin file_exists(/usr/home/frameofmind//g2data/cache/module/_all/0/0/GalleryPluginHelper_fetchPluginStatus.inc) The version of the core plugin is ok file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/ItemAdmin.inc) getParameter acceleration for core plugin getParameter id.anonymousUser for core plugin getParameter id.anonymousUser for core plugin getParameter id.adminGroup for core plugin (mysql): SELECT g2_UserGroupMap.g_userId FROM g2_UserGroupMap WHERE g2_UserGroupMap.g_userId = 6 AND g2_UserGroupMap.g_groupId = 3 LIMIT 1 file_exists(/usr/home/frameofmind//g2data/cache/entity/0/1/19.inc) file_exists(/usr/home/frameofmind//g2data/cache/entity/0/0/7.inc) getParameter default.theme for core plugin Loading plugin matrix Class not defined, trying to include it. file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../config.php) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../plugins/index.themes) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../themes/matrix/theme.inc) matrix plugin successfully instantiated Check the version of the matrix plugin file_exists(/usr/home/frameofmind//g2data/cache/theme/_all/0/0/GalleryPluginHelper_fetchPluginStatus.inc) The version of the matrix plugin is ok file_exists(/usr/home/frameofmind//g2data/cache/theme/matrix/0/0/0.inc) file_exists(/usr/home/frameofmind//g2data/cache/theme/matrix/0/0/7.inc) (mysql): SELECT g2_Derivative.g_id, g2_ChildEntity.g_parentId FROM g2_Derivative, g2_ChildEntity WHERE g2_Derivative.g_id = g2_ChildEntity.g_id AND g2_ChildEntity.g_parentId IN (19) AND g2_Derivative.g_derivativeType IN (1) file_exists(/usr/home/frameofmind//g2data/cache/entity/0/2/20.inc) Loading plugin rearrange Class not defined, trying to include it. file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/rearrange/module.inc) rearrange plugin successfully instantiated Check the version of the rearrange plugin The version of the rearrange plugin is ok Loading plugin core core plugin successfully instantiated Check the version of the core plugin The version of the core plugin is ok (mysql): SELECT g2_Group.g_id, g2_Group.g_groupName FROM g2_UserGroupMap, g2_Group WHERE g2_Group.g_id = g2_UserGroupMap.g_groupId AND g2_UserGroupMap.g_userId = 6 ORDER BY g2_Group.g_groupName LIMIT 18446744073709551615 (mysql): SELECT g2_AccessSubscriberMap.g_itemId, BIT_OR(g2_AccessMap.g_permission) FROM g2_AccessMap, g2_AccessSubscriberMap WHERE g2_AccessSubscriberMap.g_itemId IN (19) AND g2_AccessSubscriberMap.g_accessListId = g2_AccessMap.g_accessListId AND g2_AccessMap.g_userOrGroupId IN (6,4,2,3) GROUP BY g2_AccessSubscriberMap.g_itemId (mysql): SELECT g2_PermissionSetMap.g_module, g2_PermissionSetMap.g_permission, g2_PermissionSetMap.g_description, g2_PermissionSetMap.g_bits, g2_PermissionSetMap.g_flags FROM g2_PermissionSetMap realpath(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/../../..) Binding text domain: modules_core -> /usr/home/frameofmind/public_html/gallery2/modules/core/locale (mysql): SELECT g2_Derivative.g_id, g2_ChildEntity.g_parentId FROM g2_Derivative, g2_ChildEntity WHERE g2_Derivative.g_id = g2_ChildEntity.g_id AND g2_ChildEntity.g_parentId IN (19) AND g2_Derivative.g_derivativeType IN (1) (mysql): SELECT g2_AccessSubscriberMap.g_itemId, BIT_OR(g2_AccessMap.g_permission) FROM g2_AccessMap, g2_AccessSubscriberMap WHERE g2_AccessSubscriberMap.g_itemId IN (7) AND g2_AccessSubscriberMap.g_accessListId = g2_AccessMap.g_accessListId AND g2_AccessMap.g_userOrGroupId IN (6,4,2,3) GROUP BY g2_AccessSubscriberMap.g_itemId getParameter id.rootAlbum for core plugin Loading plugin core core plugin successfully instantiated Check the version of the core plugin The version of the core plugin is ok (mysql): SELECT DISTINCT g2_AccessMap.g_accessListId FROM g2_AccessMap WHERE g2_AccessMap.g_userOrGroupId IN (6,4,2,3) AND g2_AccessMap.g_permission & 16 = 16 (mysql): SELECT COUNT(g2_Item.g_id) FROM g2_Entity, g2_Item, g2_AccessSubscriberMap WHERE g2_Entity.g_entityType = 'GalleryAlbumItem' AND g2_Item.g_id = g2_Entity.g_id AND g2_AccessSubscriberMap.g_itemId = g2_Entity.g_id AND g2_AccessSubscriberMap.g_accessListId IN (9) Loading plugin core core plugin successfully instantiated Check the version of the core plugin The version of the core plugin is ok file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/ItemEdit.inc) Loading plugin core core plugin successfully instantiated Check the version of the core plugin The version of the core plugin is ok (mysql): SELECT g2_ItemAttributesMap.g_parentSequence FROM g2_ItemAttributesMap WHERE g2_ItemAttributesMap.g_itemId = 7 (mysql): SELECT g2_AccessSubscriberMap.g_itemId, BIT_OR(g2_AccessMap.g_permission) FROM g2_AccessMap, g2_AccessSubscriberMap WHERE g2_AccessSubscriberMap.g_itemId IN (7) AND g2_AccessSubscriberMap.g_accessListId = g2_AccessMap.g_accessListId AND g2_AccessMap.g_userOrGroupId IN (6,4,2,3) GROUP BY g2_AccessSubscriberMap.g_itemId (mysql): SELECT g2_Derivative.g_id, g2_ChildEntity.g_parentId FROM g2_Derivative, g2_ChildEntity WHERE g2_Derivative.g_id = g2_ChildEntity.g_id AND g2_ChildEntity.g_parentId IN (19) AND g2_Derivative.g_derivativeType IN (1) file_exists(/usr/home/frameofmind//g2data/cache/derivative/0/2/20.dat) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/ItemEditItem.inc) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/ItemEditPhoto.inc) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/ItemEditMovie.inc) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/ItemEditAlbum.inc) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/ItemEditAnimation.inc) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/ItemEditRotateAndScalePhoto.inc) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/ItemEditTheme.inc) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/ItemEditPhotoThumbnail.inc) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/thumbpage/ItemEditThumbPage.inc) getParameter pageTypes for thumbpage plugin file_exists(/usr/home/frameofmind//g2data/cache/module/thumbpage/0/0/0.inc) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/thumbpage/ItemEditThumbOffset.inc) getParameter movieTypes for thumbpage plugin file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/watermark/ItemEditWatermark.inc) (mysql): SELECT g2_TkOperatnMimeTypeMap.g_toolkitId, g2_TkOperatnMap.g_outputMimeType FROM g2_TkOperatnMap, g2_TkOperatnMimeTypeMap WHERE g2_TkOperatnMap.g_name = g2_TkOperatnMimeTypeMap.g_operationName AND g2_TkOperatnMimeTypeMap.g_mimeType = 'video/x-msvideo' AND g2_TkOperatnMap.g_name = 'composite' ORDER BY g2_TkOperatnMimeTypeMap.g_priority ASC (mysql): SELECT g2_Derivative.g_id, g2_ChildEntity.g_parentId FROM g2_Derivative, g2_ChildEntity WHERE g2_Derivative.g_id = g2_ChildEntity.g_id AND g2_ChildEntity.g_parentId IN (19) AND g2_Derivative.g_derivativeType IN (3) Loading plugin core core plugin successfully instantiated Check the version of the core plugin The version of the core plugin is ok Loading plugin core core plugin successfully instantiated Check the version of the core plugin The version of the core plugin is ok Loading plugin thumbpage Class not defined, trying to include it. file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/thumbpage/module.inc) thumbpage plugin successfully instantiated Check the version of the thumbpage plugin The version of the thumbpage plugin is ok realpath(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/../../..) Binding text domain: modules_thumbpage -> /usr/home/frameofmind/public_html/gallery2/modules/thumbpage/locale Loading plugin core core plugin successfully instantiated Check the version of the core plugin The version of the core plugin is ok getParameter id.adminGroup for core plugin (mysql): SELECT g2_TkPropertyMimeTypeMap.g_toolkitId FROM g2_TkPropertyMap, g2_TkPropertyMimeTypeMap WHERE g2_TkPropertyMap.g_name = g2_TkPropertyMimeTypeMap.g_propertyName AND g2_TkPropertyMimeTypeMap.g_mimeType = 'video/x-msvideo' AND g2_TkPropertyMap.g_name = 'dimensions-and-duration' file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/mplayer/classes/MplayerToolkit.class) getParameter path for mplayer plugin file_exists(/usr/home/frameofmind//g2data/cache/module/mplayer/0/0/0.inc) getParameter exec.beNice for core plugin Executing: () 2>/usr/home/frameofmind//g2data/tmp/g2dbga7FurE getParameter permissions.file for core plugin getParameter permissions.directory for core plugin getParameter exec.expectedStatus for core plugin file_exists(/usr/home/frameofmind//g2data/tmp/g2dbga7FurE) filesize(/usr/home/frameofmind//g2data/tmp/g2dbga7FurE) unlink(/usr/home/frameofmind//g2data/tmp/g2dbga7FurE) Regular Output: Error Output: Status: 0 (expected 0) getParameter default.theme for core plugin Loading plugin matrix matrix plugin successfully instantiated Check the version of the matrix plugin The version of the matrix plugin is ok Loading plugin core core plugin successfully instantiated Check the version of the core plugin The version of the core plugin is ok file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/helpers/../../../../modules/core/ErrorPage.inc) getParameter id.adminGroup for core plugin realpath(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/../../../) (mysql): SELECT g2_TkOperatnMimeTypeMap.g_mimeType, g2_TkOperatnMimeTypeMap.g_toolkitId FROM g2_TkOperatnMimeTypeMap WHERE g2_TkOperatnMimeTypeMap.g_operationName = 'thumbnail' ORDER BY g2_TkOperatnMimeTypeMap.g_mimeType ASC, g2_TkOperatnMimeTypeMap.g_priority ASC file_exists(/usr/home/frameofmind//g2data/smarty/templates_c/%%85616691) is_dir(/usr/home/frameofmind//g2data/smarty/templates_c/%%85616691) file_exists(/usr/home/frameofmind//g2data/smarty/templates_c/%%85616691) is_writeable(/usr/home/frameofmind//g2data/smarty/templates_c/%%85616691) file_exists(/usr/home/frameofmind//g2data/smarty/templates_c/%%85616691/v_9) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/../../../lib/javascript/local/BlockToggle.js) realpath(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/../../..) Binding text domain: themes_matrix -> /usr/home/frameofmind/public_html/gallery2/themes/matrix/locale file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/../../themes/matrix/local/theme.css) file_exists(/usr/home/frameofmind/public_html/gallery2/modules/core/classes/../../../themes/matrix/local/theme.css)

Can anyone spot what's wrong here?

Any help would be most appreciated. As far as I can tell I'm using the latest components for everything, but if I've missed anything, please let me know.

Thanks,

Andy.

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Wed, 2006-03-29 06:33

yup, looks like a bug.. I don't see $tmpDir or $tmpFilename defined in that _getMovieDimensions function before they are used.

 
andyfox

Joined: 2006-03-25
Posts: 2
Posted: Wed, 2006-03-29 08:33

Thanks mindless.

Any ideas on how to fix it? I've been meaning to take a look at it myself, but just don't have the time at the moment (day job is very busy, right now).

Is there somewhere else I should properly report it?

Thanks,

Andy.

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Sat, 2006-04-08 23:21

I attached a new version of this module here: http://gallery.menalto.com/node/40548?from=50#comment-169435
It should fix this problem, though I didn't test it..

 
eversonl

Joined: 2006-04-13
Posts: 9
Posted: Thu, 2006-04-13 15:12

dont think it fixed it. Using the version you linked to above,i get
using that latest version attached to mindlesss' post I get

Quote:
Fatal error: Call to a member function on a non-object in /home/[edited]/public_html/avonindoor/gallery2/modules/mplayer/classes/MplayerToolkit.class on line 152

any ideas? seems to be referencing a temp directory that doesn't exist

Quote:
if ($ret) {
$platform->recursiveRmdir($tmpDir);
return array($ret->wrap(__FILE__, __LINE__), null, null, null);
}

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Thu, 2006-04-13 15:27

fixed, thanks.

 
mlangham
mlangham's picture

Joined: 2005-12-21
Posts: 14
Posted: Fri, 2006-05-12 15:33

Can anyone provide me with a link for the binary file for mplayer that the "activation of the module" informs me i must have.?.?

Quote:

MPlayer is a graphics toolkit that can be used to process video files that you upload to Gallery. You must install the MPlayer binary on your server, then enter the path to the binary in the text box below. If you're on a Unix machine, don't forget to make the binary executable (chmod 755 mplayer mplayer in the right directory should do it)
Path to MPlayer:

thanks in advance!

Michael

{{{let me get confident enough to be humble}}}

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Fri, 2006-05-12 16:54
 
mlangham
mlangham's picture

Joined: 2005-12-21
Posts: 14
Posted: Mon, 2006-05-15 12:50

it was with apparent confidence that you've posted that MPlayer site link.

However, might you point to a deeper links where one might find the file that Gallery2 specifically needs to see in the modules activation? I found a number of items on the site, but as I can't compile items (nor even know what tools one on a Mac might use as i'm not even close to being a programmer) could you please give us another hint?

Thanks!

Michael

{{{let me be confident enough to be humble}}}

 
mindless
mindless's picture

Joined: 2004-01-04
Posts: 8601
Posted: Mon, 2006-05-15 15:41

me? no.. i don't know anything more about mplayer.

 
mlangham
mlangham's picture

Joined: 2005-12-21
Posts: 14
Posted: Mon, 2006-05-15 16:00

okay. thanks though, i'll keep looking.

{{{let me get confident enough to be humble}}}

 
jbarnes

Joined: 2006-12-23
Posts: 2
Posted: Sat, 2006-12-23 19:53

It would seem there are Mac binaries available now on this page. http://www.mplayerhq.hu/design7/dload.html