audio_hw_device স্ট্রাকট রেফারেন্স
#include < audio.h >
ডেটা ক্ষেত্র | |
struct hw_device_t | সাধারণ |
uint32_t(* | get_supported_devices )(const struct audio_hw_device *dev) |
int(* | init_check )(const struct audio_hw_device *dev) |
int(* | set_voice_volume )(struct audio_hw_device *dev, float ভলিউম) |
int(* | set_master_volume )(struct audio_hw_device *dev, float ভলিউম) |
int(* | get_master_volume )(struct audio_hw_device *dev, float *volume) |
int(* | set_mode )(struct audio_hw_device *dev, audio_mode_t মোড) |
int(* | set_mic_mute )(struct audio_hw_device *dev, bool state) |
int(* | get_mic_mute )(const struct audio_hw_device *dev, bool *state) |
int(* | set_parameters )(struct audio_hw_device *dev, const char *kv_pairs) |
চর *(* | get_parameters )(const struct audio_hw_device *dev, const char *কী) |
আকার_টি(* | get_input_buffer_size )(const struct audio_hw_device *dev, const struct audio_config *config) |
int(* | open_output_stream )(struct audio_hw_device *dev, audio_io_handle_t হ্যান্ডেল, audio_devices_t ডিভাইস, audio_output_flags_t পতাকা, struct audio_config *config, struct audio_stream_out **stream_out, const char * ঠিকানা) |
অকার্যকর(* | Close_output_stream )(struct audio_hw_device *dev, struct audio_stream_out *stream_out) |
int(* | open_input_stream )(struct audio_hw_device *dev, audio_io_handle_t হ্যান্ডেল, audio_devices_t ডিভাইস, struct audio_config *config, struct audio_stream_in **stream_in, audio_input_flags_t পতাকা, const char *ঠিকানা, audio_source_t উৎস) |
অকার্যকর(* | Close_input_stream )(struct audio_hw_device *dev, struct audio_stream_in *stream_in) |
int(* | ডাম্প )(const struct audio_hw_device *dev, int fd) |
int(* | set_master_mute )(struct audio_hw_device *dev, bool mute) |
int(* | get_master_mute )(struct audio_hw_device *dev, bool *mute) |
int(* | create_audio_patch )(struct audio_hw_device *dev, unsigned int num_sources, const struct audio_port_config *sources, unsigned int num_sinks, const struct audio_port_config *sinks, audio_patch_handle_t *হ্যান্ডেল) |
int(* | রিলিজ_অডিও_প্যাচ )(struct audio_hw_device *dev, audio_patch_handle_t হ্যান্ডেল) |
int(* | get_audio_port )(struct audio_hw_device *dev, struct audio_port *port) |
int(* | set_audio_port_config )(struct audio_hw_device *dev, const struct audio_port_config *config) |
বিস্তারিত বিবরণ
ফিল্ড ডকুমেন্টেশন
void(* close_input_stream)(struct audio_hw_device *dev, struct audio_stream_in *stream_in) |
void(* close_output_stream)(struct audio_hw_device *dev, struct audio_stream_out *stream_out) |
struct hw_device_t common |
অডিও ডিভাইসের সাধারণ পদ্ধতি। এটি অবশ্যই audio_hw_device- এর প্রথম সদস্য হতে হবে কারণ এই কাঠামোর ব্যবহারকারীরা অডিও_hw_device পয়েন্টারে একটি hw_device_t কাস্ট করবে যেখানে এটি hw_device_t একটি audio_hw_device উল্লেখ করে।
int(*create_audio_patch)(struct audio_hw_device *dev, unsigned int num_sources, const struct audio_port_config *sources, unsigned int num_sinks, const struct audio_port_config *sinks, audio_patch_handle_t *হ্যান্ডেল) |
int(* ডাম্প)(const struct audio_hw_device *dev, int fd) |
int(* get_audio_port)(struct audio_hw_device *dev, struct audio_port *port) |
size_t(* get_input_buffer_size)(const struct audio_hw_device *dev, const struct audio_config *config) |
int(* get_master_mute)(struct audio_hw_device *dev, bool *mute) |
HAL-এর জন্য বর্তমান মাস্টার মিউট স্ট্যাটাস পান, যদি HAL মাস্টার মিউট কন্ট্রোল সমর্থন করে। পরিষেবা শুরু হলে অডিওফ্লিংগার প্রাথমিক অডিও HAL থেকে এই মানটি জিজ্ঞাসা করবে এবং সমস্ত HAL জুড়ে প্রাথমিক মাস্টার মিউট সেট করার জন্য মানটি ব্যবহার করবে। HAL যারা এই পদ্ধতি সমর্থন করে না তারা এটিকে NULL এ সেট করতে পারে।
int(* get_master_volume)(struct audio_hw_device *dev, float *volume) |
HAL-এর জন্য বর্তমান মাস্টার ভলিউম মান পান, যদি HAL মাস্টার ভলিউম নিয়ন্ত্রণ সমর্থন করে। পরিষেবা শুরু হলে অডিওফ্লিংগার প্রাথমিক অডিও HAL থেকে এই মানটি জিজ্ঞাসা করবে এবং সমস্ত HAL জুড়ে প্রাথমিক মাস্টার ভলিউম সেট করার জন্য মানটি ব্যবহার করবে। HAL যারা এই পদ্ধতি সমর্থন করে না তারা এটিকে NULL এ সেট করতে পারে।
int(* get_mic_mute)(const struct audio_hw_device *dev, bool *state) |
char*(* get_parameters)(const struct audio_hw_device *dev, const char *কী) |
uint32_t(* get_supported_devices)(const struct audio_hw_device *dev) |
প্রতিটি audio_hw_device বাস্তবায়ন দ্বারা কোন ডিভাইসগুলি সমর্থিত তা গণনা করতে অডিও ফ্লিংগার দ্বারা ব্যবহৃত হয়।
রিটার্ন মান হল অডিও_ডিভাইস_টি এর 1 বা তার বেশি মানের একটি বিটমাস্ক
দ্রষ্টব্য: AUDIO_DEVICE_API_VERSION_2_0 দিয়ে শুরু হওয়া অডিও HAL বাস্তবায়ন এই ফাংশনটি বাস্তবায়ন করে না। সমস্ত সমর্থিত ডিভাইস audio_policy.conf ফাইলে তালিকাভুক্ত করা উচিত এবং অডিও নীতি পরিচালককে অবশ্যই এই ফাইলের তথ্যের উপর ভিত্তি করে উপযুক্ত অডিও মডিউল বেছে নিতে হবে।
int(* init_check)(const struct audio_hw_device *dev) |
int(* open_input_stream)(struct audio_hw_device *dev, audio_io_handle_t হ্যান্ডেল, audio_devices_t ডিভাইস, struct audio_config *config, struct audio_stream_in **stream_in, audio_input_flags_t পতাকা, const char *ঠিকানা, audio_source_t উৎস) |
int(* open_output_stream)(struct audio_hw_device *dev, audio_io_handle_t হ্যান্ডেল, audio_devices_t ডিভাইস, audio_output_flags_t পতাকা, struct audio_config *config, struct audio_stream_out **stream_out, const char * ঠিকানা) |
এই পদ্ধতিটি অডিও হার্ডওয়্যার আউটপুট স্ট্রীম তৈরি করে এবং খোলে। প্রয়োজনে "ঠিকানা" প্যারামিটারটি "ডিভাইস" অডিও ডিভাইসের প্রকারের যোগ্যতা অর্জন করে। বিন্যাস বিন্যাস ডিভাইস ধরনের উপর নির্ভর করে:
- ব্লুটুথ ডিভাইসগুলি "00:11:22:AA:BB:CC" আকারে ডিভাইসের MAC ঠিকানা ব্যবহার করে
- USB ডিভাইসগুলি "card=X;device=Y" আকারে ALSA কার্ড এবং ডিভাইস নম্বর ব্যবহার করে
- অন্যান্য ডিভাইস একটি সংখ্যা বা অন্য কোনো স্ট্রিং ব্যবহার করতে পারে।
int(* release_audio_patch)(struct audio_hw_device *dev, audio_patch_handle_t হ্যান্ডেল) |
int(* set_audio_port_config)(struct audio_hw_device *dev, const struct audio_port_config *config) |
int(* set_master_mute)(struct audio_hw_device *dev, bool mute) |
int(* set_master_volume)(struct audio_hw_device *dev, float ভলিউম) |
int(* set_mic_mute)(struct audio_hw_device *dev, bool state) |
int(* set_mode)(struct audio_hw_device *dev, audio_mode_t মোড) |
int(* set_parameters)(struct audio_hw_device *dev, const char *kv_pairs) |
int(* set_voice_volume)(struct audio_hw_device *dev, float ভলিউম) |
এই কাঠামোর জন্য ডকুমেন্টেশন নিম্নলিখিত ফাইল থেকে তৈরি করা হয়েছিল:
- hardware/libhardware/include/hardware/ audio.h