संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

audio_stream_out संरचना संदर्भ

audio_stream_out संरचना संदर्भ

#include < audio.h >

डेटा फ़ील्ड

स्ट्रक्चर ऑडियो_स्ट्रीम सामान्य
uint32_t(* get_latency )(const struct audio_stream_out *stream)
इंट (* set_volume )(struct audio_stream_out *stream, फ्लोट लेफ्ट, फ्लोट राइट)
ssize_t(* राइट ) (स्ट्रक्चर ऑडियो_स्ट्रीम_आउट * स्ट्रीम, कॉन्स्ट शून्य * बफर, साइज_टी बाइट्स)
इंट (* get_render_position )(const struct audio_stream_out *stream, uint32_t *dsp_frames)
इंट (* get_next_write_timestamp )(const struct audio_stream_out *stream, int64_t *timestamp)
इंट (* set_callback )(struct audio_stream_out *stream, stream_callback_t कॉलबैक, शून्य *कुकी)
इंट (* रोकें ) (संरचना audio_stream_out *stream)
इंट (* रिज्यूमे )(स्ट्रक्चर ऑडियो_स्ट्रीम_आउट *स्ट्रीम)
इंट (* ड्रेन )(स्ट्रक्चर audio_stream_out *stream, audio_drain_type_t type)
इंट (* फ्लश )(स्ट्रक्चर ऑडियो_स्ट्रीम_आउट *स्ट्रीम)
इंट (* get_presentation_position )(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

विस्तृत विवरण

audio_stream_out ऑडियो आउटपुट हार्डवेयर के लिए अमूर्त इंटरफ़ेस है।

यह ऑडियो आउटपुट हार्डवेयर ड्राइवर के विभिन्न गुणों के बारे में जानकारी प्रदान करता है।

फ़ाइल audio.h की पंक्ति 276 पर परिभाषा।

फील्ड दस्तावेज़ीकरण

स्ट्रक्चर ऑडियो_स्ट्रीम कॉमन

ऑडियो स्ट्रीम के सामान्य तरीके बाहर। यह audio_stream_out का पहला सदस्य होना चाहिए क्योंकि इस संरचना के उपयोगकर्ता audio_stream को audio_stream_out पॉइंटर में उन संदर्भों में कास्ट करेंगे जहां यह ज्ञात है कि audio_stream एक audio_stream_out संदर्भित करता है

फ़ाइल audio.h की लाइन 282 पर परिभाषा।

int(* ड्रेन)(स्ट्रक्चर audio_stream_out *stream, audio_drain_type_t type)

ड्राइवर/हार्डवेयर द्वारा बफ़र किए गए डेटा को चलाए जाने पर सूचना का अनुरोध करता है। यदि सेट_कॉलबैक () को पहले गैर-अवरुद्ध मोड को सक्षम करने के लिए कहा गया है, तो नाली () को अवरुद्ध नहीं करना चाहिए, इसके बजाय इसे जल्दी से वापस करना चाहिए और कॉलबैक के माध्यम से नाली के पूरा होने की सूचना दी जाती है। यदि set_callback () को नहीं कहा गया है, तो ड्रेन () को पूरा होने तक ब्लॉक होना चाहिए। यदि टाइप == AUDIO_DRAIN_ALL, ड्रेन तब पूरा होता है जब पहले से लिखे गए सभी डेटा चलाए जाते हैं। यदि टाइप==AUDIO_DRAIN_EARLY_NOTIFY, तो ड्रेन वर्तमान ट्रैक के सभी डेटा के चलने से कुछ समय पहले पूरा हो जाता है ताकि फ्रेमवर्क को गैपलेस ट्रैक स्विच करने के लिए समय मिल सके।

स्टॉप () और फ्लश () कॉल पर तुरंत वापस आना चाहिए

ऑफलोडेड प्लेबैक के लिए इस फ़ंक्शन का कार्यान्वयन अनिवार्य है।

फ़ाइल audio.h की लाइन 372 पर परिभाषा।

इंट (* फ्लश) (स्ट्रक्चर ऑडियो_स्ट्रीम_आउट * स्ट्रीम)

कतारबद्ध डेटा को फ्लश करने के लिए ऑडियो ड्राइवर को सूचित करता है। फ्लश() को कॉल करने से पहले स्ट्रीम को पहले ही रोक दिया जाना चाहिए।

ऑफलोडेड प्लेबैक के लिए इस फ़ंक्शन का कार्यान्वयन अनिवार्य है।

फ़ाइल audio.h की लाइन 380 पर परिभाषा।

uint32_t(* get_latency)(const struct audio_stream_out *stream)

ऑडियो हार्डवेयर ड्राइवर अनुमानित विलंबता को मिलीसेकंड में लौटाएं।

फ़ाइल audio.h की लाइन 287 पर परिभाषा।

int(* get_next_write_timestamp)(const struct audio_stream_out *stream, int64_t *timestamp)

स्थानीय समय प्राप्त करें जिस पर ऑडियो ड्राइवर को अगला लेखन प्रस्तुत किया जाएगा। इकाइयां माइक्रोसेकंड हैं, जहां युग स्थानीय ऑडियो एचएएल द्वारा तय किया जाता है।

फ़ाइल audio.h की लाइन 324 पर परिभाषा।

int(* get_presentation_position)(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

बाहरी पर्यवेक्षक को प्रस्तुत किए गए ऑडियो फ़्रेमों की संख्या की हाल की गणना लौटाएं। इसमें वे फ्रेम शामिल नहीं हैं जो लिखे जा चुके हैं लेकिन अभी भी पाइपलाइन में हैं। जब आउटपुट स्टैंडबाय में प्रवेश करता है तो गिनती शून्य पर रीसेट नहीं होती है। इस प्रस्तुति संख्या के अनुसार CLOCK_MONOTONIC का मान भी लौटाता है। लौटाई गई गणना 'हाल ही में' होने की उम्मीद है, लेकिन सबसे हालिया संभावित मूल्य होने की आवश्यकता नहीं है। हालांकि, संबंधित समय जो भी गिनती लौटाई जाती है, उसके अनुरूप होना चाहिए। उदाहरण: मान लें कि N+M फ़्रेम प्रस्तुत किए गए हैं, जहाँ M एक 'छोटी' संख्या है। फिर एन + एम के बजाय एन को वापस करने की अनुमति है, और टाइमस्टैम्प को एन + एम के बजाय एन के अनुरूप होना चाहिए। 'हालिया' और 'छोटा' शब्द परिभाषित नहीं हैं। वे कार्यान्वयन की गुणवत्ता को दर्शाते हैं।

केवल 3.0 और उच्चतर।

फ़ाइल audio.h की लाइन 398 पर परिभाषा।

int(* get_render_position)(const struct audio_stream_out *stream, uint32_t *dsp_frames)

फ़ाइल audio.h की लाइन 317 पर परिभाषा।

इंट (* पॉज़) (स्ट्रक्चर ऑडियो_स्ट्रीम_आउट * स्ट्रीम)

प्लेबैक को रोकने के लिए ऑडियो ड्राइवर को सूचित करता है हालांकि कतारबद्ध बफर हार्डवेयर द्वारा बनाए रखा जाता है। विराम/फिर से शुरू करने को लागू करने के लिए उपयोगी। खाली कार्यान्वयन यदि समर्थित नहीं है तो गैर-तुच्छ विलंबता वाले हार्डवेयर के लिए लागू किया जाना चाहिए। विराम अवस्था में ऑडियो हार्डवेयर अभी भी शक्ति का उपयोग कर रहा होगा। उपयोगकर्ता समयबाह्य होने के बाद सस्पेंड को कॉल करने पर विचार कर सकता है।

ऑफलोडेड प्लेबैक के लिए इस फ़ंक्शन का कार्यान्वयन अनिवार्य है।

फ़ाइल audio.h की लाइन 345 पर परिभाषा।

इंट (* रिज्यूमे) (स्ट्रक्चर ऑडियो_स्ट्रीम_आउट *स्ट्रीम)

एक विराम के बाद प्लेबैक फिर से शुरू करने के लिए ऑडियो ड्राइवर को सूचित करता है। यदि मिलान विराम के बिना कॉल किया जाता है तो त्रुटि देता है।

ऑफलोडेड प्लेबैक के लिए इस फ़ंक्शन का कार्यान्वयन अनिवार्य है।

फ़ाइल audio.h की लाइन 353 पर परिभाषा।

int(* set_callback)(struct audio_stream_out *stream, stream_callback_t कॉलबैक, शून्य *कुकी)

नॉन-ब्लॉकिंग राइट एंड ड्रेन के पूरा होने की सूचना के लिए कॉलबैक फ़ंक्शन सेट करें। इस फ़ंक्शन को कॉल करने का तात्पर्य है कि भविष्य के सभी लेखन () और नाली () को गैर-अवरुद्ध होना चाहिए और सिग्नल को पूरा करने के लिए कॉलबैक का उपयोग करना चाहिए।

फ़ाइल audio.h की लाइन 333 पर परिभाषा।

int(* set_volume)(struct audio_stream_out *stream, फ्लोट लेफ्ट, फ्लोट राइट)

इस पद्धति का उपयोग उन स्थितियों में करें जहां हार्डवेयर में ऑडियो मिक्सिंग की जाती है। यह विधि हार्डवेयर के साथ सीधे इंटरफ़ेस के रूप में कार्य करती है, जिससे आप सीधे ढांचे के माध्यम से वॉल्यूम सेट कर सकते हैं। यह विधि कई PCM आउटपुट या हार्डवेयर त्वरित कोडेक, जैसे MP3 या AAC का उत्पादन कर सकती है।

फ़ाइल audio.h की लाइन 296 पर परिभाषा।

ssize_t(*लिखना)(struct audio_stream_out *stream, const void *buffer, size_tbytes)

ड्राइवर को ऑडियो बफर लिखें। लिखित बाइट्स की संख्या, या ऋणात्मक स्थिति_टी देता है। यदि त्रुटि से पहले कम से कम एक फ्रेम सफलतापूर्वक लिखा गया था, तो यह सुझाव दिया जाता है कि ड्राइवर उस सफल (लघु) बाइट गिनती को वापस कर दे और फिर बाद की कॉल में एक त्रुटि लौटाए।

यदि सेट_कॉलबैक () को पहले गैर-अवरुद्ध मोड को सक्षम करने के लिए कहा गया है, तो राइट () को ब्लॉक करने की अनुमति नहीं है। इसे केवल बाइट्स की संख्या लिखनी चाहिए जो वर्तमान में ड्राइवर/हार्डवेयर बफर में फिट होती है और फिर इस बाइट गिनती को वापस कर देती है। यदि यह अनुरोधित लिखने के आकार से कम है, तो ड्राइवर/हार्डवेयर बफर में अधिक स्थान उपलब्ध होने पर कॉलबैक फ़ंक्शन को कॉल किया जाना चाहिए।

फ़ाइल audio.h की लाइन 311 पर परिभाषा।


इस संरचना के लिए प्रलेखन निम्न फ़ाइल से उत्पन्न किया गया था:
  • हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ ऑडियो.एच
,

audio_stream_out संरचना संदर्भ

audio_stream_out संरचना संदर्भ

#include < audio.h >

डेटा फ़ील्ड

स्ट्रक्चर ऑडियो_स्ट्रीम सामान्य
uint32_t(* get_latency )(const struct audio_stream_out *stream)
इंट (* set_volume )(struct audio_stream_out *stream, फ्लोट लेफ्ट, फ्लोट राइट)
ssize_t(* राइट ) (स्ट्रक्चर ऑडियो_स्ट्रीम_आउट * स्ट्रीम, कॉन्स्ट शून्य * बफर, साइज_टी बाइट्स)
इंट (* get_render_position )(const struct audio_stream_out *stream, uint32_t *dsp_frames)
इंट (* get_next_write_timestamp )(const struct audio_stream_out *stream, int64_t *timestamp)
इंट (* set_callback )(struct audio_stream_out *stream, stream_callback_t कॉलबैक, शून्य *कुकी)
इंट (* रोकें ) (संरचना audio_stream_out *stream)
इंट (* रिज्यूमे )(स्ट्रक्चर ऑडियो_स्ट्रीम_आउट *स्ट्रीम)
इंट (* ड्रेन )(स्ट्रक्चर audio_stream_out *stream, audio_drain_type_t type)
इंट (* फ्लश )(स्ट्रक्चर ऑडियो_स्ट्रीम_आउट *स्ट्रीम)
इंट (* get_presentation_position )(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

विस्तृत विवरण

audio_stream_out ऑडियो आउटपुट हार्डवेयर के लिए अमूर्त इंटरफ़ेस है।

यह ऑडियो आउटपुट हार्डवेयर ड्राइवर के विभिन्न गुणों के बारे में जानकारी प्रदान करता है।

फ़ाइल audio.h की पंक्ति 276 पर परिभाषा।

फील्ड दस्तावेज़ीकरण

स्ट्रक्चर ऑडियो_स्ट्रीम कॉमन

ऑडियो स्ट्रीम के सामान्य तरीके बाहर। यह audio_stream_out का पहला सदस्य होना चाहिए क्योंकि इस संरचना के उपयोगकर्ता audio_stream को audio_stream_out पॉइंटर में उन संदर्भों में कास्ट करेंगे जहां यह ज्ञात है कि audio_stream एक audio_stream_out संदर्भित करता है

फ़ाइल audio.h की लाइन 282 पर परिभाषा।

int(* ड्रेन)(स्ट्रक्चर audio_stream_out *stream, audio_drain_type_t type)

ड्राइवर/हार्डवेयर द्वारा बफ़र किए गए डेटा को चलाए जाने पर सूचना का अनुरोध करता है। यदि सेट_कॉलबैक () को पहले गैर-अवरुद्ध मोड को सक्षम करने के लिए कहा गया है, तो नाली () को अवरुद्ध नहीं करना चाहिए, इसके बजाय इसे जल्दी से वापस करना चाहिए और कॉलबैक के माध्यम से नाली के पूरा होने की सूचना दी जाती है। यदि set_callback () को नहीं कहा गया है, तो ड्रेन () को पूरा होने तक ब्लॉक होना चाहिए। यदि टाइप == AUDIO_DRAIN_ALL, ड्रेन तब पूरा होता है जब पहले से लिखे गए सभी डेटा चलाए जाते हैं। यदि टाइप==AUDIO_DRAIN_EARLY_NOTIFY, तो ड्रेन वर्तमान ट्रैक के सभी डेटा के चलने से कुछ समय पहले पूरा हो जाता है ताकि फ्रेमवर्क को गैपलेस ट्रैक स्विच करने के लिए समय मिल सके।

स्टॉप () और फ्लश () कॉल पर तुरंत वापस आना चाहिए

ऑफलोडेड प्लेबैक के लिए इस फ़ंक्शन का कार्यान्वयन अनिवार्य है।

फ़ाइल audio.h की लाइन 372 पर परिभाषा।

इंट (* फ्लश) (स्ट्रक्चर ऑडियो_स्ट्रीम_आउट * स्ट्रीम)

कतारबद्ध डेटा को फ्लश करने के लिए ऑडियो ड्राइवर को सूचित करता है। फ्लश() को कॉल करने से पहले स्ट्रीम को पहले ही रोक दिया जाना चाहिए।

ऑफलोडेड प्लेबैक के लिए इस फ़ंक्शन का कार्यान्वयन अनिवार्य है।

फ़ाइल audio.h की लाइन 380 पर परिभाषा।

uint32_t(* get_latency)(const struct audio_stream_out *stream)

ऑडियो हार्डवेयर ड्राइवर अनुमानित विलंबता को मिलीसेकंड में लौटाएं।

फ़ाइल audio.h की लाइन 287 पर परिभाषा।

int(* get_next_write_timestamp)(const struct audio_stream_out *stream, int64_t *timestamp)

स्थानीय समय प्राप्त करें जिस पर ऑडियो ड्राइवर को अगला लेखन प्रस्तुत किया जाएगा। इकाइयां माइक्रोसेकंड हैं, जहां युग स्थानीय ऑडियो एचएएल द्वारा तय किया जाता है।

फ़ाइल audio.h की लाइन 324 पर परिभाषा।

int(* get_presentation_position)(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

बाहरी पर्यवेक्षक को प्रस्तुत किए गए ऑडियो फ़्रेमों की संख्या की हाल की गणना लौटाएं। इसमें वे फ्रेम शामिल नहीं हैं जो लिखे जा चुके हैं लेकिन अभी भी पाइपलाइन में हैं। जब आउटपुट स्टैंडबाय में प्रवेश करता है तो गिनती शून्य पर रीसेट नहीं होती है। इस प्रस्तुति संख्या के अनुसार CLOCK_MONOTONIC का मान भी लौटाता है। लौटाई गई गणना 'हाल ही में' होने की उम्मीद है, लेकिन सबसे हालिया संभावित मूल्य होने की आवश्यकता नहीं है। हालांकि, संबंधित समय जो भी गिनती लौटाई जाती है, उसके अनुरूप होना चाहिए। उदाहरण: मान लें कि N+M फ़्रेम प्रस्तुत किए गए हैं, जहाँ M एक 'छोटी' संख्या है। फिर एन + एम के बजाय एन को वापस करने की अनुमति है, और टाइमस्टैम्प को एन + एम के बजाय एन के अनुरूप होना चाहिए। 'हालिया' और 'छोटा' शब्द परिभाषित नहीं हैं। वे कार्यान्वयन की गुणवत्ता को दर्शाते हैं।

केवल 3.0 और उच्चतर।

फ़ाइल audio.h की लाइन 398 पर परिभाषा।

int(* get_render_position)(const struct audio_stream_out *stream, uint32_t *dsp_frames)

फ़ाइल audio.h की लाइन 317 पर परिभाषा।

इंट (* पॉज़) (स्ट्रक्चर ऑडियो_स्ट्रीम_आउट * स्ट्रीम)

प्लेबैक को रोकने के लिए ऑडियो ड्राइवर को सूचित करता है हालांकि कतारबद्ध बफर हार्डवेयर द्वारा बनाए रखा जाता है। विराम/फिर से शुरू करने को लागू करने के लिए उपयोगी। खाली कार्यान्वयन यदि समर्थित नहीं है तो गैर-तुच्छ विलंबता वाले हार्डवेयर के लिए लागू किया जाना चाहिए। विराम अवस्था में ऑडियो हार्डवेयर अभी भी शक्ति का उपयोग कर रहा होगा। उपयोगकर्ता समयबाह्य होने के बाद सस्पेंड को कॉल करने पर विचार कर सकता है।

ऑफलोडेड प्लेबैक के लिए इस फ़ंक्शन का कार्यान्वयन अनिवार्य है।

फ़ाइल audio.h की लाइन 345 पर परिभाषा।

इंट (* रिज्यूमे) (स्ट्रक्चर ऑडियो_स्ट्रीम_आउट *स्ट्रीम)

एक विराम के बाद प्लेबैक फिर से शुरू करने के लिए ऑडियो ड्राइवर को सूचित करता है। यदि मिलान विराम के बिना कॉल किया जाता है तो त्रुटि देता है।

ऑफलोडेड प्लेबैक के लिए इस फ़ंक्शन का कार्यान्वयन अनिवार्य है।

फ़ाइल audio.h की लाइन 353 पर परिभाषा।

int(* set_callback)(struct audio_stream_out *stream, stream_callback_t कॉलबैक, शून्य *कुकी)

नॉन-ब्लॉकिंग राइट एंड ड्रेन के पूरा होने की सूचना के लिए कॉलबैक फ़ंक्शन सेट करें। इस फ़ंक्शन को कॉल करने का अर्थ है कि भविष्य के सभी लेखन () और नाली () को गैर-अवरुद्ध होना चाहिए और सिग्नल को पूरा करने के लिए कॉलबैक का उपयोग करना चाहिए।

फ़ाइल audio.h की लाइन 333 पर परिभाषा।

int(* set_volume)(struct audio_stream_out *stream, फ्लोट लेफ्ट, फ्लोट राइट)

इस पद्धति का उपयोग उन स्थितियों में करें जहां हार्डवेयर में ऑडियो मिक्सिंग की जाती है। यह विधि हार्डवेयर के साथ सीधे इंटरफ़ेस के रूप में कार्य करती है, जिससे आप सीधे ढांचे के माध्यम से वॉल्यूम सेट कर सकते हैं। यह विधि कई PCM आउटपुट या हार्डवेयर त्वरित कोडेक, जैसे MP3 या AAC का उत्पादन कर सकती है।

फ़ाइल audio.h की लाइन 296 पर परिभाषा।

ssize_t(*लिखना)(struct audio_stream_out *stream, const void *buffer, size_tbytes)

ड्राइवर को ऑडियो बफर लिखें। लिखित बाइट्स की संख्या, या ऋणात्मक स्थिति_टी देता है। यदि त्रुटि से पहले कम से कम एक फ्रेम सफलतापूर्वक लिखा गया था, तो यह सुझाव दिया जाता है कि ड्राइवर उस सफल (लघु) बाइट गिनती को वापस कर दे और फिर बाद की कॉल में एक त्रुटि लौटाए।

यदि सेट_कॉलबैक () को पहले गैर-अवरुद्ध मोड को सक्षम करने के लिए कहा गया है, तो राइट () को ब्लॉक करने की अनुमति नहीं है। इसे केवल बाइट्स की संख्या लिखनी चाहिए जो वर्तमान में ड्राइवर/हार्डवेयर बफर में फिट होती है और फिर इस बाइट गिनती को वापस कर देती है। यदि यह अनुरोधित लिखने के आकार से कम है, तो ड्राइवर/हार्डवेयर बफर में अधिक स्थान उपलब्ध होने पर कॉलबैक फ़ंक्शन को कॉल किया जाना चाहिए।

फ़ाइल audio.h की लाइन 311 पर परिभाषा।


इस संरचना के लिए प्रलेखन निम्न फ़ाइल से उत्पन्न किया गया था:
  • हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ ऑडियो.एच