| org.bluez.MediaTransport(5) | Linux System Administration | org.bluez.MediaTransport(5) |
نام (NAME)
org.bluez.MediaTransport - مستندات API واسط MediaTransport در BlueZ D-Bus
واسط (INTERFACE)
- سرویس (Service)
- org.bluez
- واسط (Interface)
- org.bluez.MediaTransport1
- مسیر شیء (Object path)
- [variable prefix]/{hci0,hci1,...}/dev_{BDADDR}/fd#
- مورد استفاده توسط (Used by)
- bluetoothctl-transport(1)
متدها (Methods)
fd, uint16, uint16 Acquire()
توصیفکننده فایل (file descriptor) انتقال و مقدار MTU را به ترتیب برای خواندن و نوشتن دریافت (Acquire) میکند.
خطاهای ممکن:
مثالها:
- bluetoothctl
- > transport.acquire <transport> [transport1...]
fd, uint16, uint16 TryAcquire()
توصیفکننده فایل انتقال را تنها در صورتی دریافت میکند که در زمان دریافت پیام توسط BlueZ، انتقال در وضعیت "pending" (در انتظار) باشد. در غیر این صورت هیچ درخواستی به دستگاه راه دور ارسال نخواهد شد و متد تنها با خطای org.bluez.Error.NotAvailable شکست میخورد.
خطاهای ممکن:
void Release()
توصیفکننده فایل را آزاد (Release) میکند.
مثالها:
- bluetoothctl
- > transport.release <transport> [transport1...]
void Select()
تنها برای انتقالهای ایجادشده توسط یک مقصد پخش فراگیر (broadcast sink) کاربرد دارد. این متد انتقال را از وضعیت "idle" به "broadcasting" منتقل میکند.
این متد به فراخوانکنندهها امکان میدهد از طریق یک فرایند ۲ مرحلهای انتخاب کنند که مایل به همگامسازی با کدام BISها هستند:
- 1.
- کاربر متد را فراخوانی میکند و وضعیت انتقال را به broadcasting تغییر میدهد
- 2.
- سرور صوتی تشخیص میدهد که انتقال در وضعیت 'broadcasting' قرار دارد و به طور خودکار آن را دریافت (acquire) میکند
خطاهای ممکن:
مثالها:
- bluetoothctl
- > transport.select <transport> [transport1...]
void Unselect()
تنها برای انتقالهای ایجادشده توسط یک مقصد پخش فراگیر (broadcast sink) کاربرد دارد. این متد انتقال را از وضعیت "broadcasting" یا "active" به "idle" منتقل میکند.
این متد به فراخوانکنندهها امکان میدهد همگامسازی با یک BIS را از طریق یک فرایند ۲ مرحلهای خاتمه دهند:
- 1.
- کاربر این متد را فراخوانی میکند و وضعیت انتقال را به idle تغییر میدهد
- 2.
- سرور صوتی این رویداد را تشخیص داده و انتقال را آزاد (release) میکند
خطاهای ممکن:
مثالها:
- bluetoothctl
- > transport.unselect <transport> [transport1...]
ویژگیها (Properties)
object Device [فقطخواندنی]
شیء دستگاهی که انتقال به آن متصل است.
string UUID [فقطخواندنی]
شناسه UUID پروفایلی که انتقال برای آن است.
byte Codec [فقطخواندنی]
شماره اختصاصیافته کدک که انتقال از آن پشتیبانی میکند.
مقادیر باید با مشخصات پروفایل که توسط UUID تعیین شده است مطابقت داشته باشند.
array{byte} Configuration [فقطخواندنی]
داده باینری (blob) پیکربندی؛ این داده همانطور که هست استفاده میشود، بنابراین اندازه و ترتیب بایتها باید مطابقت داشته باشد.
string State [فقطخواندنی]
وضعیت انتقال را نشان میدهد. مقادیر ممکن عبارتند از:
- "idle"
- بدون استریم داده صوتی
- "pending"
- در حال استریم اما دریافت (acquire) نشده است
- "broadcasting"
- در حال استریم اما دریافت نشده است؛ تنها برای انتقالهای ایجادشده توسط یک مقصد پخش فراگیر (broadcast sink) کاربرد دارد
- "active"
- در حال استریم و دریافتشده
uint16 Delay [خواندنی/نوشتنی، اختیاری]
تأخیر انتقال بر حسب یکدهم میلیثانیه؛ این ویژگی تنها زمانی قابل نوشتن است که انتقال مربوط به یک نقطه انتهایی مقصد (sink endpoint) باشد و توسط فرستنده دریافت شده باشد.
uint16 Volume [خواندنی/نوشتنی، اختیاری]
سطح صدای انتقال را نشان میدهد؛ این ویژگی تنها زمانی قابل نوشتن است که انتقال توسط فرستنده دریافت شده باشد.
مقادیر ممکن:
- 0-127 (A2DP)
- 0-255 (BAP)
مثالها:
- bluetoothctl
- > transport.volume <transport> [value]
object Endpoint [فقطخواندنی، اختیاری، آزمایشی]
شیء نقطه انتهایی (Endpoint) که انتقال با آن مرتبط است.
uint32 Location [فقطخواندنی، فقط ISO، آزمایشی]
موقعیت مکانی صوتی (Audio Location) انتقال را نشان میدهد.
array{byte} Metadata [خواندنی/نوشتنی، فقط ISO، آزمایشی]
متادیتای انتقال را نشان میدهد.
array{object} Links [فقطخواندنی، اختیاری، فقط CIS، آزمایشی]
اشیاء انتقال پیوندیافته (Linked transport) که این انتقال با آنها مرتبط است.
array{object} Links [خواندنی/نوشتنی، فقط BIS، آزمایشی]
برای یک مقصد پخش فراگیر (Broadcast Sink)، فرایند همگامسازی BIG مستلزم آن است که تمامی استریمهای مورد نظر از ابتدا شمارش شوند و نمیتوان بعداً آن را با افزودن یا حذف BISها مجدداً پیکربندی کرد.
برای جلوگیری از پایان دادن و ایجاد مجدد همگامسازی BIG در هر بار که یک انتقال جدید برای دریافت (acquire) انتخاب میشود، تمامی انتقالهای انتخابشده از طریق Select باید به یکدیگر پیوند داده شوند.
هنگامی که اولین انتقال از طریق Transport.Acquire دریافت میشود، تمامی پیوندها در دستور همگامسازی BIG گنجانده میشوند.
یک انتقال دریافتشده، توصیفکنندههای فایل (fdها) را برای تمامی پیوندهای خود ایجاد و تنظیم میکند. سپس، هر پیوند باید به طور جداگانه دریافت شود تا fd را به دست آورد و شروع به دریافت صدا کند.
dict QoS [خواندنی/نوشتنی، اختیاری، فقط ISO، آزمایشی]
تنها زمانی وجود دارد که QoS پیکربندی شده باشد.
مقادیر ممکن برای Unicast (تکپخشی):
- byte CIG
- شناسه CIG
پیکربندیشده
را نشان
میدهد.
مقادیر ممکن:
- 0x00 - 0xef
- محدوده شناسه معتبر.
- 0xff
- تخصیص خودکار.
- byte CIS
- شناسه CIS
پیکربندیشده
را نشان
میدهد.
مقادیر ممکن:
- 0x00 - 0xef
محدوده شناسه معتبر.
- 0xff
- تخصیص خودکار.
- byte Framing
- قاببندی (framing)
پیکربندیشده
را نشان
میدهد.
مقادیر ممکن:
- 0x00
- بدون قاببندی (Unframed).
- 0x01
- قاببندیشده (Framed).
- uint32 PresentationDelay
- تأخیر نمایش (presentation delay) پیکربندیشده برای انتقال را بر حسب میکروثانیه (us) نشان میدهد.
- byte TargetLatency
- تأخیر هدف
درخواستی
را نشان
میدهد.
مقادیر ممکن:
- 0x01
- تأخیر کم (Low Latency).
- 0x02
- تأخیر/قابلیت اطمینان متعادل (Balanced Latency/Reliability).
- 0x03
- قابلیت اطمینان بالا (High Reliability).
مقادیر ممکن برای Broadcast (پخش فراگیر):
- byte BIG
- شناسه BIG پیکربندیشده برای QoS را نشان میدهد.
- byte BIS
- شناسه BIS پیکربندیشده را نشان میدهد.
- byte SyncFactor
- ضریب همگامسازی پخش فراگیر پیکربندیشده را نشان میدهد.
- byte Packing
- بستهبندی (packing) پیکربندیشده را نشان میدهد.
- byte Framing
- قاببندی (framing) پیکربندیشده را نشان میدهد.
- array{byte} BCode
- رشته مورد استفاده برای رمزگذاری/رمزگشایی را نشان میدهد.
- byte encryption
- مشخص میکند که آیا استریم رمزگذاری شده است یا خیر.
- byte Options
- گزینههای پخش فراگیر پیکربندیشده را نشان میدهد.
- uint16 Skip
- مقدار پرش (skip) پخش فراگیر پیکربندیشده را نشان میدهد.
- byte SyncTimeout
- مهلت زمانی همگامسازی (sync timeout) پخش فراگیر پیکربندیشده را نشان میدهد.
- byte SyncType
- نوع CTE همگامسازی پخش فراگیر پیکربندیشده را نشان میدهد.
- byte MSE
- مقدار MSE پخش فراگیر پیکربندیشده را نشان میدهد.
- uint16 Timeout
- مهلت زمانی (timeout) پخش فراگیر پیکربندیشده را نشان میدهد.
مقادیر ممکن برای هر دو حالت Unicast و Broadcast:
- uint32 Interval
- فاصله زمانی ISO (ISO interval) پیکربندیشده بر حسب میکروثانیه (us) را نشان میدهد.
- uint16 Latency
- تأخیر انتقال پیکربندیشده بر حسب میلیثانیه (ms) را نشان میدهد.
- uint16 SDU
- حداکثر SDU پیکربندیشده را نشان میدهد.
- byte PHY
- لایه
فیزیکی (PHY)
پیکربندیشده
را نشان
میدهد.
مقادیر ممکن:
- byte Retransmissions
- تعداد ارسالهای مجدد (retransmissions) پیکربندیشده را نشان میدهد.
boolean Desynchronized [خواندنی/نوشتنی، اختیاری، فقط CIS، آزمایشی، برای تست]
تنها زمانی در دسترس است که واسطهای آزمایشی D-Bus فعال باشند و انتقال دارای ویژگی Links باشد.
کنترل میکند که آیا انتقالهای پیوندیافته به طور همزمان دریافت (acquire) شوند یا خیر.
هنگامی که روی False (پیشفرض) تنظیم شود، دریافت یکی از انتقالهای پیوندیافته به طور خودکار تمامی پیوندها را دریافت میکند.
هنگامی که روی True تنظیم شود، پیوندها به طور خودکار دریافت نمیشوند و هر پیوند باید به طور جداگانه دریافت شود.
| July 2024 | BlueZ |