← Back to team overview

olrait team mailing list archive

Re: libsmth: .deb, python, release

 

Il giorno mar, 25/01/2011 alle 16.54 +0100, Pietro Battiston ha
scritto: 
> Per la cronaca: non ho (quasi) mai pacchettizzato una libreria C prima:
> ogni commento è benvenuto.

Grazie mille! Non ho mai imparato a costruire pacchetti .deb. Per gli
utenti rpm, è sufficiente un:

rpmbuild -tb libsmth-0.0.0.tar.gz

il file .spec fa parte della tarball.

> 2) ho provato ad utilizzare i binding python. Installato il pacchetto di
> cui sopra, sono poi andato nella cartella "src/bindings", e ho fatto (in
> ipython):
[...] 
> ottenendo:
>  <type 'NoneType'>

Il secondo argomento di smooth.open() è una stringa, che nell'esempio è
0, ossia NULL, non '0' (stringa 0). Conterrebbe i parametri get per
l'autenticazione, ad esempio, in:

http://miostream.server.it/video.isml/Manifest?auth=joiajoiosa

handle = smooth.open('http://miostream.server.it/video.isml',
'auth=joiajoiosa')

Ma, nel nostro caso,

handle =
smooth.open('http://secondary.adaptiveedge.rai.it/mediapolis11.isml',
'')

Questo comportamento, è essenzialmente un hack per supportare il sistema
di autenticazione di alcuni server RAI (non quelli che usiamo noi).

> Più in generale, Stefano, hai del codice python - anche una manciata di
> righe - che utilizzano quei bindings, da cui partire? Questo renderebbe
> fattibile l'integrazione della libreria in qualche player esistente
> anche senza dover aspettare i binding per gstreamer (che comunque
> secondo me sono LA soluzione).

In allegato :)

> 3) Sempre Stefano, se hai qualche piano temporale per delle release
> future, faccelo sapere... non che voglia metterti fretta, ma almeno so
> se ha senso mettermi a pacchettizzare la libreria da hg o se aspetto "un
> segnale".

A metà febbraio prenderò una pausa, e penso di continuare lo sviluppo.
Per me non c'è alcun problema. Si tratta ancora di software
sperimentale, non è il caso di mandarla in giro per il mondo, ma più
utenti la provano (e riportano errori/segfault), prima riesco a chiudere
i bugs.
L'unico difetto attuale della lib, è che prima bufferizza tutto il
video/diretta, poi permette di riprodurla. Sto lavorando al download
parallelo (durante la riproduzione, con un buffer minimo).

--SKS
#! /usr/bin/env python2

"""Stampa i primi 1000 bytes dello stream 0"""

import smooth

handle = smooth.open('http://secondary.adaptiveedge.rai.it/mediapolis11.isml', '')
buffer = smooth.makebuffer(1000)

smooth.read(buffer, 1000, 0, handle)
smooth.close(handle)

print p.raw

References