Skip to content

Instantly share code, notes, and snippets.

View szktty's full-sized avatar

SUZUKI Tetsuya szktty

View GitHub Profile
@szktty
szktty / clockwork-base32.md
Last active August 6, 2024 06:23
Clockwork Base32: A variant of Base32 inspired by Crockford's Base32
@szktty
szktty / WebRTCBuildGuide.md
Last active October 4, 2024 05:37
詳解 WebRTC ビルド

詳解 WebRTC ビルド

以下の内容は M63 時点の情報です。

WebRTC ライブラリのソースコードはサイズが 6GB 以上あってダウンロード時間でペヤングが 100 個は食べられるほどで、ビルドするにも Mac Pro の 12 コアをフル回転させて 1 つのアーキテクチャにつき最低 15 分はかかります。その上ビルドは相当に複雑な構成をしており、全地球のプログラマの寿命を戦闘機のカタパルトで助走をつけて殴っていいレベルで削らせるブラックなボックスです。あまりに自力ビルドの難易度が高いので WebRTC Build Scripts というビルドスクリプトも登場しましたが、最近ビルド方法が大きく変更されたために残念ながらこのビルドツールの内容は古くなってしまいました。

幸い iOS では公式ビルドのバイナリをダウンロードできるようになりました。 ところが「これで iOS はすべて解決!」とも言えません。 WebRTC のビルドには様々なオプションが用意されており、公式ビルドはあくまで特定のオプションの組み合わせの一つです。残念なことに用途によっては公式ビルドでカバーできない場合もあり、気軽に依存できない状況もあると思います。 時雨堂の WebRTC SFU Sora とかそうです (宣伝)。

この記事の目的は、ビルドの各手順の意味を把握してもらうことです(理解とは言ってない)。おそらく自力ビルドせざるを得ない人はほとんどいないと思いますが、万が一の場合に参考になれば幸いです。

@szktty
szktty / WebRTCAPIGuide.md
Last active July 22, 2024 08:09
WebRTC ネイティブ iOS ライブラリ API ガイド

WebRTC ネイティブ iOS ライブラリ API ガイド (M62)

Safari が WebRTC に対応したり、 React-Native があったりと、 WebRTC を使う iOS アプリの開発ではネイティブライブラリ (WebRTC.framework) + Swift を使わない選択肢も十分あります。でも最終的に手の込んだことをやろうとすると、もしくは最新のリリースブランチを使うとなると、ネイティブライブラリに頼らざるを得ません。いかんせんネイティブライブラリの情報が少なくて辛いですね。参考になれば辛い、いえ幸いです。

ここで扱うのはメディアチャネルのみです。データチャネルについては扱いません。知りませんので。ビルドについても扱いません。なんとかしてください。

私は主に商用 WebRTC SFU SoraiOS SDK を開発しており、そのため以下の内容が環境に依存してしまっている可能性があります。その場合はご指摘頂けると助かります。

Swift での利用

VisualWorks のフォントサイズを変更する (「じゅん」を使う)

@sumim さんから「 じゅん 」を使ってフォントサイズを変更する方法を教えていただいた。こっちのほうが OS にインストールされているフォントも使えて簡単だった。ただ、こちらもフォントによっては描画とカーソルの位置がずれることがある。

  1. まず、「じゅん」をインストールする。ランチャーのメニューから "System" -> "Load Parcels Named..." を選択する。 Parcel というのは、 VisualWorks のパッケージシステム。ウィンドウが開いたら、テキストフィールドに "Jun" と入力して検索し、 "OK" をクリックしてインストールする。

    https://dl.dropboxusercontent.com/u/131997/gist/visualworks/fontsize/parcel.png

VisualWorks のフォントサイズを変更する

(2013/4/25) 追記: 「じゅん」を使う方法

システム設定で指定できるフォントサイズが small, medium, large からしか選べないので、 large のフォントサイズを直接変更してみた。結論から言えば、ワークスペースで次のコードを評価すればいいが、せっかくなので画像つきで。

(TextAttributes.TextStyles at: #large) scalingFactor: 1.6