26

Re: Liquidsoap: Buffer emptied, buffering needed

input.external есть. вот, прилагаю лог с началом работы до самого сбоя:
http://dropmefiles.com/U9o4n

27

Re: Liquidsoap: Buffer emptied, buffering needed

Вот оно как оказывается))
Надо попробовать отключить запись для начала, где то я такое уже видел, в другом немного обличье, но не суть...
И что за железо, какой liquidsoap, чего я сразу не спросил, ума не приложу.

28

Re: Liquidsoap: Buffer emptied, buffering needed

пишет gyurgin_:

Вот оно как оказывается))
Надо попробовать отключить запись для начала, где то я такое уже видел, в другом немного обличье, но не суть...
И что за железо, какой liquidsoap, чего я сразу не спросил, ума не приложу.

Запись отключил - все равно разрывы: http://dropmefiles.com/VMICw

Hetzner:2 vCores/2GB/Ubuntu 16.04
Liquidsoap 1.2.1+scm (git://github.com/savonet/liquidsoap.git@5868347049c598a4984b91a410cc2d9efae7ebc2:20160811:152237)

Типичная картина загрузки:
http://leproimg.com/2542622

29

Re: Liquidsoap: Buffer emptied, buffering needed

Да вроде нормально все, однако в логах вот

2016/11/04 19:38:43 [source:4] Garbage collected add_9285.
2016/11/04 19:38:43 [source:4] Garbage collected fade_out_9284.
2016/11/04 19:38:43 [source:4] Garbage collected sequence_9283.
2016/11/04 19:38:43 [source:4] Garbage collected fade_in_9282.
2016/11/04 19:38:43 [source:4] Garbage collected blank_9281.
2016/11/04 19:38:43 [source:4] Garbage collected replay_metadata_9280.
2016/11/04 19:38:43 [source:4] Garbage collected empty_9279.
2016/11/04 19:48:40 [input.external_9181:4] End of track.

то есть начал освобождать себе ресурсы и капец. У меня такое было когда я вешал адскую связку ladspa, я тогда еще не особо в этом разбирался, у Вас конечно всего ничего, но давайте попробуем отключить, для записи она например вобще лишняя, во-первых, это можно сделать потом, а потом - а вдруг надо будет тут же и воспроизводить - масло масляное получится.
В общем пробуем пока без ladspa, а я пошел искать как все это лечилось.

30

Re: Liquidsoap: Buffer emptied, buffering needed

вот без ladspa обрыв: http://dropmefiles.com/tm852

31

Re: Liquidsoap: Buffer emptied, buffering needed

Пошаманил немного, вот что получилось

radio = audio_to_stereo(request.dynamic(
  id="STREAM_PLAY", {request.create(
    "bar:foo", indicators=get_process_lines("/usr/bin/perl /home/solariz/getsong.pl"))})
)
radio = crossfade(start_next=3.,fade_out=2.,fade_in=1.,radio)
url = "http://regress78.com:8025/source.mp3" # если айскаст местный то http://127.0.0.1:8025/source.mp3 будет лучше
live_http = input.http(id="Live_Input", buffer=.1, max=5., new_track_on_metadata=true, poll_delay=1., timeout=1., url)
live_http = buffer.adaptative(buffer=.2, limit=3., max=10., reset=true, mksafe(live_http))
live_http = strip_blank(max_blank=5., threshold=-45., min_noise=.3, live_http)
radio = fallback(track_sensitive=false, transitions=[src_Xfade, src_Xfade], [live_http, radio])
radio = ladspa.fastlookaheadlimiter(input_gain=0.0, limit=-2.5, release_time=2.0, radio)
radio = mksafe(ladspa.dysoncompress(release_time=1.0, radio))

Добавил buffer.adaptative, он экспериментальный и с input.harbor завалит весь скрипт, с input.external использовать можно, но http шустрее будет. Далее, важнейший параметр для strip_blank: "min_noise" - предохраняет от ложных срабатываний, в общем без него тоже "детский сад", потом, music убрал, сразу radio - меньше sources - меньше нагрузка, ну ги де-то что-то по мелочи.
В общем, пробуем - надо этот шайтан конфиг добивать уже))

32

Re: Liquidsoap: Buffer emptied, buffering needed

С этим дьявольским buffer.adaptive прерываний не замечено, но зато явно слышны артефакты, так как с потоком все равно беда...
Ниже приведена часть лога во время проигрывания песни:

2016/11/05 09:25:58 [source:4] Source blank_9299 gets down.
2016/11/05 09:26:00 [source:4] Garbage collected add_9280.
2016/11/05 09:26:00 [source:4] Garbage collected fade_out_9279.
2016/11/05 09:26:00 [source:4] Garbage collected sequence_9278.
2016/11/05 09:26:00 [source:4] Garbage collected fade_in_9277.
2016/11/05 09:26:00 [source:4] Garbage collected blank_9276.
2016/11/05 09:26:00 [source:4] Garbage collected empty_9275.
2016/11/05 09:30:09 [decoder.ogg:5] Reached last page of logical stream 100f8fca
2016/11/05 09:30:09 [decoder.ogg:5] All data from stream 100f8fca has been decoded
2016/11/05 09:30:09 [decoder.ogg:5] Found a ogg logical stream, serial: 6590700b
2016/11/05 09:30:09 [decoder.ogg:5] Trying ogg/flac format
2016/11/05 09:30:09 [decoder.ogg:5] Trying ogg/speex format
2016/11/05 09:30:09 [decoder.ogg:5] Trying ogg/dirac (schroedinger implementation) format
2016/11/05 09:30:09 [stderr:3] notification: Speex header too small
2016/11/05 09:30:09 [decoder.ogg:5] Trying ogg/theora format
2016/11/05 09:30:09 [decoder.ogg:5] Trying ogg/vorbis format
2016/11/05 09:30:09 [decoder.ogg:5] ogg/vorbis format detected for stream 6590700b
2016/11/05 09:30:11 [Live_Input:4] End of track.
2016/11/05 09:35:02 [Live_Input:4] End of track.
2016/11/05 09:35:02 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:35:02 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:35:02 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:35:02 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:35:02 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:35:02 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:35:02 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:35:03 [source:4] Garbage collected empty_9314.
2016/11/05 09:35:40 [Live_Input:4] End of track.
2016/11/05 09:35:40 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:35:40 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:35:40 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:35:40 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:35:40 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:35:40 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:35:40 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:35:45 [source:4] Garbage collected empty_9315.
2016/11/05 09:36:13 [decoder.ogg:5] Reached last page of logical stream 6590700b
2016/11/05 09:36:14 [decoder.ogg:5] All data from stream 6590700b has been decoded
2016/11/05 09:36:14 [decoder.ogg:5] Found a ogg logical stream, serial: 15014acb
2016/11/05 09:36:14 [decoder.ogg:5] Trying ogg/flac format
2016/11/05 09:36:14 [decoder.ogg:5] Trying ogg/speex format
2016/11/05 09:36:14 [decoder.ogg:5] Trying ogg/dirac (schroedinger implementation) format
2016/11/05 09:36:14 [stderr:3] notification: Speex header too small
2016/11/05 09:36:14 [decoder.ogg:5] Trying ogg/theora format
2016/11/05 09:36:14 [decoder.ogg:5] Trying ogg/vorbis format
2016/11/05 09:36:14 [decoder.ogg:5] ogg/vorbis format detected for stream 15014acb
2016/11/05 09:36:14 [Live_Input:4] End of track.
2016/11/05 09:36:20 [Live_Input:4] End of track.
2016/11/05 09:36:20 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:36:20 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:36:20 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:20 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:21 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:36:21 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:21 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:21 [source:4] Garbage collected empty_9316.
2016/11/05 09:36:44 [Live_Input:4] End of track.
2016/11/05 09:36:44 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:36:44 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:36:44 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:44 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:44 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:36:44 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:44 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:48 [Live_Input:4] End of track.
2016/11/05 09:36:48 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:36:48 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:36:48 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:48 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:48 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:36:48 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:48 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:49 [source:4] Garbage collected empty_9318.
2016/11/05 09:36:49 [source:4] Garbage collected empty_9317.
2016/11/05 09:36:59 [Live_Input:4] End of track.
2016/11/05 09:36:59 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:36:59 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:36:59 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:59 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:59 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:36:59 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:36:59 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:00 [Live_Input:4] End of track.
2016/11/05 09:37:00 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:37:00 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:37:00 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:00 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:00 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:37:00 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:00 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:00 [Live_Input:4] End of track.
2016/11/05 09:37:00 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:37:00 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:37:00 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:00 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:00 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:37:00 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:00 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:01 [Live_Input:4] End of track.
2016/11/05 09:37:01 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:37:01 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:37:01 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:01 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:01 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:37:01 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:01 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:03 [source:4] Garbage collected empty_9322.
2016/11/05 09:37:03 [source:4] Garbage collected empty_9321.
2016/11/05 09:37:03 [source:4] Garbage collected empty_9320.
2016/11/05 09:37:03 [source:4] Garbage collected empty_9319.
2016/11/05 09:37:05 [Live_Input:4] End of track.
2016/11/05 09:37:05 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:37:05 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:37:05 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:05 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:05 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:37:05 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:05 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:37:08 [source:4] Garbage collected empty_9323.
2016/11/05 09:37:28 [Live_Input:4] End of track.

33

Re: Liquidsoap: Buffer emptied, buffering needed

Так извините, он то что есть в буфере пытается натянуть на дырки, играйте с параметром limit.

34

Re: Liquidsoap: Buffer emptied, buffering needed

а вот и переключение (

2016/11/05 09:51:29 [Live_Input:4] End of track.
2016/11/05 09:51:29 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:51:29 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:51:29 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:51:29 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:51:29 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:51:29 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:51:29 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:51:30 [blank_9386:4] Activations changed: static=[], dynamic=[].
2016/11/05 09:51:30 [source:4] Source blank_9386 gets down.
2016/11/05 09:51:32 [source:4] Garbage collected empty_9401.
2016/11/05 09:51:35 [Live_Input:4] End of track.
2016/11/05 09:51:35 [Live_Input:4] Buffer emptied, buffering needed.
2016/11/05 09:51:35 [mksafe:3] Switch to safe_blank with forgetful transition.
2016/11/05 09:51:35 [Live_Input:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:51:35 [safe_blank:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:51:35 [mksafe:3] Switch to Live_Input with transition.
2016/11/05 09:51:35 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:51:35 [Live_Input:4] Activations changed: static=[mksafe:buffer_9196:buffer_9196], dynamic=[mksafe:buffer_9196:buffer_9196].
2016/11/05 09:51:36 [source:4] Garbage collected empty_9402.

35

Re: Liquidsoap: Buffer emptied, buffering needed

пишет gyurgin_:

Так извините, он то что есть в буфере пытается натянуть на дырки, играйте с параметром limit.

да, сейчас поэкспеременитрую, конечно же.
А нет предположений, все же, почему в принципе такая ерунда происходит из-за удаленного управления? Хоть бы предположений...

36

Re: Liquidsoap: Buffer emptied, buffering needed

Да я уже давно ничем таким не пользуюсь, как минимум подсаживает канал который я так понимаю не особо жирный.

37

Re: Liquidsoap: Buffer emptied, buffering needed

пишет gyurgin_:

live_http = input.http(id="Live_Input", buffer=.1, max=5., new_track_on_metadata=true, poll_delay=1., timeout=1., url)
live_http = buffer.adaptative(buffer=.2, limit=3., max=10., reset=true, mksafe(live_http))

А почему такие маленькие значения buffer?
Такая идеология использования buffer.adaptative?

38

Re: Liquidsoap: Buffer emptied, buffering needed

Какая к черту идеология, опечатка блин)) Там где input.http в принципе так и задумывалось, а вот buffer.adaptative начинаем крутить от единицы, ну слушать надо, а то и двоить начнет.

39

Re: Liquidsoap: Buffer emptied, buffering needed

А можем ли мы попытаться смоделировать ситуацию...
Ты писал, что у тебя traktor. Ты можешь подрубиться к компу, где стоит traktor откуда-нибудь тимвьювером или rdp или все равно чем и немного потранслировать на мой тестовый сервер?
А я логи посмотрю и поток послушаю...

на всякий случай:
telegram: https://telegram.me/solariz
skype: solariz9

40

Re: Liquidsoap: Buffer emptied, buffering needed

Итак на данном этапе разрывов нет. Зато имеют место быть артефакты. Даже без удаленного управления. Эксперементировал с разными значениями buffer и limit. Нормально работает только os x + traktor

41

Re: Liquidsoap: Buffer emptied, buffering needed

Ну честно говоря не представляю себе вот никак реализацию удаленного управления таким софтом, вспомнил сегодня - теперь же можно через websoket вещать, может это подойдет, вот клиент, только что проверял - все работает, можно как угодно запускать, главное make init сделайте.

42

Re: Liquidsoap: Buffer emptied, buffering needed

туда ведь скайп не прикрутить и SIP ( все эти подпрыгивания вокруг VDJ etc именно для того, что бы полноценно мог DJ вести эфир.

43

Re: Liquidsoap: Buffer emptied, buffering needed

Ну при таком раскладе нужен просто хороший сервер там где работает VDJ.

44

Re: Liquidsoap: Buffer emptied, buffering needed

пишет gyurgin_:

Ну при таком раскладе нужен просто хороший сервер там где работает VDJ.

Ну так у меня же на сервере VDJ отлично работал изначально с input.harbor, просто удаленное управление почему-то накладывало какие-то проклятые разрывы, дьявол их забери.

Мы вот помучились (спасибо, кстати, за потраченное время и желание помочь), но в итоге значительно не продвинулись. Получается, что людей, которые хотели бы вести передачи у меня на радио, но не имеют технических возможностей я просто должен послать нахер. Мне это кажется ужасно несправедливым. Хех. (

45

Re: Liquidsoap: Buffer emptied, buffering needed

Да ладно так сразу уж, если возникла такая уж остарая необходимость можно собрать у себя скажем дома комплект из пары компов, подключить пару провайдеров или распределить одного грамотно, и тут не надо супер пупер компов, один более приличный, второй вобще какой нить китайский неттоп или вовсе raspberry, ну и карта звуковая понадобится чтобы все развязать.
Просто надо исходить из того, что такие конфигурации они довольно таки суровы и просто на коленке не делаются.

46

Re: Liquidsoap: Buffer emptied, buffering needed

Предлагаешь запустить управление и стрим через разные каналы?
Но учитывая, что сервак и так у меня дома, в локалке, я могу попытаться запустить управление им через WIFI, а поток через Ethernet...
Возможно стоит попробовать завтра.

47

Re: Liquidsoap: Buffer emptied, buffering needed

Ну по своему опыту могу сказать, в тяжелых конфигурациях (Perfomance вариант конфигурации Ableton Live) полную гарантию что будет вещать ровно давал только второй комп. Ну пробуйте по-разному, просто так бросать глупо.

48

Re: Liquidsoap: Buffer emptied, buffering needed

К сожалению я не имею возможности просто бросить ( Ты что-нибудь слышал о обсессивно-компульсивных расстройствах личности?

49

Re: Liquidsoap: Buffer emptied, buffering needed

вклинусь в ваши разборки полетов над неопродолелим ..

Получается, что людей, которые хотели бы вести передачи у меня на радио, но не имеют технических возможностей я просто должен послать нахер.

что значит не имеют тех. возможностей ?   Не умеют пользоваться микрофоном и/или скайпом? Какой тогда он dj ? если банально не умеет работать с железом ..

Отредактировано radio_good (08-11-2016 19:55:11)

50

Re: Liquidsoap: Buffer emptied, buffering needed

Уважаемый, читайте топик от и до прежде чем высказывать свое мнение. Тем более что тема ранее не поднималась, да и затронули много разной хрени.