彁 – Telegram
30 subscribers
215 photos
40 videos
82 files
445 links
そのこころがなにかおもうとき
それはきっといのちをもつ
けれどもこころのもちぬしは

[ /彁]
Download Telegram
Col sito temporaneamente in pausa causa esami tra qualche settimana, provo a ritornare alla mia ordinaria amministrazione qui con la musica
A sto giro mi tengo sullo strumentale perche' ci metto zero secondi a scrivere le didascalie; se mi viene in mente qualche canzone cantata interessante la metto, ma saranno relativamente poche, non interi album
愧人贖悪 ~ Evil People as the True Object of Salvation ~ (Kijin Shokuaku ~ Evil People as the True Object of Salvation ~, lit. "Redenzione malvagia di una persona vergognosa ~ Persone Malvage come il Vero Oggetto della Salvezza ~") e' un album metal di Demetori uscito il 14 Agosto 2015 (Comiket 88).
L'album e' strumentale.

Nell'immagine: ɐɾᴉǝS.

Le canzoni iniziano da questo post.

Trivia:
- Non ho trovato una cover art piu' grande di 600x600 per quest'album, non chiedetemi.
Cambio di programma
Oggi ci avventuriamo nella codebase di telegram desktop per capire perche' mai su Linux la musica non viene mandata come tale ma come file, mentre su Windows va
Cambio di programma Oggi ci avventuriamo nella codebase di telegram desktop per capire perche' mai su Linux la musica non viene mandata come tale ma come file, mentre su Windows va
Il codice di TG Desktop e' fottuto su piu' livelli
Prima di morirci dentro per il resto della mia vita, ho pensato di attivare il log di debug:

[17:46:50.281 02-0002011] Audio Read Error: Found video stream in file '<snip>/[2015.08.15] Evil People As True Object of Salvation/(08) [Demetori] 空中に沈む輝針城 ~ Counter-Clock World.flac', data size '0', error 1, Success (media_audio.cpp : 1536)


media_audio.cpp:1536 e' cosi' (link):

int videostreamid = av_find_best_stream(fmtcontext, avmedia_type_video, -1, -1, &codec, 0);
if (videostreamid >= 0) {
debug_log(("audio read error: found video stream in file '%1', data size '%2', error %3, %4").arg(_file.name()).arg(_data.size()).arg(videostreamid).arg(av_make_error_string(err, sizeof(err), streamid)));
return false;
}


La classe FFMpegAttributesReader e' chiamata da Player::PrepareForSending poco sotto, alla riga 1634 (link):
FileMediaInformation::Song PrepareForSending(const QString &fname, const QByteArray &data) {
auto result = FileMediaInformation::Song();
FFMpegAttributesReader reader(FileLocation(fname), data);
const auto positionMs = crl::time(0);
if (reader.open(positionMs) && reader.samplesCount() > 0) {
result.duration = reader.samplesCount() / reader.samplesFrequency();
result.noscript = reader.noscript();
result.performer = reader.performer();
result.cover = reader.cover();
}
return result;
}


Siccome riconosce che c'e' una traccia per il video (che sia la cover art?) allora non decodifica i metadati
La cover art viene vista come traccia video; quel comando ammazza tutte le tracce video e mantiene quella audio
Pero', perche' su Windows va senza fare sta roba?
La saga non e' finita
Il binario statico ufficiale funziona; pare che il problema sia qualche cambiamento di API tra ffmpeg 3.x e 4.x

Questo fix e' teoricamente corretto (anche se un hack bruttino) per le distro che compilano TG con ffmpeg 4.x
La saga non e' finita Il binario statico ufficiale funziona; pare che il problema sia qualche cambiamento di API tra ffmpeg 3.x e 4.x Questo fix e' teoricamente corretto (anche se un hack bruttino) per le distro che compilano TG con ffmpeg 4.x
0003-Ignore-additional-video-streams-inside-an-audio-file.patch
1.5 KB
La patch aggiornata, ora e' meno un hack
E' stata approvata per la prossima release ufficiale, se vi ho rotto TG sapete chi cazziare

patch -p0 < questo_file

Su Void potete ficcarlo direttamente nella cartella patches per telegram-desktop in void-packages e ricompilate
Per Arch dovete modificare il PKGBUILD
Si puo' applicare almeno alle ultime 2 versioni di TG, poi boh
Vabbo', chiusa questa parentesi (spero per sempre) rimando tutti i file sistemati
Tengo i vecchi messaggi (audio inclusi) per motivi storici, magari a qualcuno e' interessata sta roba