where I could find sample using pipe/fifo for ts decoding? I would use pipe so the entire stream received, could be processed to retrieve all pid transmitting over a transponder (tuned by dvbtune). Now I am using this code but there a problem on decoding pid: child's get out only pid 0 (scan decode other pids)!
I think the problem is in write-end pipe but I dont know how resolve! Could you help me in anyway? thanks of all. Andrea
//parent write-end fd[1] while((read(fd_dvr,&tmp,10*TS_SIZE))!=0){
write(fd[1],tmp,10*TS_SIZE);
}
//child read-end fd[0] if((read(fd[0], mbuf, TS_SIZE))<0) perror("\nerror reading pipe\n");
for (i = 0; i < TS_SIZE ; i++) { if ( mbuf[i] == 0x47 ){ printf("\nFound sync byte at %d\n",i); break; } }
if (i == TS_SIZE) { perror("\nNot a TS\n"); return -1; }else{ memcpy(buf, mbuf+i, TS_SIZE-i);
while((read(fd[0], mbuf, i))!=0);
memcpy(buf+TS_SIZE-i, mbuf, i); //my_get_bits() function ok! point_bit=11;
i=my_get_bits(buf,13);
printf("\nFirst pid: %04x\n",i);
point_bit=0;
l=0; while((read(fd[0], buf, TS_SIZE))!=0){ //read(fd[0], buf, TS_SIZE); point_bit=11; i=my_get_bits(buf,13); printf("\nFound pid %d: %04x %d\n",l,i,i); point_bit=0; l++; } }
}
_________________________________________________________________
-- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.