LINUX.ORG.RU

Сообщения sanekru

 

Помогите разобраться с односвязным списком.

Доброго всем времени!

Изучаю программирование на си по книге А.В. Столярова, очень доходчиво предоставляет материал, первый том зашёл на одном дыхании, правда буксанул с комбинаторикой.

Итак имеется код который удаляет элементы списка имеющие отрицательные значения:

struct item **pcur;
pcur = &first;
while (*pcur) {
   if ((*pcur)->data < 0) {
      struct item *tmp = *pcur;
      *pcur = (*pcur)->next;
      free (tmp);
   } else {
      pcur = &(*pcur)->next;
   }
}

Вроде всё банально и просто, но я не могу понять как к примеру если в третьем элементе отрицательное значение, то соответственно срабатывает if и четвертый элемент становится третьим, но во втором элементе поле next ведь ссылается на адрес которого уже нет? Чувствую что то не догоняю до жути простое, но сижу уже какое-то время и прям ступор. Объясните пожалуйста как оно работает?

 ,

sanekru
()

Bluetooth проигрывание музыки с телефона через laptop на aux

Доброго времени суток и с наступившим новым годом!

Имеется проблема прослушивания музыки с телефона подключенного по bluetooth на компьютер с установленным debian 12 и в качестве вывода звука имеются обычные колонки подключенные к компу через mini jack. Так же имеется bluetooth mouse которая так же подключается к компьютеру.

Так вот собственно проблема заключается в том, что когда подключен только телефон всё отлично воспроизводиться, но только я подключаю мышь то сразу же начинаются лаги воспроизведения (как будто нехватает пропускной способности канала bluetooth или буферизации, начинает заикаться воспроизведение), как только мышь отключаю всё сразу нормализуется.

PS: Может я много требую от системы и это максимальная пропускная способность bluetooth, если это так то подтвердите или опровергните это пожалуйста!

Немного информации по системе:

uname -a
Linux debianlaptop 6.1.0-17-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) x86_64 GNU/Linux

# lsusb
Bus 003 Device 003: ID 0bda:4852 Realtek Semiconductor Corp. Bluetooth Radio

# lshw
*-usb:1
                      description: Bluetooth wireless interface
                      product: Bluetooth Radio
                      vendor: Realtek
                      physical id: 4
                      bus info: usb@3:4
                      version: 0.00
                      serial: 00e04c000001
                      capabilities: bluetooth usb-1.00
                      configuration: driver=btusb maxpower=500mA speed=12Mbit/s

# systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-01-02 12:30:48 MSK; 1h 27min ago
       Docs: man:bluetoothd(8)
   Main PID: 739 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 17716)
     Memory: 4.0M
        CPU: 466ms
     CGroup: /system.slice/bluetooth.service
             └─739 /usr/libexec/bluetooth/bluetoothd

Jan 02 12:31:02 debianlaptop bluetoothd[739]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSink/opus_05
Jan 02 12:31:02 debianlaptop bluetoothd[739]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/opus_05
Jan 02 12:31:02 debianlaptop bluetoothd[739]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Jan 02 12:31:02 debianlaptop bluetoothd[739]: Endpoint registered: sender=:1.17 path=/MediaEndpoint/A2DPSource/opus_05_duplex
Jan 02 12:31:09 debianlaptop bluetoothd[739]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
Jan 02 13:11:44 debianlaptop bluetoothd[739]: /org/bluez/hci0/dev_78_2B_64_37_0B_63/sep1/fd0: fd(31) ready
Jan 02 13:14:22 debianlaptop bluetoothd[739]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
Jan 02 13:14:22 debianlaptop bluetoothd[739]: /org/bluez/hci0/dev_90_7A_58_70_BC_F6/sep1/fd1: fd(37) ready
Jan 02 13:15:06 debianlaptop bluetoothd[739]: /org/bluez/hci0/dev_78_2B_64_37_0B_63/sep1/fd2: fd(33) ready
Jan 02 13:26:57 debianlaptop bluetoothd[739]: /org/bluez/hci0/dev_50_AF_4D_4C_25_9B/fd3: fd(42) ready

# dmesg | grep firmw
[    1.963750] rtw89_8852ae 0000:03:00.0: firmware: direct-loading firmware rtw89/rtw8852a_fw.bin
[    1.966189] rtw89_8852ae 0000:03:00.0: firmware: direct-loading firmware rtw89/rtw8852a_fw.bin



 , ,

sanekru
()

RSS подписка на новые темы