[gl-como] morituri per Ubuntu

~redShadow~ redshadowhack@gmail.com
Mer 18 Maggio 2011 22:57:41 CEST


On Wed, 2011-05-18 at 13:24 +0200, Carlo.. wrote: 
> WARNING: pycdio not installed, cannot identify drive

Questo é solo un warning, dubito che sia una reale causa del problema

> ERROR: checksum: not a single buffer gotten

Ecco, qui parla di un errore, poi parte il trace (fondamentale per
identificare gli errori "non previsti" negli script Python)


> Traceback (most recent call last):
> 
> File "/usr/bin/rip", line 35, in <module>
> 
> sys.exit(main.main(sys.argv[1:]))
> 
> File "/usr/lib/python2.7/dist-packages/morituri/rip/main.py", line 12, 
> in main
> 
> ret = c.parse(argv)
> 
> [..cut..] 
> File "/usr/lib/python2.7/dist-packages/morituri/common/task.py", line 
> 390, in run
> 
> raise TaskException(task.exception, message=task.exceptionMessage)
> 
> morituri.common.task.TaskException: (QueryError('query failed',), 
> 'exception QueryError at morituri/common/checksum.py:93: start(): query 
> failed')

Il trace contiene lo stack delle chiamate fino al punto in cui si é
verificata l'eccezione. In questo caso, viene alzata direttamente dal
programma (e non da una libreria) con `raise TaskException` alla 390
di /usr/lib/python2.7/dist-packages/morituri/common/task.py.
Il messaggio di errore é abbastanza generico `QueryError at
morituri/common/checksum.py:93: start(): query failed` e sembra
riportare un'altra eccezione alzata da un modulo:
`morituri/common/checksum.py:93` (comunque, parla genericamente di query
failed senza dare maggiori info).



Si potrebbe provare abilitando un eventuale debug di morituri, anche se
guardando il codice sembra che non estragga informazioni che possono
essere rilevanti per chiarire cos'é successo esattamente..



Sempre leggendo il sorgente (di morituri/common/checksum.py) del punto
in cui si verifica l'eccezione, questo é ció che accade:

self._pipeline = gst.parse_launch('''
    filesrc location="%s" !
    decodebin ! audio/x-raw-int !
    appsink name=sink sync=False emit-signals=True''' %
        common.quoteParse(self._path).encode('utf-8'))

(lancia una pipeline di gstreamer)

poi (ottiene qualcosa tipo descrittore di un pezzo di pipe? non me ne
intendo troppo di gstreamer):

sink = self._pipeline.get_by_name('sink')

..e sembra cerchi di querare la durata di qualcosa (traccia?):

length, qformat = sink.query_duration(gst.FORMAT_DEFAULT)

..ma fallisce in quanto gstreamer alza un'eccezione di tipo
gst.QueryError.


Quindi, c'é da capire perché gstreamer non riesce a fare quella query.
Che gli manchi qualche plugin?

dato che self._path dovrebbe corrispondere a un file audio rippato di
cui si vuole calcolare il checksum (immagino..), dovrebbe essere
possibile debuggare con qualcosa tipo (é una riga sola anche se va a
capo):

gst-launch filesrc location={PATH-TO-FILE} ! decodebin !
audio/x-raw-int ! appsink name=sink sync=False emit-signals=True

sostituendo {PATH-TO-FILE} con un file di quelli estratti (ammesso di
riuscire a identificarne uno).


PS:

non é una brutta cosa controllare che pycdio sia installato (tra
l'altro, per Python2.7, andrebbe verificato anche che Python lo trovi)

> libcdio-cdda0
> libcdio-paranoia0
> libcdio10
..dovrebbero giá essere installati come dipendenze

> python-dev
> libcdio-dev
> libiso9660-dev
..a che servono gli header delle librerie??

> swig
> pkg-config
..e anche questi? mica bisogna compilare nulla, il problema é in quella
"queryfailed"

..occhio a suggerire di installare roba a casaccio!!


PPS:
Giá che se ne sta parlando, io mi trovo bene con RipperX, anche quello
usa cdparanoia come backend ed é abbastanza comodo (rippa in vari
formati, quera cddb, etc.)


PPPS:
Il quoting!!!!!


-- 
Samuele ~redShadow~ Santi
----------------------------------------------------------------
     redshadow[at]hackzine.org - redshadowhack[at]gmail.com

  Blog: http://hackzine.org

  GPG Key signature:
       050D 3E9F 6E0B 44CE C008 D1FC 166C 3C7E EB26 4933
----------------------------------------------------------------
/me recommends:
    Squadra Informatica - http://www.squadrainformatica.com
----------------------------------------------------------------
 - Proud ThinkPad T-Series owner
 - Registered Linux-User: #440008
      * GENTOO User since 1199142000 (2008-01-01)
      * former DEBIAN SID user
----------------------------------------------------------------
      "Software is like sex: it's better when it's free!"
                              -- Linus Torvalds




Maggiori informazioni sulla lista gl-como