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

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



本多です

すいません。何度も

# gnomeの更新すごいですね。。。。

ええと、phononの修正。前回ので一応動くのですが、横着があって(ex. filenameに#があるとダメ)
media urlを正しくhandlingしていません。せっかくPlamoに反映して頂いたので
恥しい場当たりなpatchはやはり修正したほうが良いと思うのでこちらに変えていただけませんか?
こちらは王道で(おそらく)あらゆる場合にOKです。

内容:Media urlの

file:///foo/bar/local_name[#stream_plugins]

の形を正しく扱えるようにしています。

あと、こういう個人的なpatchの処理がどうなってるのか
知りたい時もあると思います。phonon libに関しては CMAKE_BUILD_TYPE=Releaseで作成していても次の2つの環境変数
export PHONON_XINE_DEBUG=3
export PHONON_XINE_VERBOSITY=3
を設定すると動的に様々なdebug messagesを見る事が出来ます。今回のpatchによってdecode->encodeされた
xine_openに渡るurlもこれで見る事が出来ますから、不安な場合は確認してみて下さい。

------------------------------------------------------------------------------------------------
*** xinestream.cpp.old	2009-07-12 01:37:11.000000000 +0900
--- xinestream.cpp	2009-07-11 22:13:27.000000000 +0900
***************
*** 259,265 ****
--- 259,293 ----
  
      // 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_string;
+     QByteArray target_mrl = "file:/";
+ 
+     if (m_mrl.startsWith(target_mrl)) 
+     {
+ 	    // Don't confuse QByteArray with QString, and do NOT employ
+ 	    // an implicit conversion between both objects.
+ 	    QString target_qpath = QString::fromUtf8(m_mrl);
+           target_qpath.remove(0,6);
+ 	    QStringList components_list = target_qpath.split("#");
+ 
+ 	    QByteArray s_data = 
QByteArray::fromPercentEncoding(components_list[0].toUtf8());
+ 	    QString sq_data = QString::fromUtf8(s_data.constData());
+           debug() << Q_FUNC_INFO << "Target path =" << sq_data;
+ 	    components_list[0] = 
+ 	            
QString::fromAscii(sq_data.toLocal8Bit().toPercentEncoding("/"));
+ 
+           target_mrl.append(components_list.join("#").toUtf8());
+ 	    target_string = target_mrl.constData();
+           debug() << Q_FUNC_INFO << "Target path (encoded) = " << 
target_string;
+     }
+     else
+ 	    target_string = m_mrl.constData();
+ 
+     if (xine_open(m_stream, target_string) == 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 ****
--- 340,350 ----
              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");
----------------------------------------------------------------------------------------------------------------


References
[plamo:29886] vlc, juk locale patches, Naofumi Honda
[plamo:29890] Re: vlc, juk locale patches, Naofumi Honda
[plamo:29908] Re: vlc, juk locale patches, Naofumi Honda

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