ক্যামেরা ডিবাগিং

এই পৃষ্ঠাটি ক্যামেরা HAL-এ এবং ক্যামেরা থেকে পাঠানো ক্যাপচার অনুরোধ এবং ফলাফলের মানগুলির পরিবর্তনগুলি দেখার জন্য ক্যামেরা পরিষেবাতে ডিবাগিং সরঞ্জামগুলি বর্ণনা করে৷ ক্যামেরা পরিষেবাতে watch এবং dumpsys কমান্ড অন্তর্ভুক্ত রয়েছে। অ্যান্ড্রয়েড 13 বা উচ্চতর সংস্করণে চালিত ডিভাইসগুলিতে উপলব্ধ, watch কমান্ড কখন ট্যাগগুলি নিরীক্ষণ এবং অ্যাক্সেস করা হয়, খোলা ক্লায়েন্ট থেকে ট্যাগ মনিটরিং ডাম্পগুলির লাইভ প্রিভিউ এবং বন্ধ ক্লায়েন্টদের থেকে ক্যাশে করা ডাম্পগুলি দেখার অনুমতি দেয়৷ dumpsys কমান্ড ডিবাগিং তথ্য অ্যাক্সেস করার অনুমতি দেয় কিন্তু বন্ধ ক্লায়েন্টদের থেকে ট্যাগ মনিটরিং ডাম্প প্রদান করে না।

ঘড়ির আদেশ

এই বিভাগটি বর্ণনা করে কিভাবে watch কমান্ড ব্যবহার করতে হয় এবং উদাহরণ প্রদান করে।

ট্যাগ পর্যবেক্ষণ শুরু করুন

ট্যাগ পর্যবেক্ষণ শুরু করতে, ব্যবহার করুন:

adb shell cmd media.camera watch start -m <tags> [-c <clients>]

উদাহরণ:

adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chrome

যুক্তি:

  • tags : কমা দ্বারা পৃথক করা ট্যাগের তালিকা যা পর্যবেক্ষণ করা হবে। এছাড়াও শর্টহ্যান্ড 3a গ্রহণ করে, যেখানে 3a সমস্ত android.control.* AF, AE এবং AWB সম্পর্কিত ট্যাগ (ট্যাগের সম্পূর্ণ তালিকার জন্য, TagMonitor.cpp দেখুন)।
  • clients : ঐচ্ছিক যুক্তি। ক্লায়েন্ট প্যাকেজ নামের কমা দ্বারা পৃথক করা তালিকা যার জন্য ট্যাগগুলি পর্যবেক্ষণ করা হয়। কোনো ক্লায়েন্ট আর্গুমেন্ট পাস না হলে বা ক্লায়েন্টদের তালিকায় all উপস্থিত থাকলে সব ক্লায়েন্টকে দেখে।

এই কমান্ডটি খোলা ক্লায়েন্ট এবং পরবর্তীতে খোলা যেকোন ক্লায়েন্টে ট্যাগ পর্যবেক্ষণ শুরু করে ( stop বলা না হওয়া পর্যন্ত)। start কল করার পর, ক্লায়েন্ট বন্ধ হলে ক্যামেরা সার্ভিস ক্লায়েন্টদের কাছ থেকে ট্যাগ মনিটরিং ডাম্প ক্যাশ করে।

start বলা না হলে, ক্যামেরা পরিষেবা কোনও ক্লায়েন্টের জন্য ট্যাগ নিরীক্ষণ করে না এবং ট্যাগ মনিটরিং ডাম্পগুলি ক্যাশে করে না। clients প্যারামিটারে all পাস করা হলে, ক্যামেরা পরিষেবা সমস্ত ক্লায়েন্টদের থেকে ট্যাগ এবং ক্যাশে মনিটরিং ডাম্প নিরীক্ষণ করে।

ডাম্প ট্যাগ পর্যবেক্ষণ তথ্য

ট্যাগ পর্যবেক্ষণ তথ্য ডাম্প করতে, ব্যবহার করুন:

adb shell cmd media.camera watch dump

এই কমান্ডটি স্ট্যান্ডার্ড আউটপুটে ট্যাগ পর্যবেক্ষণ তথ্য ডাম্প করে এবং তারপর প্রস্থান করে। এটি ক্লায়েন্টদের থেকে ক্যাশ করা ট্যাগ মনিটরিং ডাম্পগুলি প্রিন্ট করে যা start থেকে বন্ধ হয়ে গেছে (বা শেষ clear ) এবং খোলা ক্লায়েন্টদের থেকে সর্বশেষ ট্যাগ মনিটরিং ডাম্প।

নমুনা আউটপুট:

$ adb shell cmd media.camera watch dump
Client: com.android.chrome (active)
1:com.android.chrome  f0:532642803202286ns:             REQ:android.control.aeMode: [ON] output stream ids:  0
1:com.android.chrome  f0:532642803202286ns:             REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids:  0
..
Client: com.google.android.GoogleCamera (cached)
0:com.google.android.GoogleCamera  f0:532601698728552ns:             REQ:android.control.aeMode: [ON] output stream ids:  0  3  1  2
0:com.google.android.GoogleCamera  f0:532601698728552ns:             REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids:  2  1  3  0
0:com.google.android.GoogleCamera  f0:532601698728552ns:             REQ:android.control.awbMode: [AUTO] output stream ids:  0  3  1  2
...

রিয়েল টাইমে ট্যাগ পর্যবেক্ষণ তথ্য প্রাকদর্শন

রিয়েল টাইমে ট্যাগ পর্যবেক্ষণ তথ্যের পূর্বরূপ দেখতে, ব্যবহার করুন:

adb shell cmd media.camera watch live [-n refresh_interval_ms]

উদাহরণ:

adb shell cmd media.camera watch live -n 250

যুক্তি:

  • refresh_interval_ms : ঐচ্ছিক যুক্তি। এ তথ্য রিফ্রেশ করতে মিলিসেকেন্ডে ব্যবধান। কোনো মান পাস না হলে ডিফল্ট 1000 হয়।

এই কমান্ডটি রিয়েল টাইমে ট্যাগ পর্যবেক্ষণ তথ্য মুদ্রণ করে। প্রস্থান করতে, রিটার্ন / এন্টার টিপুন।

নমুনা আউটপুট:

$ adb shell cmd media.camera watch live
Press return to exit...

0:com.google.android.GoogleCamera  f0:533016991302201ns:             REQ:android.control.aeMode: [ON] output stream ids:  1  3  0  2
0:com.google.android.GoogleCamera  f0:533016991302201ns:             REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids:  2  0  3  1
...
0:com.google.android.GoogleCamera  f0:533017066793915ns:                            RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera  f0:533017066793915ns: 3                          RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera  f0:533017066793915ns: 2                          RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera  f0:533017066793915ns:                            RES:android.control.afState: [PASSIVE_SCAN]

ক্যাশে করা ডাম্প সাফ করুন

সমস্ত ক্যাশ করা ট্যাগ মনিটরিং ডাম্প সাফ করতে, ব্যবহার করুন:

adb shell cmd media.camera watch clear

এই কমান্ডটি ট্যাগ পর্যবেক্ষণ বন্ধ করে না।

ট্যাগ পর্যবেক্ষণ বন্ধ করুন

সমস্ত ক্লায়েন্টে ট্যাগ পর্যবেক্ষণ বন্ধ করতে এবং ট্যাগ মনিটরিং ডাম্প ক্যাশ করার জন্য রাখা সমস্ত বাফার সাফ করতে, ব্যবহার করুন:

adb shell cmd media.camera watch stop

ডাম্পসি কমান্ড

dumpsys কমান্ড ক্যামেরা পরিষেবা থেকে ডিবাগিং তথ্যের একটি হোস্ট প্রদান করে। নিম্নলিখিত কমান্ডটি ক্যামেরা পরিষেবা থেকে সম্পূর্ণ ডিবাগিং ডাম্প ক্যাপচার করে:

adb shell dumpsys media.camera

dumpsys কমান্ড ওপেন ক্লায়েন্টদের থেকে ট্যাগ মনিটরিং ডাম্প ক্যাপচার করার অনুমতি দেয়। যাইহোক, dumpsys বন্ধ ক্লায়েন্টদের থেকে ট্যাগ মনিটরিং ডাম্প প্রদান করে না। ট্যাগ নিরীক্ষণের জন্য dumpsys ব্যবহার করার উদাহরণ নিম্নলিখিত:

  • সমস্ত খোলা ক্লায়েন্ট থেকে ট্যাগ মনিটরিং ডাম্প ক্যাপচার করুন:

    adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
    
  • লিনাক্স watch কমান্ড ব্যবহার করে ট্যাগ পর্যবেক্ষণ তথ্যের লাইভ পূর্বরূপ পান:

    watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'