[bluez/bluez] b19d44: shared/io: add watcher to be used with TX timestam...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  Branch: refs/heads/master
  Home:   https://github.com/bluez/bluez
  Commit: b19d445b01920ba5ffdcbe320d406cd5ddac8746
      https://github.com/bluez/bluez/commit/b19d445b01920ba5ffdcbe320d406cd5ddac8746
  Author: Pauli Virtanen <pav@xxxxxx>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M acinclude.m4
    M configure.ac
    M src/shared/io-ell.c
    M src/shared/io-glib.c
    M src/shared/io-mainloop.c
    M src/shared/io.h

  Log Message:
  -----------
  shared/io: add watcher to be used with TX timestamping

Add special implementation of fd watcher GSource for audio use.

For audio use cases, sound server may turn on TX timestamping on a
socket that we are watching.  In this case, we shall not consider the TX
timestamping POLLERR as a socket error condition, nor read the TX
timestamps.

When TX timestamps appear in errqueue, switch from fd poll wait to
polling the fd at regular intervals.  This is because unread errqueue
causes poll() to wake up immediately, so the mainloop cannot block on
that, and we have to use a timer instead with some reasonable timeout
for the use case.

This rate limits wakeups on new TX timestamps we aren't going to read,
and also avoids the busy looping if timestamping was left on but
errqueue is not flushed.

Kernel does not provide any way for user applications to disable wakeup
on POLLERR currently.  Note that even with epoll() POLLET it still wakes
up on every timestamp.

Implement this only for io-glib; it is only needed for audio use cases
that anyway are using glib, so add a glib-specific API for it in
addition to the 'struct io *' one. Uses features from GLib 2.36 (from
2013) so update configure.ac also.


  Commit: 0e831d8e67096eacfe9870f8d8c1134fc0b045d3
      https://github.com/bluez/bluez/commit/0e831d8e67096eacfe9870f8d8c1134fc0b045d3
  Author: Pauli Virtanen <pav@xxxxxx>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M profiles/audio/avdtp.c

  Log Message:
  -----------
  avdtp: don't consider TX timestamps as errors

Use io_add_err_watch to avoid considering TX timestamps as errors in the
transport io channel.


  Commit: 9f167d495adb47cef9482ed6c4344d4c953d26b8
      https://github.com/bluez/bluez/commit/9f167d495adb47cef9482ed6c4344d4c953d26b8
  Author: Pauli Virtanen <pav@xxxxxx>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M profiles/audio/bap.c
    M src/shared/bap.c

  Log Message:
  -----------
  bap: don't consider TX timestamps as errors

Use io_add_err_watch to avoid considering TX timestamps as errors in the
transport io channel.


  Commit: 1288facd554823b302024d7f0589a68a58fa2ac8
      https://github.com/bluez/bluez/commit/1288facd554823b302024d7f0589a68a58fa2ac8
  Author: Arkadiusz Bokowy <arkadiusz.bokowy@xxxxxxxxx>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M doc/org.bluez.AdvertisementMonitorManager.rst
    M doc/org.bluez.Agent.rst
    M doc/org.bluez.AgentManager.rst
    M doc/org.bluez.GattCharacteristic.rst
    M doc/org.bluez.GattDescriptor.rst
    M doc/org.bluez.LEAdvertisement.rst
    M doc/org.bluez.LEAdvertisingManager.rst
    M doc/org.bluez.Media.rst
    M doc/org.bluez.obex.Agent.rst
    M doc/org.bluez.obex.AgentManager.rst
    M doc/org.bluez.obex.FileTransfer.rst

  Log Message:
  -----------
  doc: Fix various typos in D-Bus interface documentation


Compare: https://github.com/bluez/bluez/compare/956b277f8da6...1288facd5548

To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux