« 2020年4月 | トップページ | 2020年7月 »

2020年5月

2020年5月12日 (火)

Ver.2.0.92 リリース

Ver.2.0.92 をリリースします。

 

モード7でデスクトップ画像が乱れる可能性のある不具合を修正しました。

せっかくなのでUbuntu 20.04版もアップデートしました。

 

以下からダウンロードできます。(Windows/Linux(x64のみ)/MacおよびAndroid(Beta)版)


https://github.com/funfun-dc5/qtbrynhildr/releases


主な変更は以下です。


[不具合修正]
・Qt Brynhildrを再起動することなく、モード7で同じサーバに再接続した時に画面が乱れることがある不具合修正


配布しているパッケージはQt5.12.8がサポートする環境で動作します。

Windows版 : Windows 7以降
Mac版 : macOS Sierra (10.12)以降
Linux版 : Ubuntu 16.04上で作成
Android版 : Android4.1以降

 

(追記)

ARM64版を作ってみました。

64bit ARMなAndroidデバイスを持っていないので動作確認出来ていません。

NEONを使っていないバージョンです。動作報告頂けたら助かります。


-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------

3bc39070d72ce55f7d4b0eb260945b757e442729f618e7bf724ada5108a79724 *QtBrynhildr-android64-v2100-beta-20200512.apk

c486d34651ab45be3a87ea87c27844261702f2df25fd39a3d788e8fbe79d299e *QtBrynhildr-android-v2100-beta-20200512.apk

953b2b6655faed95d57d9ae2e84e9773f64bea3390744302b2effdb112dd5729 *QtBrynhildr-linux_x64-v2092.run

72dc352d318eab1f5170a6b31d07edc4b54fe223208d9b581686dd5916aad7a1 *QtBrynhildr-macosx_x64-v2092.dmg

e4439d44925c48413c01062da001d636ef4d7699ec6aecef5a6d1002a2a1392a *QtBrynhildr-ubuntu2004_x64-v2092.run

5c324c46339ff90bc27b5da2badab1137450d4fe7002bca27d91de888d79761e *QtBrynhildr-windows-v2092-msvc.exe

ed84883c23c834e4c05ed6e9a1e247f7e1e442d6441045791de0741164ec0af6 *QtBrynhildr-windows-v2092-msvc64.exe

 

2020年5月11日 (月)

Ver.2.0.91 リリース

Ver.2.0.91 をリリースします。

主にAndroid用のコード修正です。Nexus7(2013)での動作テストのみのBeta版(32bit)です。
お二人の方から動作報告を頂きました、ご協力ありがとうございます。詳細は当ブログのコメントを御覧ください。

以下からダウンロードできます。(Windows/Linux(x64のみ)/MacおよびAndroid(Beta)版)


https://github.com/funfun-dc5/qtbrynhildr/releases


主な変更は以下です。


[不具合修正]
・Android版(ARM)でCELTによるサウンドデータ転送を指定した場合に不正終了する場合がある不具合修正
・Android版で一度接続したサーバのIP/ホスト名、ポート番号が保存されない不具合修正

[その他変更]
・Android版で「デスクトップ圧縮」機能を無効化


配布しているパッケージはQt5.12.8がサポートする環境で動作します。

Windows版 : Windows 7以降
Mac版 : macOS Sierra (10.12)以降
Linux版 : Ubuntu 16.04上で作成
Android版 : Android4.1以降


Ubuntu 20.04 LTS 日本語Remix リリース記念にUbuntu 20.04版を作ってみました。
パッケージ(qt5-default, libqt5multimedia5-plugins)があれば動くと思います。

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
952176199e478d563cae2a4830e847dc6a5e0c4743e4f6df321cd06636a520fb *QtBrynhildr-android-v2100-beta-20200510.apk

6310940981e42e0f54f929c301f440b68e7365cdffb779c9fa944c68a55c5849 *QtBrynhildr-linux_x64-v2091.run

93677c68de637f5b1c9f8082a8f444fd56023dc4d2ea8b86f535e9d02df22128 *QtBrynhildr-macosx_x64-v2091.dmg

2588e2f531e7cb0e413d4b3516bb9fcfe90c818bc202dde8767aad2fb2afd137 *QtBrynhildr-ubuntu2004_x64-v2091.run

cdc83e3f3bbfa63622b9801c354822219ddf56c14a267d9847ebdda4140758ae *QtBrynhildr-windows-v2091-msvc.exe

216a39aa31b5c1e14b7c56e9ceaa58038d8c85b02d5eee0cb7b73b1b92ecf91a *QtBrynhildr-windows-v2091-msvc64.exe

2020年5月 9日 (土)

Qt Brynhildr Android版 Alpha Version クラッシュの原因

Android版で発生していた、

1. サーバのスピーカー設定が16bit/48kHzの時にクラッシュする

という不具合の原因がわかりました。

サウンドデータをCELTライブラリで圧縮したものを受け取る場合にのみ発生し、生のPCMデータを送る場合は発生しません。

 

Qt Creatorで例外発生時のアセンブルリストを見ると

 

0xaebee4fa <+ 62> 40 cc ldmia r4!, {r6}

 

という命令で例外が発生しているようです。

命令の内容は簡単に言うとレジスタr4の値が示すメモリからr6レジスタに4バイト読み込んでr4レジスタを読み込んだ分だけ進める(加算する)ということのようです。で、r4の値を見ると、最後が0x3になってます、まずいですよね。

ARMの場合4バイトデータは4の倍数のアドレスに配置されていないと一度に読み込むことが出来ません。通常コンパイラは4バイトデータを4の倍数のアドレスに自動的に配置します。しかし、なんにも考えずに以下のように書くとコンパイラは4バイトデータを一気に読み込むんだなぁと想定して上記のコードを生成してしまいます。

 

celt_int32 chunkSize = *((celt_int32 *)chunkTop);

 

Brynhildrサーバから送られてくるCELTのサウンドデータは複数のデータの塊(チャンク)で送られてきます。

 

チャンクのCELTデータサイズ(4バイト)、CELTデータ、チャンクのCELTデータサイズ(4バイト)、CELTデータ

 

という感じです。CELTデータが必ず4の倍数サイズであればいいのですけどそうでないことがあるのですね。

INTELやAMDのCPUの場合4の倍数のアドレスに配置されていない場合でも取り敢えず読み込んではくれます、ちょっと時間はかかりますけど。

 

というわけで、チャンクのCELTデータサイズ(リトルエンディアンの4バイトデータ)を読み込むために

 

celt_int32 chunkSize = *chunkTop | *(chunkTop+1) << 8 | *(chunkTop+2) << 16 | *(chunkTop+3) << 24;

 

のようなコードに書き換えました。

 

早速ビルドし直して、GitHubのパッケージを置き換えました。一気にapkのサイズが3MBほど小さくなりました…

#ああ、スッキリしました…

(追記)

Ubuntu 20.04 日本語Remix がリリースされました。ありがとうございます。

https://www.ubuntulinux.jp/News/ubuntu2004-ja-remix

 

2020年5月 8日 (金)

Qt Brynhildr Android版 Alpha Version (Ver.2.0.90相当)

Ver.2.0.90 とは別記事にしました。Qt Brynhildr Android版のalpha test versionです。

 

5月7日にリリースしたバージョンには、

1. サーバのスピーカー設定が16bit/48kHzの時にクラッシュする

2. 前回接続した時のIP/ホスト名、ポート番号などが保存されない

があったのでビルドし直しました。1.は動作するようにしましたが暫定対応です。

 

以下からダウンロードできます。

https://github.com/funfun-dc5/qtbrynhildr/releases

 

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------

9a63ab879da29bc21c3a853b38a43879e2bcd849d2e782155d0f265c86ac50b5 *QtBrynhildr-android-v2100-alpha-20200508.apk

 

2020年5月 1日 (金)

Ver.2.0.90 リリース

Ver.2.0.90 をリリースします。

Ver.2.1.0リリースのための大きな問題はほぼ解決できたので2.0.30から一気にバージョンを上げました。

設定ダイアログのデザインを少し変えたので、以前のバージョンで「SIMD命令サポートをON」にしていた場合も"C++"による変換処理に再設定されます。
今はネットワーク速度がボトルネックになっているのでCPU負荷的には"C++", "2スレッド"あたりがいいかもしれません。
WiFi6や5Gが普及したら再検討することになるでしょう…

AVX2をサポートするCPUの場合は"SSE+AVX2"が選択できる、はずです。うちのMac Book Air (Early 2015)でしか試せてません。開発用メインマシンは実に7年前に組んだPCなのでAVX2をサポートしていないのです。


以下からダウンロードできます。(Windows/Linux(x64のみ)/Mac版)


https://github.com/funfun-dc5/qtbrynhildr/releases


主な変更は以下です。


[不具合修正]
・ログ表示ダイアログでリセットボタンを押したときにリセットされない不具合修正
・サウンド再生の遅延及びプチノイズの発生低減
(*)サーバPCのスピーカー設定は16bit/44.1kHzを推奨

[その他変更]
・Windows版に同梱しているOpenSSL DLL(1.1.1系)を1.1.1gへ更新
・AVX2命令を利用したデコーダを追加(対応するCPUの場合のみ有効となる)


配布しているパッケージはQt5.12.8がサポートする環境で動作します。

Windows版 : Windows 7以降
Mac版 : macOS Sierra (10.12)以降
Linux版 : Ubuntu 16.04上で作成

(追記)

Raspberry Pi 3 Model B+ で作ってみましたがなんとか動いているようです。

グラフィックアクセラレーション機能はOFFのままでした。

(追記2)

2年ぶりにAndroid版(armv7)のパッケージを作ってみました。適当な署名になってます。操作系は要調整なレベルです。

Qt5.12.8で作ったのでAndroid4.1以降のようですが、Qt5.14.2ではAndroid5.0以降が対象になるみたいです。

うちのNexus 7はAndroid 6.0なのでもうしばらくテストに使えそうです。

(追記3)

Android版を試すときは、お手数ですがサーバPCのスピーカ設定を16bit/44.1kHzに変更してからお試しください。

現在ダウンロードできる版はビルドの手違いでIP, ポート番号などが保存されません。

ビルドし直して置き換える予定ですのでしばらくお待ち下さい。

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------

3d6cf79ab858f187cb0eb660426f6a68de98b9ef13184d58c793b170bcbef75c *QtBrynhildr-android-v2100-alpha-20200507.apk

4f467d7f50e38d7683ea30e141b0c2cdb1af3378d86b0483bf9f8f57dc476fbe *QtBrynhildr-linux_x64-v2090.run

b53214e362c34a46ba35641c78ebb1b3a9fee37c4be474a0eb7fbde0697a14c8 *QtBrynhildr-macosx_x64-v2090.dmg

10a204f7ebd04a1cbf1c8bea41b6ac275a26234e045cdf133cbe1a010d046016 *QtBrynhildr-windows-v2090-msvc.exe

1c1f7e209ace05025a99e8693890cfb4bda0aadf6107872da199e239542ce1ad *QtBrynhildr-windows-v2090-msvc64.exe

« 2020年4月 | トップページ | 2020年7月 »