たまにはAndroidの話でも。Androidのメディア再生のデコード完了から出画までを見てみました。
Media | Android Open Source Project 辺りにあるように、Androidはlibstagefrightにメディアの処理を任せています。
図からはちょっと読み取りづらいですが、libstagefrightは動画、音声のデコードにOpenMAXというAPIを用います。図だとOMX Coreと書かれている部分です。
OpenMAXの各種デコーダ(※)は「コンポーネント」と呼ばれる部品になっています。
OpenMAXではデータの入力はEmptyThisBufferと呼びます。データの入力は非同期に行うことができます。コンポーネントは入力を処理し終えたら完了通知をコールバック(EmptyBufferDone)する仕組みになっています。
データの出力はFillThisBufferと呼びます。出力も非同期に行うことができます。コンポーネントはデータ出力の完了通知(FillBufferDone)をする仕組みになっています。
libstagefrightはOpenMAXのコンポーネントに対して、下記の処理を行います。他にも設定、フラッシュ、などややこしい処理がありますが、省略。
入力側はこんな感じです。
出力側もほぼ同じです。
バッファが2つある場合も基本的には同じです。OpenMAXの特徴はバッファ1とバッファ2がお互いを気にしなくて良いことです。バッファ2が返ってきていようが返ってきていまいが、バッファ1はコンポーネントに渡して構いません。
例えばバッファ2にすごく時間が掛かって、こんな順になっても構いません(コロンの右側はコンポーネントに渡したが返ってきていないバッファの一覧)。
特にデコーダの場合は、この例のように渡した順番と返ってくる順番が違う場合がほとんどです。
(※)OpenMAXの規格が定義するコンポーネントの機能は、デコーダだけではありません。しかしAndroidはデコーダコンポーネントしか使いません。
目次: Kindle
Kindleは書籍をAmazonから本体にダウンロードしてから読みます。漫画や雑誌のように図画の多い書籍は1冊100MB近いサイズとなるため、ダウンロードに時間がかかります。
時間帯やネットワーク環境にもよりますが、DTIに乗り換えてからはネットワーク環境が改善したので、早くて2, 3分、遅くても10分程度の短いものですが、ただボーっと待っているには長い時間です。
幸いにもKindle Fireはダウンロードしながら読むことができる機能があります。
しかし、この機能はまともに動かなくて、本当は何か書いてあるはずのページなのに、真っ白なページが表示されることが多いです。一度ページが白くなってしまうと、何度見ても白いままです。
ページが白くなってしまった場合は、書籍を本体から削除し、ダウンロードしなおすと直ります。元から白いページもあるのでややこしいですけど、その辺は本を読んでいる人ならわかりますよね。
きちんと動作すれば便利な機能だと思うのですが、今は使い物にならないです。それどころか、間違えてこの機能を発動させると本が歯抜けになってしまって迷惑なので、ダウンロード中は絶対に本を開かないようにしています。
Kindle Fireは色々残念なところが多いですね……。
目次: マンガ紹介
少し前にアニメ化されて盛り上がって(おそらく負の方向に…)いた「異世界はスマートフォンとともに」ですが、いわゆる異世界転生物かつ最強系という作品です。
異世界転生物は現代社会において事故で死亡、もしくは強制的に転送されるなどして、現代社会ではない世界、仮想世界などに転生するところから始まる作品です。
最強系は転生前は平凡だった主人公が、異世界に行くだけで突如強くなって、異世界で良い思いしたり、トントン拍子に上手く行く作品です。もう一つの特徴として、男性1人が主人公です。見た目ではなく価値観や行動基準が青年〜中年男性です。
私の購入履歴からざっと拾ってみたら20作品ほどありました。独断と偏見で分類しています。
注意としては、全て漫画版の話です。原作小説がある作品がほとんどですが、一切読んでいませんし、内容も知りません。
「無敵」と「最強」の違いはざっくりいうと、こんな感じで分類しています。
今のところ判別できそうなシーンが無い(1巻しか発売されていないなど)場合もありますが、周りと異様にかけ離れて強いかどうかでとりあえず分類しています。ただ、いずれの作品も連載中ですから、お話が進むにつれてこの分類とは違う展開になるかもしれません。
異世界&最強系の特徴として、主人公の価値観や行動基準が青年〜中年男性です。気持ち悪い言い方をすると、主人公が男でも女でも怪物でも必ず「心にオジサンがインストール」されています。先ほど挙げた20作品の中でこの点を外している作品は「私、能力は平均値で〜」だけです。
主人公を褒めたたえる周りのキャラクター達には、若い美女か地位の高い人が多いです。これは主人公(の中のオジサン)の願望がほぼ「ハーレム」か「成り上がり」に集約されるためだと思われます。
ちなみに先ほど「無敵」と「最強」に作品を分類しましたが、これは「ハーレム」と「成り上がり」傾向とそれなりに一致します。つまり「無敵」なら「ハーレム」傾向、「最強」なら「成り上がり」傾向が強いです。不思議ですね。
ハーレムの傾向が強い作品は好みが分かれると思いますから、私のお勧めは「最強」の作品、特に「最強、努力も継続」に挙げた作品です。
表現上、努力と書きましたが、何も悩むことはありません。全戦、全勝、とにかく楽勝。成り上がりはトントン拍子、全てが上手く行きます。気分爽快ですよね!
ちなみに私は普段からこんな面倒くさいことを考えて読んでいる訳じゃありません。こんなん考えていたら集中できませんし、作品が全く面白くなくなります……。
我が家では802.11ac対応Wi-Fiルータを使っているのですが、一部802.11n対応の機械が混在していて、イマイチ802.11acの恩恵を受けられていない気がします。
いつもなら壊れた機械しか入れ替えませんが、今回は奮発して全てのネットワーク機器を802.11acしかもMU-MIMO対応機器に入れ替えることにしました。
家のネットワークは下記のような感じです。
ノートPC <--(Wi-Fi)--> 親機 <-+-(Wi-Fi)--> 子機1 <--(ギガビットイーサ)--> ファイルサーバ `-(Wi-Fi)--> 子機2 <--(ギガビットイーサ)--> サブマシンなど
現在、使用中の機材は、
ですから、ネットワーク構成と通信手段は下記のようになります。
ノートPC <--(11ac)--> 親機 <-+-(11n)--> 子機1 <--(ギガビットイーサ)--> ファイルサーバ `-(11n)--> 子機2 <--(ギガビットイーサ)--> サブマシンなど
この構成から、
に置き換えます。AmazonでWG2200HPは13,000円くらい、WG1200HP2は10,000円くらいです。
写真に子機が2つ写っている理由は2部屋に設置するためです。親機4x4で、子機が2x2の製品を選んで性能差を付けている理由も同じで、親機 : 子機の台数比が1 : 2となるからです。
ノートPCのWiFiアダプタをどうするかだなあ…。
家のWi-Fiルータ、中継機を下記のように入れ替え、ノートPCからファイルサーバへのファイルコピーの速度を計測してみました。
ノートPC <--(11ac)--> 親機 <-+-(11ac 2x2 MU-MIMO)--> 子機1 <--(ギガビットイーサ)--> ファイルサーバ `-(11ac 2x2 MU-MIMO)--> 子機2 <--(ギガビットイーサ)--> サブマシンなど
今までは90〜100Mbpsだったのが150〜160Mbpsに改善しました。正直言うと802.11acはもっと速いと思っていたのですが…、1.5倍程度の改善していますから、贅沢は言わないことにします。
集合住宅ですので、単に5GHz帯が込み合っているだけの可能性もありますけども。次の機会にノートPCのWi-Fiドングルも更新して、再計測してみようと思います。
< | 2017 | > | ||||
<< | < | 11 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | - | - |
合計:
本日: