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

[plamo:29908] Re: vlc, juk locale patches



本多です

前回投稿したphononのpatchに(大きな)ミスがありましたので、再修正版を投稿します。
詳しい事は後述。 あと、いくつかの問題が解決したので報告も。

1) 以前このMLのどれかのmailでxine-lib-1.1.16.3だとjuk等がcrashするという話を書きましたが
この件の顛末です。

これはxine-lib-1.1.16.2のplugins dir (/usr/lib/xine/plugins/1.25)が残っていた為でした。
どうも1.25があると現象が発生するようです。ですので以前書いたthread lockというのはウソで、
このcrashは(これもバグでしょうが) /usr/lib/xine/plugins/1.25を消去する事で解決しました。

2) vlc-1.0.0について

glibcを2.10.1にしたついでにvlc-1.0.0にしてみました。
#glibcの方は(私の環境では)まったく問題がありませんでした。現在のmachineだと
#compileも瞬時に終わりますし、昔とは様変わりです。

前回投稿した vlc-0.9.9aに関するbugは直っていませんが(fileが変っていますで),
この問題は前回のpatchの方法で解決します(dvdnav.cのutf8_statはutf8_openになったのでopenにする)。

1.0.0を使用してみた感想ですが、0.9.9aにあった結構大きなbugsが修正されていてかなり快適です
(さすがgolden ...の名前を冠していますな)。幾つか例をあげると
* directoryを読み込む再生だとthread lockが良く発生していたのですが、解決されていました。
* oggの再生でdriftが狂って音飛びしていた問題が解決しています。
* 全画面でcontrolが画面下部に出るようになりました。

#まあ、私個人はそれほどなのですが、vlcは家族がdvd/cd/oggs等で使うので、この
#改善はやはりありがたいです。。

3)さて問題のphononですが。

前回のpatchはscope outで解放されたobjectのstorage pointerを渡していました。
#すいません。patchを作る時に綺麗にまとめたつもりが仇となりました。。
これを修正しました。

#あと、お詫びというわけではないですがdeinterlaceが正常に動くようにしておきました
#phonon経由のDVD再生もこれで綺麗になるはずです。現状ではPhonon.Xine.xine.confの
#設定やsystem settingの設定はdeinterlaceに関しては無効な上、動いていません。
------------------------------------------------------------------------------------
*** xinestream.cpp.old	2009-07-11 01:10:25.000000000 +0900
--- xinestream.cpp	2009-07-11 00:42:23.000000000 +0900
***************
*** 259,265 ****
--- 259,283 ----
  
      // xine_open can call functions from ByteStream which will block waiting 
for data.
      //debug() << Q_FUNC_INFO << "xine_open(" << m_mrl.constData() << ")";
+ #ifdef	ORIGINAL_CODE
      if (xine_open(m_stream, m_mrl.constData()) == 0) {
+ #else
+     const char *target_url;
+     QByteArray target_path; /* should be here */
+ 
+     if (m_mrl.startsWith("file:/")) 
+     {
+ 	    QByteArray s_data = QByteArray::fromPercentEncoding(m_mrl);
+ 	    QString target_qpath = QString::fromUtf8(s_data.constData());
+             debug() << Q_FUNC_INFO << "Target path =" << target_qpath;
+  	    target_path = target_qpath.toLocal8Bit();
+ 	    target_url = target_path.constData();
+     }
+     else
+ 	    target_url = m_mrl.constData();
+ 
+     if (xine_open(m_stream, target_url) == 0) {
+ #endif
          debug() << Q_FUNC_INFO << "xine_open failed for m_mrl =" << 
m_mrl.constData();
          switch (xine_get_error(m_stream)) {
          case XINE_ERROR_NONE:
***************
*** 312,318 ****
--- 330,340 ----
              debug() << Q_FUNC_INFO << "creating xine_stream with null video 
port";
              videoPort = nullVideoPort();
          }
+ #ifdef	ORIGINAL_CODE
          m_deinterlacer = xine_post_init(m_xine, "tvtime", 1, 0, &videoPort);
+ #else
+         m_deinterlacer = xine_post_init(m_xine, 
"tvtime:method=LinearBlend,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1", 
1, 0, &videoPort);
+ #endif
          if (m_deinterlacer) {
              // set method
              xine_post_in_t *paraInput = xine_post_input(m_deinterlacer, 
"parameters");
-------------------------------------------------------------------------------------------------


Follow-Ups
[plamo:29909] Re: vlc, juk locale patches, Naofumi Honda
References
[plamo:29886] vlc, juk locale patches, Naofumi Honda
[plamo:29889] Re: vlc, juk locale patches, KOJIMA Mitsuhiro
[plamo:29890] Re: vlc, juk locale patches, Naofumi Honda

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