woshidan's loose leaf

ぼんやり勉強しています

Camera2

セマフォとロックとPauseからの復帰

セマフォは獲得してから解放するまでのコードを一つのスレッドしか通ってくれるなよ、的なもの 1つ、というのはコンストラクタの引数1から 同時に実行していい数が指定できるロック的な と現状理解している サンプル見てるとこのセマフォでCamera2 APIの利用…

回転が難しいというか、3つくらいこけてるとどこでこけてるかわからんね 2

純正のカメラアプリでもPORTRAITだけ対応だったりするので、回転してすぐカメラのプレビューが取れないとかはまあある話なのでは 単一方向で対応してその先はその後考えようか バッファとかの回転のマトリックスは固定値返したりとかあるみたいですね rotate…

回転が難しいというか、3つくらいこけてるとどこでこけてるかわからんね

Previewを表示するSurfaceの大きさは枠はViewのサイズ、画像の大きさはTextureView.setTransformで渡すMatrixで設定(っぽい) CameraSessionから飛んでくる元画像の大きさはSurfaceTexture.setDefaultBufferSize でここでは向きの調整は入れられないっぽい Te…

CameraDevice closeのタイミングとCameraCaptureSession closeのタイミングについて

https://github.com/googlesamples/android-Camera2Basic のサンプルから確認してメモする。 まとめ CameraDevice は CameraDevice.StateCallback のコールバックの中でcloseする onDisconnected と onError の中でclose セマフォのロックを解放しながら処理…

アプリで決めたActivityの向きがLANDSCAPEの時、Camera2のCameraDeviceから受け取るカメラのプレビューの向きがずれる

昨日のImageReaderのメモで プレビューの向きがおかしいのが気になる、という話を書きました。 その件について調べると https://stackoverflow.com/questions/34536798/android-camera2-preview-is-rotated-90deg-while-in-landscape などどうもアプリの画面…

ImageReaderクラスを触ってみた

今日はまとめる余裕がないのでこっちにおくんじゃ。 ImageReaderはAPI19で追加された、他のSurface(入力元=カメラなど)から画像を読み取る & 読み取ったコールバックで加工して他の部分へ流す(たとえばBitmapにしてImageViewに渡す)という使い方ができるSurf…