I cannot play music named in chinese or under a folder with chinese name
#1
hi, I just compiled xbmc (latest revision) on RHEL 5.3 (a lot of efforts though). It plays 1080p x264 movies well (very stable, cpu usage is good and balanced well to different core too), however, for wmv and rmvb videos, I can see constant dropped frames (cpu usage is less than 8%, need more optimization?).anyway, I can leave it for now as long as x264 playback is good.

The biggest problem for me is that I cannot play music if the music files are named in chinese or under a folder with chinese name. I have enabled utf8 locale in OS (chinese displayed perfectly on gnome desktop), changed the xbmc arial font file (under /usr/share/xbmc/media/fonts) to a chinese one, and also enabled utf-8 support in the language files (english and chinese) under folder /usr/share/xbmc/language. No help at all. This problem DOES NOT exist for video playback. anyone knows how to solve the problem? thanks
Reply
#2
http://forum.xbmc.org/showthread.php?tid=34655

We must have Debug Log and such.

Also a sample that provokes this behaviour is a must aswell.

Also on a sidenote, would you be willing to write up a how to for compiling on red hat (I assume RHEL is red hat?). And perhaps write down somewere the needed tweaks you had to do so we could perhaps add them to svn (or atleast look at them so we can do it proper for svn if its uggly hacks).

Cheers,
Tobias
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#3
1) xbmc: SVN 18601 (build from scratch)
2) Redhat workstation RHEL 5.3 (x86_64)
uname -a
Linux ferrari 2.6.18-128.1.1.el5 #1 SMP Mon Jan 26 13:58:24 EST 2009 x86_64 x86_64 x86_64 GNU/Linux
3) amd be-2400 + gigabyte 780g

okay, I just move a video file (killa.sampla.x264.mkv) to a music folder with chinese name, you can see video plays fine, while error occurs with audio. If I remove 陈慧娴 from the folder, then audio plays fine.

For the RHEL 5.3, yes, it is redhat. I will find time later to write something for getting xbmc compiled on this system.

LOG:
video part:

08:09:34 T:1260304704 M:2517487616 WARNING: Upscale: selected algorithm 1
08:09:34 T:3010535328 M:2517364736 DEBUG: CGUIInfoManager::SetCurrentMovie(/media/New Volume/music-on-d/陈慧娴 PRISCILLA CHAN LPCD45/killa.sampla.x264.mkv)
08:09:34 T:3010535328 M:2517364736 DEBUG: GetMovieId (/media/New Volume/music-on-d/陈慧娴 PRISCILLA CHAN LPCD45/killa.sampla.x264.mkv), query = select idMovie from movie where idFile=9
08:09:34 T:3010535328 M:2516439040 DEBUG: GetEpisodeId (/media/New Volume/music-on-d/陈慧娴 PRISCILLA CHAN LPCD45/killa.sampla.x264.mkv), query = select idEpisode from episode where idFile=9
08:09:34 T:3010535328 M:2515628032 DEBUG: GetMusicVideoId (/media/New Volume/music-on-d/陈慧娴 PRISCILLA CHAN LPCD45/killa.sampla.x264.mkv), query = select idMVideo from musicvideo where idFile=9
08:09:34 T:3010535328 M:2510053376 DEBUG: Activating window ID: 12005
08:09:34 T:3010535328 M:2510053376 DEBUG: Checking if window ID 12005 is locked.
08:09:34 T:3010535328 M:2510053376 DEBUG: ------------------- GUI_MSG_WINDOW_DEINIT

audio part1:

08:12:18 T:3010535328 M:2258677760 DEBUG: new file set audiostream:0
08:12:18 T:3010535328 M:2258677760 DEBUG: CPlayerCoreFactory::GetPlayers(/media/New Volume/music-on-d/陈慧娴 PRISCILLA CHAN LPCD45/CDImage.ape)
08:12:18 T:3010535328 M:2258677760 ERROR: Error opening APE file (error code: 1002)
08:12:18 T:3010535328 M:2258677760 ERROR: CAudioDecoder: Unable to Init Codec while loading file /media/New Volume/music-on-d/陈慧娴 PRISCILLA CHAN LPCD45/CDImage.ape
08:12:18 T:3010535328 M:2258677760 ERROR: Playlist Player: skipping unplayable item: 18, path [/media/New Volume/music-on-d/陈慧娴 PRISCILLA CHAN LPCD45/CDImage.ape]
08:12:18 T:3010535328 M:2258677760 DEBUG: Load defaultAudioBig.png: 1.0ms (bundled)

audio part 2 (after chinese name was removed):

08:31:26 T:3010535328 M:2246963200 DEBUG: CGUIInfoManager::SetCurrentSong(/media/New Volume/music-on-d/PRISCILLA CHAN LPCD45/CDImage.ape)
08:31:26 T:1270794560 M:2246717440 INFO: AudioDecoder: File is queued
08:31:26 T:3010535328 M:2246471680 DEBUG: Loading additional tag info for file /media/New Volume/music-on-d/PRISCILLA CHAN LPCD45/CDImage.ape
Reply
#4
First off, as it says in the post I linked to. never truncate logs, and use a pastebin site.

/rant.

Please press c on the musicfile that plays badly and press play using.. and choose dvdplayer.

Does it work then?

If not then a sample and a fulldebuglog on trac. Also in this case sample is not optional.

I can play a file I created 陈慧娴 foo.wav and in a folder with the same glyphs. (I just copy pasted yours so0 I hope to god it´s not anything offending in those glyphs Big Grin )

If sample plays here then it just might be red hat.

Cheers,
Tobias
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#5
the error seems to be within that blasted MACDll.so
Reply
#6
I just checked, looks like the problem of ape audio. I checked a mp3 and then it works. need to double check later

Topfs2, that is ok. she 陈慧娴 is a singer from HK, china. hehe

spiff Wrote:the error seems to be within that blasted MACDll.so
Reply
#7
confirmed. The problem is not related to unicode path/file names. anyway, is this a xbmc bug or third party bug? I cannot play ape music now. my music collection is mainly ape based. by the way, I am using 64-bit linux, could that be the cause?

int __stdcall FillWaveFormatEx(WAVEFORMATEX * pWaveFormatEx, int nSampleRate, int nBitsPerSample, int nChannels)
{
pWaveFormatEx->cbSize = 0;
pWaveFormatEx->nSamplesPerSec = nSampleRate;
pWaveFormatEx->wBitsPerSample = nBitsPerSample; <<<---- line 126 in xbmc source code
pWaveFormatEx->nChannels = nChannels;
pWaveFormatEx->wFormatTag = 1;

pWaveFormatEx->nBlockAlign = (pWaveFormatEx->wBitsPerSample / 8) * pWaveFormatEx->nChannels;
pWaveFormatEx->nAvgBytesPerSec = pWaveFormatEx->nBlockAlign * pWaveFormatEx->nSamplesPerSec;

return ERROR_SUCCESS;
}


gdb backtrace found this:

Reading symbols from /usr/share/xbmc/system/libid3tag-x86_64-linux.so...done.
Loaded symbols for /usr/share/xbmc/system/libid3tag-x86_64-linux.so
Core was generated by `/usr/share/xbmc/xbmc.bin'.
Program terminated with signal 11, Segmentation fault.
[New process 4717]
[New process 4779]
[New process 4778]
[New process 4777]
#0 FillWaveFormatEx (pWaveFormatEx=0xffffffffbc00f2b8, nSampleRate=44100,
nBitsPerSample=16, nChannels=2) at Source/MACLib/MACLib.cpp:126
126 Source/MACLib/MACLib.cpp: No such file or directory.
in Source/MACLib/MACLib.cpp
(gdb) bt
#0 FillWaveFormatEx (pWaveFormatEx=0xffffffffbc00f2b8, nSampleRate=44100,
nBitsPerSample=16, nChannels=2) at Source/MACLib/MACLib.cpp:126
#1 0x00002aaab8ad5166 in CAPEInfo::GetInfo (this=0x2aaabc002bc0,
Field=<value optimized out>, nParam1=-1140788552,
nParam2=<value optimized out>) at Source/MACLib/APEInfo.cpp:311
#2 0x00002aaab8ad266b in CAPEDecompress::GetInfo (this=0x2aaabc00f290,
Field=44100, nParam1=-1140788552, nParam2=2)
at Source/MACLib/APEDecompress.cpp:476
#3 0x00002aaab8ad40e4 in CAPEDecompress (this=0x2aaabc00f290,
pErrorCode=0x7ffff3d048fc, pAPEInfo=0x2aaabc002bc0, nStartBlock=-1,
nFinishBlock=-1) at Source/MACLib/APEDecompress.cpp:26
#4 0x00002aaab8adca69 in CreateIAPEDecompressCore (pAPEInfo=0x2aaabc002bc0,
nStartBlock=-1, nFinishBlock=-1, pErrorCode=0x7ffff3d048fc)
at Source/MACLib/MACLib.cpp:26
#5 0x00002aaab8adcd62 in CreateIAPEDecompress (pFilename=0x2aaabc00f4b0,
pErrorCode=0x7ffff3d04a6c) at Source/MACLib/MACLib.cpp:91
#6 0x00002aaab8aecd94 in c_APEDecompress_Create (
pFilename=<value optimized out>, pErrorCode=0x7ffff3d04a6c)
at Source/MACDll/MACDll.cpp:155
#7 0x0000000000a23abe in APECodec::Init (this=0x2aaabc0023e0,
strFile=@0x2aaabc010b80, filecache=<value optimized out>)
at DllMACDll.h:104
#8 0x0000000000a26d5c in CAudioDecoder::Create (this=0x2aaabc03a6f0,
file=@0x2aaabc010af0, seekOffset=0, nBufferSize=0) at AudioDecoder.cpp:87
#9 0x0000000000a40f13 in PAPlayer::OpenFile (this=0x2aaabc03a640,
file=@0x2aaabc010af0, options=@0x7ffff3d04d10) at paplayer_linux.cpp:146
#10 0x000000000069f971 in CApplication:TonguelayFile (this=0x1250c80,
item=@0x2aaabc010af0, bRestart=<value optimized out>)
at Application.cpp:4238
#11 0x00000000008c3e16 in PLAYLIST::CPlayListPlayer:Tonguelay (this=0x124ffc0,
iSong=<value optimized out>, bAutoPlay=false, bPlayPrevious=false)
at PlayListPlayer.cpp:242
#12 0x0000000000750364 in CGUIMediaWindow::OnClick (this=0x6336390,
iItem=-1140640160) at GUIMediaWindow.cpp:823
#13 0x000000000075287d in CGUIMediaWindow::OnMessage (this=0x6336390,
message=@0x7ffff3d05cb0) at GUIMediaWindow.cpp:250
#14 0x00000000007b8751 in CGUIWindowMusicBase::OnMessage (this=0x6336390,
message=@0x7ffff3d05cb0) at GUIWindowMusicBase.cpp:239
#15 0x00000000007d8841 in CGUIWindowMusicSongs::OnMessage (this=0x6336390,
message=@0x7ffff3d05cb0) at GUIWindowMusicSongs.cpp:217
#16 0x00000000005eb519 in CGUIControl::SendWindowMessage (
this=<value optimized out>, message=@0x7ffff3d05cb0) at GUIControl.cpp:246
#17 0x00000000005c60ec in CGUIBaseContainer::OnClick (this=0x674cc50,
actionID=100) at GUIBaseContainer.cpp:560
#18 0x00000000005c6809 in CGUIBaseContainer::OnMouseClick (this=0x674cc50,
dwButton=0, point=<value optimized out>) at GUIBaseContainer.cpp:512
#19 0x000000000064b150 in CGUIWindow::HandleMouse (this=<value optimized out>,
pControl=0x674cc50, point=@0x7ffff3d05e30) at GUIWindow.cpp:599
#20 0x000000000064ccac in CGUIWindow::OnMouseAction (this=0x6336390)
at GUIWindow.cpp:566
#21 0x000000000064b059 in CGUIWindow::OnAction (this=0x6336390, action=@0xac44)
at GUIWindow.cpp:503
#22 0x000000000074e67b in CGUIMediaWindow::OnAction (this=0x6336390,
action=@0x7ffff3d06060) at GUIMediaWindow.cpp:187
#23 0x00000000007b10f5 in CGUIWindowMusicBase::OnAction (this=0x6336390,
action=@0x7ffff3d06060) at GUIWindowMusicBase.cpp:99
#24 0x00000000007d5a4c in CGUIWindowMusicSongs::OnAction (this=0x6336390,
action=@0xac44) at GUIWindowMusicSongs.cpp:231
#25 0x0000000000643e58 in CGUIWindowManager::OnAction (this=0x124e6a0,
action=@0x7ffff3d06060) at GUIWindowManager.cpp:460
#26 0x000000000068ef6c in CApplication:TonguerocessMouse (
this=<value optimized out>) at Application.cpp:3378
#27 0x00000000006a3d31 in CApplication::FrameMove (this=0x1250c80)
at Application.cpp:2977
#28 0x00000000009a20c3 in CXBApplicationEx::Run (this=0x1250c80)
at XBApplicationEx.cpp:234
#29 0x00000000009a25ca in main (argc=1, argv=0x7ffff3d06608) at xbmc.cpp:131
Reply

Logout Mark Read Team Forum Stats Members Help
I cannot play music named in chinese or under a folder with chinese name0