[bluez/bluez] bea5cc: audio/avrcp: fix crash when NowPlaying changes whi...

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

 



  Branch: refs/heads/master
  Home:   https://github.com/bluez/bluez
  Commit: bea5cc4d12b48edb58c851c7e9ad9640bb7cedee
      https://github.com/bluez/bluez/commit/bea5cc4d12b48edb58c851c7e9ad9640bb7cedee
  Author: George Kiagiadakis <george.kiagiadakis@xxxxxxxxxxxxx>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M profiles/audio/avrcp.c

  Log Message:
  -----------
  audio/avrcp: fix crash when NowPlaying changes while list_items is in progress

The media_item objects are owned by the player and while we keep
temporary pointers to them in pending_list_items, clearing the player's
playlist destroys them and we will end up crashing in the next call to
avrcp_list_items_rsp(). The crash is racy and can only be observed
when skipping tracks very quickly in an Apple Music station (where the
playlist changes on every next song)


  Commit: bcababe6050d043f871703750657332497ff535d
      https://github.com/bluez/bluez/commit/bcababe6050d043f871703750657332497ff535d
  Author: Frédéric Danis <frederic.danis@xxxxxxxxxxxxx>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M profiles/audio/player.c

  Log Message:
  -----------
  audio/player: Update track duration if previously set to 0

Sometimes some stacks may set the track duration to 0 in GetItemAttributes
before updating it in GetPlayStatus.

Currently the track duration is updated only if it has never been set
before. To fix the issue this also checks that the current value is
not 0.

> ACL Data RX: Handle 11 flags 0x02 dlen 102
      Channel: 71 len 98 ctrl 0x0202 [PSM 27 mode Enhanced Retransmission (0x03)] {chan 7}
      I-frame: Unsegmented TxSeq 1 ReqSeq 2
      AVCTP Browsing: Response: type 0x00 label 1 PID 0x110e
        AVRCP: GetItemAttributes: len 0x0058
...
          AttributeID: 0x00000007 (Track duration)
          CharsetID: 0x006a (UTF-8)
          AttributeLength: 0x0001 (1)
          AttributeValue: 0
...
> ACL Data RX: Handle 11 flags 0x02 dlen 26
      Channel: 68 len 22 [PSM 23 mode Basic (0x00)] {chan 4}
      AVCTP Control: Response: type 0x00 label 9 PID 0x110e
        AV/C: Stable: address 0x48 opcode 0x00
          Subunit: Panel
          Opcode: Vendor Dependent
          Company ID: 0x001958
          AVRCP: GetPlayStatus pt Single len 0x0009
            SongLength: 0x000255a8 (153000 miliseconds)
            SongPosition: 0x00009256 (37462 miliseconds)
            PlayStatus: 0x02 (PAUSED)


  Commit: f8c6693139de446efaf98a30117eb9fd1ac7ceb2
      https://github.com/bluez/bluez/commit/f8c6693139de446efaf98a30117eb9fd1ac7ceb2
  Author: Frédéric Danis <frederic.danis@xxxxxxxxxxxxx>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M obexd/client/transfer.c

  Log Message:
  -----------
  obexd/transfer: Send Transferred property on transfer completion

Currently the Transferred property is sent each second and not on
transfer completion, this leads to get no transferred size info or
without the last packet size(s).


Compare: https://github.com/bluez/bluez/compare/c888c682fbd4...f8c6693139de

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