about mp4 parser
技術的な話題。
最近MP4のパーサを作ってみようと思い、
iPhone SDKを最近使ってるってのもあって、
APIを参考にしてみました。
iPhone SDKのパーサって、
基本はコールバックでデータを判断するんですが、
なんでこういう方式とってるのかずっと疑問で、
実装面からこの方式のメリットを考えてみました。
- パーサに渡すデータのサイズを意識しなくてよい
- 意図するデータが見つかるとすぐに判断できる
1については、
パーサにデータを渡すとき、
意図するデータを取得するためにどれだけ渡せばよいか
APIを使う側で意識する必要がないのはいい点ですね。
2については、
データの中にキーが見つかるとコールバックされるので、
それをハンドルするかはユーザが決めればいいんですね。
毎回データが見つかったか問い合わせる必要がないですね。
まぁ、デメリットもあると思うんですけどね。
取得したくもないデータが見つかってもコールバックされるとか。
そんなにデメリットでもないか。。。