PT1/PT2のDVBとMythTV @WikiでMythTV 0.26のISDB対応パッチ(仮)が公開されていたので試してみた。

必要なパッチを作り直して、パッケージのビルドからインストールまでを行なった。結果はパッケージの依存関係の問題で失敗。実際に行なった手順と作成したパッチを公開。

2013/1/6 1:27追記:BS対応パッチの圧縮に失敗していたので再アップロード。
2013/1/10追記:カテゴリ日本語化パッチに文字化けの報告があるので修正。

Debian squeezeに導入(失敗)

  1. ここに置いてあるisdb-mythtv_0.26.0-20130101.patchをダウンロード
  2. パッケージのソースをダウンロード
    $ apt-get source mythtv
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています
    状態情報を読み取っています... 完了
    47.4 MB のソースアーカイブを取得する必要があります。
    取得:1 http://www.deb-multimedia.org/ sid/main mythtv-dmo 0.26.0+fixes20130104-dmo1 (dsc) [3,439 B]
    取得:2 http://www.deb-multimedia.org/ sid/main mythtv-dmo 0.26.0+fixes20130104-dmo1 (tar) [47.3 MB]
    取得:3 http://www.deb-multimedia.org/ sid/main mythtv-dmo 0.26.0+fixes20130104-dmo1 (diff) [72.3 kB]
    47.4 MB を 33秒 で取得しました (1,426 kB/s)
    dpkg-source: info: extracting mythtv-dmo in mythtv-dmo-0.26.0+fixes20130104
    dpkg-source: info: unpacking mythtv-dmo_0.26.0+fixes20130104.orig.tar.gz
    dpkg-source: info: applying mythtv-dmo_0.26.0+fixes20130104-dmo1.diff.gz
    dpkg-source: info: upstream files that have been modified:
     mythtv-dmo-0.26.0+fixes20130104/external/zeromq/configure
  3. パッチを当てる(ISDB以外のパッチは後述)
    $ cd mythtv-dmo-0.26.0+fixes20130104/
    $ patch -p1 < ../isdb-mythtv_0.26.0-20130101.patch
    patching file libs/libmythtv/channelscan/channelscan_sm.cpp
    patching file libs/libmythtv/channelscan/frequencytablesetting.cpp
    patching file libs/libmythtv/eithelper.cpp
    patching file libs/libmythtv/frequencytables.cpp
    patching file libs/libmythtv/libmythtv.pro
    patching file libs/libmythtv/mpeg/dishdescriptors.cpp
    patching file libs/libmythtv/mpeg/dishdescriptors.h
    patching file libs/libmythtv/mpeg/dvbdescriptors.cpp
    patching file libs/libmythtv/mpeg/dvbdescriptors.h
    patching file libs/libmythtv/mpeg/dvbstreamdata.cpp
    patching file libs/libmythtv/mpeg/dvbstreamdata.h
    patching file libs/libmythtv/mpeg/dvbtables.cpp
    patching file libs/libmythtv/mpeg/dvbtables.h
    patching file libs/libmythtv/mpeg/isdb_decode_text.c
    patching file libs/libmythtv/mpeg/isdb_decode_text.h
    patching file libs/libmythtv/mpeg/mpegdescriptors.cpp
    patching file libs/libmythtv/mpeg/mpegdescriptors.h
    patching file libs/libmythtv/mpeg/scanstreamdata.cpp
    patching file libs/libmythtv/mpeg/scanstreamdata.h
    patching file libs/libmythtv/mpeg/sctedescriptors.h
    patching file libs/libmythtv/tv_rec.cpp
    patching file libs/libmythtv/tv_rec.h
    $ patch -p1 < ../mythtv_0.26.0-bs-lnb.patch
    patching file libs/libmythtv/dtvmultiplex.cpp
    patching file libs/libmythtv/dtvmultiplex.h
    patching file libs/libmythtv/dvbchannel.cpp
    $ patch -p0 < ../mythtv_0.26.0-japanese-cat.patch
    patching file libs/libmythtv/mpeg/dvbdescriptors.cpp
    $ patch -p0 < ../mythtv_0.26.0-subtitle.patch
    patching file libs/libmythtv/eithelper.cpp
    $ patch -p0 < ../mythtv_0.26.0-tuning.patch
    patching file libs/libmythtv/dvbstreamhandler.cpp
  4. 足りないパッケージをインストール
  5. $ sudo aptitude install -t squeeze-backports debhelper #バージョンが古くてビルドできないのでアップグレード
    $ sudo aptitude install uuid-dev libvpx-dev 
  6. パッケージのビルド
    $ dch -i #バージョンなどを修正
    $ debuild -us -uc -d
  7. パッケージのインストール
    $ sudo dpkg -i ../*.deb
    $ sudo aptitude -f install

ビルドまでうまくできたが、パッケージの依存関係が崩れてしまったので失敗。wheezyがリリースされたらまた試そうと思う。

MythTV 0.26.0に向けて作成したパッチ

ビルドはできたが、インストールがうまくいかなかったので、全て未検証。

各パッチは以前の記事に準ずる。

カテゴリ日本語化パッチ

mythtv_0.26.0-japanese-cat.patch

カテゴリ日本語化パッチ(修正版)

mythtv_0.26.0-japanese-cat.patch

Qtのバージョンが変わって、実際に動くか不明。

サブタイトルの切り直しパッチ

mythtv_0.26.0-subtitle.patch

パッチがそのまま当たったので簡単に修正。

BS対応パッチ

mythtv_0.26.0-bs.zip

前回作成したパッチを元に作成。

録画バグ修正パッチ

mythtv_0.26.0-tuning.patch

修正されている可能性もあるが、念のため作成。

1月 5th, 2013

Posted In: ソフトウェア

タグ: , , , , , , ,

4 Comments

  • 匿名 より:

    mythtv_0.26.0-bs.zipの中身が空のようです。

  • takaaki より:

    失礼しました。
    すぐに上げ直します。

  • drvlabo より:

    はじめまして.
    PT2 + mythtv-0.24.x => PT3 + mythtv-0.26.x の移行を目指してmythtv-0.26.x環境の試験構築と動作確認を進めていますが,開示いただいているパッチそのままだと
    dvbchannel.cpp:Tune()
    でDVB frontendへioctlを発行しようとする部分で”cmds”の実体を確保し忘れていてSEGV終了します.

    あとは,PT2/PT3へ設定する周波数の値の桁の都合で
    dtvchannel.cpp:SetChannelByString()
    が周波数値のsanity checkで周波数値でないとみなしてしまうので,そこを通すようにあわせ込む(sanity checkの条件を緩くする)必要があります.

    その2点を修正することでmythtv-0.26.x + PT3でのISDB-S視聴も動作を確認できました.

  • takaaki より:

    ありがとうございます。
    BSの動作を確認できました。
    2点目を直した所で詰まってました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください