From: SourceForge.net <no...@so...> - 2006-08-15 21:46:45
|
Bugs item #1494178, was opened at 2006-05-24 12:36 Message generated for change (Comment added) made by nielsadb You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109655&aid=1494178&group_id=9655 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: v1.1.1 Status: Open Resolution: None Priority: 6 Submitted By: Nick (darksaboteur) Assigned to: Nobody/Anonymous (nobody) Summary: Failure To Play Files Over SMB (Samba) Initial Comment: When i open a file from a smb share eg (smb://fedora/nick/Downloads/Bloodhound%20Gang%20-%20The%20Bad%20Touch.mp3 ) I get an error, if i pass --verbose it shows this gui_xine_open_and_play(): mrl: 'smb://fedora/nick/Downloads/Bloodhound%20Gang%20-%20The%20Bad%20To uch.mp3', sub 'NONE', start_pos 0, start_time 0, av_offset 0, spu_offset 0. xine: found input plugin : CIFS/SMB input plugin based on libsmbclient xine: input plugin cannot open MRL [smb://fedora/nick/Downloads/Bloodhound%20Gan g%20-%20The%20Bad%20Touch.mp3] xine: cannot find input plugin for MRL [smb://fedora/nick/Downloads/Bloodhound%2 0Gang%20-%20The%20Bad%20Touch.mp3] ---------------------- (ERROR) ---------------------- got XINE_ERROR_NO_INPUT_PLUGIN. ------------------ (END OF ERROR) ------------------- ---------------------- (ERROR) ---------------------- - xine engine error - There is no input plugin available to handle 'smb://fedora/nick/Downloads/Bloodh ound%20Gang%20-%20The%20Bad%20Touch.mp3'. Maybe MRL syntax is wrong or file/stream source doesn't exist. ------------------ (END OF ERROR) ------------------- ---------------------- (ERROR) ---------------------- - xine engine error - There is no input plugin available to handle 'smb://fedora/nick/Downloads/Bloodh ound Gang - The Bad Touch.mp3'. Maybe MRL syntax is wrong or file/stream source doesn't exist. ------------------ (END OF ERROR) ------------------- If i run xine --list-plugins i get -Input: gnomevfs, VCDO, pnm, CD, tcp, mms, FILE, stdin, DVB, VCD, rtsp, v4l_radio, v4l_tv, DVD, rtp, http, VDR, pvr, smb. If it helps im running fedora core 5 ---------------------------------------------------------------------- Comment By: Niels Aan de Brugh (nielsadb) Date: 2006-08-15 23:46 Message: Logged In: YES user_id=727162 By the way, the reason playing MP3s fails and OGGs works lies in the order in which the demux plugins are tried. For MP3, DTS is tried, and this plugin calls the (by default non-existent) get_blocksize "member function" of the SMB plugin, resulting in a crash. For OGG it does not try DTS, and finds a working demuxer before one is stupid enough to calls non-existent functions. Or it could be the little RMS in all of our Linux boxes telling us not use evil and proprietary formats. ---------------------------------------------------------------------- Comment By: Niels Aan de Brugh (nielsadb) Date: 2006-08-15 23:41 Message: Logged In: YES user_id=727162 Quick fix: implement a get_blocksize function for the smb input plugin like so: src/input/input_smb.c, line 219: this->input_plugin.get_blocksize = smb_plugin_get_blocksize; and add the following definition to the file: static uint32_t smb_plugin_get_blocksize (input_plugin_t *this_gen) { return 0; } Patch at: http://smeagol.student.utwente.nl/input_smb.patch New binary smb plugin (just overwrite it with your package versrion and it'll work): http://smeagol.student.utwente.nl/xineplug_inp_smb.so This patch is rather ugly. The blocksize function should never be called. I suggest the xine team checks and fixes the code of the definition of cache_plugin_get_blocksize in src/xine-engine/input_cache.c: static uint32_t cache_plugin_get_blocksize(input_plugin_t *this_gen) { cache_input_plugin_t *this = (cache_input_plugin_t *)this_gen; return ( this->main_input_plugin->get_blocksize != NULL ? this->main_input_plugin->get_blocksize(this->main_input_plugin) : 0 ); } That should make sure NULL function pointers are never called, and default to 0. The first 'solution' is easier to deploy, since it requires just one file to be overwritten instead of the entire xine-lib. I mainly put that up for people who don't want to bother with downloading the source, patching and recompiling. I don't know if I'm breaking the GPL by not providing the full source code but only a couple of lines, but I'm not really planning on becoming a mirror for xine. You can get the source code at the usual places. ---------------------------------------------------------------------- Comment By: RPi (rpi1234) Date: 2006-08-15 19:02 Message: Logged In: YES user_id=1576318 I would like to add, that playing ogg from a samba share works just fine, only mp3 has this problem. ---------------------------------------------------------------------- Comment By: RPi (rpi1234) Date: 2006-08-15 18:34 Message: Logged In: YES user_id=1576318 I have the exact same problem with kubuntu dapper and with arch linux. I used version 1.1.2-1 of xine-lib. I hope this bug can be solved, because I am also on a network of >2000 samba shares. ---------------------------------------------------------------------- Comment By: Niels Aan de Brugh (nielsadb) Date: 2006-06-09 21:31 Message: Logged In: YES user_id=727162 Same here: adding files to the (xine-powered) Amarok playlist from an SMB share crashes it bad. I have some doubts on what's responsibly for this: xine, Amarok, or the SMB KIO-slave, but since it also crashes Kaffeine (xine based), and copying a file via SMB works fine, it's not unlikely xine is causing the crash. The network of SMB shares is >2000 machines, so mounting is not a (practical) solution. Running xine version, 1.1.1+ubuntu2-7.1, straith from the (K)ubuntu Dapper repo. I remember running Amarok 1.3.8 w/ xine 1.1.1 compiled from source on Kubuntu Breezy worked fine. Is there a better place to complain and bitch without providing a patch or even sufficient background data than this? ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2006-06-09 16:42 Message: Logged In: NO I get the same error. When playing a file in amarok with the xine engine amarok crasht without any warnings. I'm using kubuntu 6.06 with amarok 1.4 and the xine engine. Using KMplayer with the xine engine, it says "KMplayer not running" When I mount the share first it works whithout problems, only that isn't very practicle when there are over 2000 smb shares in your network. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109655&aid=1494178&group_id=9655 |