Collabora 2017 16X9

Collabora 2017 16X9

GStreamer in the world of Android Camera 3 Olivier Crête Open First Who am I ? ● GStreamer at Collabora since 2007 ● Started with VVoIP: Telepathy & Farstream ● Helps our customers use GStreamer – Many hardware integration projects 2 What is Camera 3? ● New Camera API style ● Introduced by Android 5.0 in 2004 ● Exposes modern SoC cameras 3 Modern SoCs? ● Used in all phones ● Multiple hardware blocks ● Configurable hardware pipeline ● Signal level transfer 4 Features ● Multiple streams from same sensor – Different characteristics for each ● Request based – Pull instead of push 5 What is a Request? ● Request to capture one frame ● Per request parameters ● Enables – HDR – Burst captures – Traditional video: timed requests 6 Existing APIs ● Linux: Media Controller – Requires per-hardware userspace code ● Android has HAL for this – Generic Linux has nothing – Intel has icamerasrc ● Android Java/NDK Camera2 API 7 Our design ● New base class – Not GstBaseSrc ● We tried, it was a huge pain ● Multiple source pads – Request pads – Stream APIs on pads 8 Pad API ● Per stream properties using GObject Properties ● Two types based on Caps frame rate 9 Caps frame rate = 0 / 1 ● Manual request using action signal or Ginterface ● Start/Stop method to start bursts – Possibly infinite bursts 10 Caps Frame rate > 0 ● Automatic timed requests based on framerate ● Stop on not-linked – Restart on reconfigure 11 Limitations ● Media Controller not dynamic – Only allow caps change in the READY→ PAUSED transition – Maybe only if more than one stream (pad) ● Some “” stream properties apply globally ¯\_( )_/¯ ツ 12 Android HAL limitations ● Requires single threaded access ● Recommendation: – One thread to interact – Queues frames for each pad – Streaming threads pick up from there ● Specific to Android HAL 13 Implementation status ● Only horribly prototype ● Code has no value – Based on GstBaseSrc – Tested with a single Android HAL ● Will not publish ● Code by Nicolas, Vincent P and Wonchul 14 Thank you!.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us