Gentoo: Installazione PC Server (HQPlayer, LMS ) e PC Player (NAA, Mpd, Squeezelite-R2)

Visualizzazione dei risultati da 1 a 10 su 773

Threaded View

Messaggio precedente Messaggio precedente   Prossimo messaggio Prossimo messaggio
  1. #10
    pebibyte L'avatar di marcoc1712
    Registrato
    Jan 2013
    Messaggi
    5,254
    configurazione

    Predefinito

    Originariamente inviato da bigtube
    squeezelite-R2-1.8.3-gentoo-optional-codecs.patch ( nome del file )
    codice HTML:
    diff --git a/decode.c b/decode.c
    index add5fcb..333d76b 100644
    --- a/decode.c
    +++ b/decode.c
    @@ -138,16 +138,26 @@ void decode_init(log_level level, const char *include_codecs, const char *exclud
         if (!strstr(exclude_codecs, "alac") && (!include_codecs || strstr(include_codecs, "alac")))  codecs[i++] = register_ff("alc");
         if (!strstr(exclude_codecs, "wma")  && (!include_codecs || strstr(include_codecs, "wma")))   codecs[i++] = register_ff("wma");
     #endif
    +#ifndef SL_NO_AAC
         if (!strstr(exclude_codecs, "aac")  && (!include_codecs || strstr(include_codecs, "aac")))  codecs[i++] = register_faad();
    +#endif
    +#ifndef SL_NO_OGG
         if (!strstr(exclude_codecs, "ogg")  && (!include_codecs || strstr(include_codecs, "ogg")))  codecs[i++] = register_vorbis();
    +#endif
    +#ifndef SL_NO_FLAC
         if (!strstr(exclude_codecs, "flac") && (!include_codecs || strstr(include_codecs, "flac"))) codecs[i++] = register_flac();
    +#endif
         if (!strstr(exclude_codecs, "pcm")  && (!include_codecs || strstr(include_codecs, "pcm")))  codecs[i++] = register_pcm();
     
         // try mad then mpg for mp3 unless command line option passed
    +#ifndef SL_NO_MAD
         if (!(strstr(exclude_codecs, "mp3") || strstr(exclude_codecs, "mad")) &&
             (!include_codecs || strstr(include_codecs, "mp3") || strstr(include_codecs, "mad")))    codecs[i] = register_mad();
    +#endif
    +#ifndef SL_NO_MPG123
         if (!(strstr(exclude_codecs, "mp3") || strstr(exclude_codecs, "mpg")) && !codecs[i] &&
             (!include_codecs || strstr(include_codecs, "mp3") || strstr(include_codecs, "mpg")))    codecs[i] = register_mpg();
    +#endif
     
         mutex_create(decode.mutex);
     
    diff --git a/faad.c b/faad.c
    index 96d33ca..f994cf3 100644
    --- a/faad.c
    +++ b/faad.c
    @@ -20,6 +20,8 @@
     
     #include "squeezelite.h"
     
    +#ifndef SL_NO_AAC
    +
     #include <neaacdec.h>
     
     #define WRAPBUF_LEN 2048
    @@ -640,3 +642,5 @@ struct codec *register_faad(void) {
         LOG_INFO("using faad to decode aac");
         return &ret;
     }
    +
    +#endif
    diff --git a/flac.c b/flac.c
    index a5c7b3b..6240d84 100644
    --- a/flac.c
    +++ b/flac.c
    @@ -20,6 +20,8 @@
     
     #include "squeezelite.h"
     
    +#ifndef SL_NO_FLAC
    +
     #include <FLAC/stream_decoder.h>
     
     struct flac {
    @@ -286,3 +288,5 @@ struct codec *register_flac(void) {
         LOG_INFO("using flac to decode flc");
         return &ret;
     }
    +
    +#endif
    diff --git a/mad.c b/mad.c
    index 30e2498..b667900 100644
    --- a/mad.c
    +++ b/mad.c
    @@ -20,6 +20,8 @@
     
     #include "squeezelite.h"
     
    +#ifndef SL_NO_MAD
    +
     #include <mad.h>
     
     #define MAD_DELAY 529
    @@ -412,3 +414,5 @@ struct codec *register_mad(void) {
         LOG_INFO("using mad to decode mp3");
         return &ret;
     }
    +
    +#endif
    diff --git a/mpg.c b/mpg.c
    index f3074f2..bcf79d6 100644
    --- a/mpg.c
    +++ b/mpg.c
    @@ -20,6 +20,8 @@
     
     #include "squeezelite.h"
     
    +#ifndef SL_NO_MAD
    +
     #include <mpg123.h>
     
     #define READ_SIZE  512
    @@ -274,3 +276,5 @@ struct codec *register_mpg(void) {
         LOG_INFO("using mpg to decode mp3");
         return &ret;
     }
    +
    +#endif
    diff --git a/vorbis.c b/vorbis.c
    index 0809bee..7f258f3 100644
    --- a/vorbis.c
    +++ b/vorbis.c
    @@ -20,6 +20,8 @@
     
     #include "squeezelite.h"
     
    +#ifndef SL_NO_OGG
    +
     // automatically select between floating point (preferred) and fixed point libraries:
     // NOTE: works with Tremor version here: - Revision 19580: /trunk/Tremor, not vorbisidec.1.0.2 currently in ubuntu
     
    @@ -329,3 +331,5 @@ struct codec *register_vorbis(void) {
         LOG_INFO("using vorbis to decode ogg");
         return &ret;
     }
    +
    +#endif
    mi pare un file che semplicemente indica a emerge cosa deve compilare per i codec
    che utilizzera' squeezelite-R2
    Sono le variazioni (+ = aggiunte, - = eliminazioni) ai vari sorgenti che indicano al compilatore quali header di libreria utilizzare in determinate condizioni, rappresentate dalla definzione o meno delle costanti relative.

    Non credo sia stato prodotto da chi ha realizzato l'ebuild per R2, piuttosto da chi aveva prodotto a suo tempo quello originario.

    Senza entrare nel merito specifico (dovrei guardarci bene) mi pare siano colpi di macete per eliminare la registrazione dinamica di codecs. La mia perplessità riguarda sia il modo che il merito, dato che le righe citate come da eliminare, es. in faad.c, non corrispondono, quindi - probabilmente - quella patch non è nata sulla versione corrente alla base di R2 (ma probabilmente funziona, non so).

    Io non conosco il mecanismo di ebuild, la domanda, pertanto, è: ma questa patch viene applicata (manualmente o automaticamente) a sorgenti di R2 o no? Se no (come credo), sarebbe bene eliminarla ad evitare confusione, se si, andrebbe eventualmente applicata a livello di squeezelite, non del fork di R2. EDIT: La patch è effettivamente applicata dalla ebuild, quindi - probabilmente - è indispensabile per gentoo.

    Come nota, aggiungo che - nel caso - meglio sarebbe riscriverla in modo da renderne almeno possibile la convivenza con le versioni dedicate agli altri sistemi, per com'è richiede la fork del progetto per una versione specifica gentoo (al contrario di quanto avviene pe rgli altri OS), quindi un repository separato da manutenere, con tutte le complicazioni ed implicazioni del caso, che io voglio asolutamente evitare (motivo per cui ho sempre cercato di far accetare le modifiche di R2 nello standard, evitando interventi troppo invasivi).

    Tutto il resto corrisponde a quanto fatto da Paolo per Debian, se serve, posso ospitare il makefile (o il corrispondente per gentoo) nel repository di progetto, il metodo più semplice è di inviare una pull request via GITHUB, ma va bene qualsiasi modo, basta che siano presenti solo le componenti AGGIUNTIVE indispensabili e non patch.
    Ultima modifica di marcoc1712 : 06-09-2016 a 21:03
    Ciao, Marco.

    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
    — E. F. Schumacher (mis-attributed to A. Einstein)
    ________________________________________________________________________________
    Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
    Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
    Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022