All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] capture emm and ecm stream
@ 2009-12-15 10:31 lucaberto
  2009-12-15 10:57 ` ALi
  0 siblings, 1 reply; 2+ messages in thread
From: lucaberto @ 2009-12-15 10:31 UTC (permalink / raw)
  To: linux-dvb

hello i have write i little c program for test :
here is the program:

#include 
<stdio.h>
#include </usr/include/linux/dvb/frontend.h>
#include <stdlib.h>

#include <stdint.h>
#include <ctype.h>
#include <sys/ioctl.h>
#include 
<sys/poll.h>
#include <unistd.h>
#include <error.h>
#include <errno.h>
#include 
<sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <time.h>

#include <unistd.h>
#include <linux/dvb/dmx.h>
#include <linux/dvb/frontend.h>

#include <linux/dvb/dmx.h>

#define MIA "/dev/dvb/adapter0/frontend0"
#define 
MD "/dev/dvb/adapter0/demux0"
//#define DVR "/dev/dvb/adapter0/dvr0"
#define 
DVR_FILE "/home/lucak904/Scrivania/Luca/prog_c/sat/mio.dat"
#define BUFFY 
(188*20)

main()

{
    struct dvb_frontend_info luca;
    struct 
dvb_frontend_parameters parametri;
    struct dvb_frontend_parameters luca2;

    struct dmx_pes_filter_params filtri;

    parametri.frequency = 1197700;

    parametri.inversion = INVERSION_AUTO;
    parametri.u.qpsk.symbol_rate = 
2750000;
    parametri.u.qpsk.fec_inner   = FEC_AUTO;


    fe_status_t status;

    int fd, min, max,chiudo_fd, chiudo_md, chiudo_dvr ,stato, pp, freq, 
ritorno, sy_rate, tt, md,fec_inn, inv, dvr, dvr_out,len;
    uint8_t buf
[BUFFY];


	if((fd = open(MIA,O_RDWR)) < 0){
                perror("FRONTEND 
DEVICE: ");
                return -1;
    }
	if (ioctl(fd, FE_SET_FRONTEND, 
&parametri) < 0){
                perror("QPSK TUNE: ");
                return 
-1;
    }
    if (ioctl(fd, FE_GET_FRONTEND ,&luca2) <0){
                perror
("GET_INFO: ");
                return -1;
    }

	printf("\nfreq :%d", luca2.
frequency);
    printf("\nsimbol_rate : %d", luca2.u.qpsk.symbol_rate);
    
printf("\ninversion : %d", luca2.inversion);
    printf("\nfec : %d", luca2.u.
qpsk.fec_inner);


    if (ioctl(fd, FE_GET_INFO  ,&luca) <0){
                
perror("GET_INFO: ");
                return -1;
    }

	printf("\nfreq min:%
d", luca.frequency_min);
	printf("\nfreq max:%d", luca.frequency_max);

	if 
(ioctl(fd, FE_READ_STATUS  ,&status) <0){
                perror
("FE_READ_STATUS: ");
                return -1;
    }

    // apro il demux


    printf("\nstato :%d", status);
    if((md = open(MD,O_RDWR|O_NONBLOCK)) < 0)
{
                perror("DEMUX DEVICE: ");
                return -1;
    }


    //setto il demux

    filtri.pid = 1296;
    filtri.input = 
DMX_IN_FRONTEND;
    filtri.output = DMX_OUT_TAP;
    filtri.pes_type = 
DMX_PES_OTHER;
    filtri.flags = DMX_IMMEDIATE_START;
    if (ioctl(md, 
DMX_SET_PES_FILTER, &filtri) < 0) {
            perror("DEMUX DEVICE: ");

            return -1;
    }

    //apro il dvr

    //if ((dvr = open(DVR, 
O_RDONLY|O_NONBLOCK)) < 0) {
      //      perror("DVR DEVICE : ");
//        
/    return -1;
  //  }

    if ((dvr_out = open
("/home/lucak904/Scrivania/Luca/prog_c/sat/prova_scar.txt", O_WRONLY)) < 0) {

            perror(" DVR FILE : ");
            return -1;
    }


    if((len 
= read(md,buf, BUFFY)) < 0){
        perror("non leggo");
    }
    else{

        write(dvr_out,buf,len);

    }

    chiudo_fd = close(fd);
    
chiudo_md = close(md);
    //chiudo_dvr = close(dvr);
}

It is just a test

every time i get Resource temporarily unavailable
For my understanding it means 
that nothing is readed from demux device, wath is wrong , the pid and frequency 
are ok the SNR is more than 70%

Thanks 

Luca

_______________________________________________
linux-dvb users mailing list
For V4L/DVB development, please use instead linux-media@vger.kernel.org
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [linux-dvb] capture emm and ecm stream
  2009-12-15 10:31 [linux-dvb] capture emm and ecm stream lucaberto
@ 2009-12-15 10:57 ` ALi
  0 siblings, 0 replies; 2+ messages in thread
From: ALi @ 2009-12-15 10:57 UTC (permalink / raw)
  To: linux-media, lucaberto@libero.it; +Cc: linux-dvb

when i did my first emm decoder (;->) i took the source code from
dvbsnoop and it worked for me ..... can you try it?

can you try first dvbsnoop with the parameters you want?

On Tue, Dec 15, 2009 at 11:31 AM, lucaberto@libero.it
<lucaberto@libero.it> wrote:
> hello i have write i little c program for test :
> here is the program:
>
> #include
> <stdio.h>
> #include </usr/include/linux/dvb/frontend.h>
> #include <stdlib.h>
>
> #include <stdint.h>
> #include <ctype.h>
> #include <sys/ioctl.h>
> #include
> <sys/poll.h>
> #include <unistd.h>
> #include <error.h>
> #include <errno.h>
> #include
> <sys/types.h>
> #include <sys/stat.h>
> #include <fcntl.h>
> #include <time.h>
>
> #include <unistd.h>
> #include <linux/dvb/dmx.h>
> #include <linux/dvb/frontend.h>
>
> #include <linux/dvb/dmx.h>
>
> #define MIA "/dev/dvb/adapter0/frontend0"
> #define
> MD "/dev/dvb/adapter0/demux0"
> //#define DVR "/dev/dvb/adapter0/dvr0"
> #define
> DVR_FILE "/home/lucak904/Scrivania/Luca/prog_c/sat/mio.dat"
> #define BUFFY
> (188*20)
>
> main()
>
> {
>    struct dvb_frontend_info luca;
>    struct
> dvb_frontend_parameters parametri;
>    struct dvb_frontend_parameters luca2;
>
>    struct dmx_pes_filter_params filtri;
>
>    parametri.frequency = 1197700;
>
>    parametri.inversion = INVERSION_AUTO;
>    parametri.u.qpsk.symbol_rate =
> 2750000;
>    parametri.u.qpsk.fec_inner   = FEC_AUTO;
>
>
>    fe_status_t status;
>
>    int fd, min, max,chiudo_fd, chiudo_md, chiudo_dvr ,stato, pp, freq,
> ritorno, sy_rate, tt, md,fec_inn, inv, dvr, dvr_out,len;
>    uint8_t buf
> [BUFFY];
>
>
>        if((fd = open(MIA,O_RDWR)) < 0){
>                perror("FRONTEND
> DEVICE: ");
>                return -1;
>    }
>        if (ioctl(fd, FE_SET_FRONTEND,
> &parametri) < 0){
>                perror("QPSK TUNE: ");
>                return
> -1;
>    }
>    if (ioctl(fd, FE_GET_FRONTEND ,&luca2) <0){
>                perror
> ("GET_INFO: ");
>                return -1;
>    }
>
>        printf("\nfreq :%d", luca2.
> frequency);
>    printf("\nsimbol_rate : %d", luca2.u.qpsk.symbol_rate);
>
> printf("\ninversion : %d", luca2.inversion);
>    printf("\nfec : %d", luca2.u.
> qpsk.fec_inner);
>
>
>    if (ioctl(fd, FE_GET_INFO  ,&luca) <0){
>
> perror("GET_INFO: ");
>                return -1;
>    }
>
>        printf("\nfreq min:%
> d", luca.frequency_min);
>        printf("\nfreq max:%d", luca.frequency_max);
>
>        if
> (ioctl(fd, FE_READ_STATUS  ,&status) <0){
>                perror
> ("FE_READ_STATUS: ");
>                return -1;
>    }
>
>    // apro il demux
>
>
>    printf("\nstato :%d", status);
>    if((md = open(MD,O_RDWR|O_NONBLOCK)) < 0)
> {
>                perror("DEMUX DEVICE: ");
>                return -1;
>    }
>
>
>    //setto il demux
>
>    filtri.pid = 1296;
>    filtri.input =
> DMX_IN_FRONTEND;
>    filtri.output = DMX_OUT_TAP;
>    filtri.pes_type =
> DMX_PES_OTHER;
>    filtri.flags = DMX_IMMEDIATE_START;
>    if (ioctl(md,
> DMX_SET_PES_FILTER, &filtri) < 0) {
>            perror("DEMUX DEVICE: ");
>
>            return -1;
>    }
>
>    //apro il dvr
>
>    //if ((dvr = open(DVR,
> O_RDONLY|O_NONBLOCK)) < 0) {
>      //      perror("DVR DEVICE : ");
> //
> /    return -1;
>  //  }
>
>    if ((dvr_out = open
> ("/home/lucak904/Scrivania/Luca/prog_c/sat/prova_scar.txt", O_WRONLY)) < 0) {
>
>            perror(" DVR FILE : ");
>            return -1;
>    }
>
>
>    if((len
> = read(md,buf, BUFFY)) < 0){
>        perror("non leggo");
>    }
>    else{
>
>        write(dvr_out,buf,len);
>
>    }
>
>    chiudo_fd = close(fd);
>
> chiudo_md = close(md);
>    //chiudo_dvr = close(dvr);
> }
>
> It is just a test
>
> every time i get Resource temporarily unavailable
> For my understanding it means
> that nothing is readed from demux device, wath is wrong , the pid and frequency
> are ok the SNR is more than 70%
>
> Thanks
>
> Luca
>
> _______________________________________________
> linux-dvb users mailing list
> For V4L/DVB development, please use instead linux-media@vger.kernel.org
> linux-dvb@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-12-15 10:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-15 10:31 [linux-dvb] capture emm and ecm stream lucaberto
2009-12-15 10:57 ` ALi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.