[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:29886] vlc, juk locale patches



本多です

# あれ? 昨日投稿したつもりが流れません。再投稿してみます。。
# やはり流れないみたいですね。添付fileはだめなのかな?
# 今度は添付なしでやってみます。重複した場合許してくださいませ。。。。

今回、前から気になっていたvlc & jukの日本語fileの不具合
を修正してみましたので添付します。 必要があれば試してみてください。
なおこれらの修正は日本語に特化したものではなくて、localeに素直に対応
させたものです。ですからutfその他の環境でも問題は発生しません。
以下の 3 filesです。添付から直接挿入にしたので見にくいですが許してください。

1) VLC (0.9.9a)
* (VLC) src/text/unicode.c

"directoryを読みこむ"でfile名が正しく扱われない点を修正。

#なおplaylistに読みこまれる訳ですが、playlistを使うと終了時に
#seg faultが起きます。これは、もともとあるbugでこの修正の為起きている訳では
#ありません。実害はないのでほってあります。
----------------------------------------------------------------
*** dvdnav.c.old	2009-07-03 13:53:00.000000000 +0900
--- dvdnav.c	2009-07-02 18:25:25.000000000 +0900
***************
*** 1435,1441 ****
--- 1435,1445 ----
          return VLC_SUCCESS;
      }
  
+ #ifdef	ORIGINAL_CODE
      if( utf8_stat( psz_name, &stat_info ) || !S_ISREG( stat_info.st_mode ) )
+ #else
+     if( stat( psz_name, &stat_info ) || !S_ISREG( stat_info.st_mode ) )
+ #endif
      {
          /* Let dvdnav_open() do the probing */
          return VLC_SUCCESS;
----------------------------------------------------------------------------------

* (VLC) modules/access/dvdnav.c

日本語名の付いたfileはすべてdvdnavがopenを試みてしまうbugを修正。
このbugの為、再生時に音飛びを起してしまい耳ざわりです。

#Extra: あとvlcのconfigure に --enable-faadを付けないとmp4aの再生(mov file)
が出来無いです。 せっかくfaadが追加されたのですから。。。

----------------------------------------------------------------------------------
*** unicode.c.old	2009-07-03 13:53:56.000000000 +0900
--- unicode.c	2009-07-02 18:25:31.000000000 +0900
***************
*** 470,476 ****
--- 470,491 ----
      if( ent == NULL )
          return NULL;
  
+ #ifdef	ORIGINAL_CODE
      return vlc_fix_readdir( ent->d_name );
+ #else
+     {
+     	const char *utf8_name = FromLocale( ent->d_name );
+ 
+ 	if (utf8_name != NULL)
+ 	{
+                 char *result_name = vlc_fix_readdir ( utf8_name );
+ 		LocaleFree (utf8_name);
+ 		return result_name;
+ 	}
+ 	else
+     		return vlc_fix_readdir( ent->d_name );
+     }
+ #endif
  #endif
  }
----------------------------------------------------------------------------------
 
2) juk (kdemultimedia-4.2.4)

* (JUK) juk/playermanager.cpp

a)日本語名fileの連続再生で2番目のfileを読み込めずskipするbugを修正。
b)stopを実行すると以降playで音が出なくなるのを回避(本当の修正はphononですべきですが)

----------------------------------------------------------------------------------
*** playermanager.cpp.old	2009-07-03 13:53:34.000000000 +0900
--- playermanager.cpp	2009-07-02 18:24:29.000000000 +0900
***************
*** 227,232 ****
--- 227,235 ----
      // Ensure we're not trying to fade if we were previously stopped or end
      // up not crossfading.
      m_fader->setVolume(volume());
+ #ifndef	ORIGINAL_CODE
+     m_fader->fadeTo(volume(), 10);
+ #endif
  
      if(file.isNull()) {
          if(paused())
***************
*** 654,660 ****
--- 657,667 ----
      if(m_sliderAction->volumeSlider())
          m_sliderAction->volumeSlider()->setAudioOutput(m_output);
  
+ #ifdef	ORIGINAL_CODE
      m_media->setCurrentSource(newFile.absFilePath());
+ #else
+     m_media->setCurrentSource(KUrl::fromPath(newFile.absFilePath()));
+ #endif
      m_media->play();
  
      oldFader->fadeTo(0.0f, 2000);
----------------------------------------------------------------------------------
 


Follow-Ups
[plamo:29889] Re: vlc, juk locale patches, KOJIMA Mitsuhiro

[検索ページ] [メール一覧]
Plamo ML 公開システム