[FoLUG] Problemi con libdc1394

Pier pier.damato@gmail.com
Ven 16 Feb 2007 16:09:57 CET


Ciao a tutti!

Ho scaricalo la libdc1394 per poter gestire una telecamera firewire,
l'ho installata e funziona benissimo.

Ora devo ripetere l'installazione su un altro PC ma... nei file di
esempio della libreria ce n'è uno che permette di vedere il video
ripreso dalla telecamera sullo schermo in "diretta" (il file si chiama
dc1394_multiview.c"). Bene, sul mio pc funziona sull'altro no. Ho
studiato un po il codice e ho individuato che il problema è nella
seguante funzione.

void QueryXv()
{
    int num_adaptors;
    int num_formats;
    XvImageFormatValues *formats=NULL;
    int i,j;
    char xv_name[5];
   
    XvQueryAdaptors(display,DefaultRootWindow(display),(unsigned
int*)&num_adaptors,&info);
   
    for(i=0;i<num_adaptors;i++) {
        formats=XvListImageFormats(display,info[i].base_id,&num_formats);
        for(j=0;j<num_formats;j++) {
            xv_name[4]=0;
            memcpy(xv_name,&formats[j].id,4);
            if(formats[j].id==format) {
                fprintf(stderr,"using Xv format 0x%x %s
%s\n",formats[j].id,xv_name,(formats[j].format==XvPacked)?"packed":"planar");
                if(adaptor<0)adaptor=i;
            }
        }
    }
        XFree(formats);
    if(adaptor<0)
        fprintf(stderr,"No suitable Xv adaptor found");   
   
}

in particolare la funzione XvQueryAdaptors restituisce num_adaptors=0,
quindi non esegue mai il ciclo for e di conseguenza stampa "No suitable
Xv adaptor found" poichè adaptor è inizialmente inizializzato a 1.

Qualcuno può darmi qualche suggerimento per risolvere il problema?

Vi ribgrazio anticipatamente!

Pier


Maggiori informazioni sulla lista FoLUG