summaryrefslogtreecommitdiff
path: root/dvb-spec/dvbapi/examples.tex
diff options
context:
space:
mode:
Diffstat (limited to 'dvb-spec/dvbapi/examples.tex')
-rw-r--r--dvb-spec/dvbapi/examples.tex46
1 files changed, 25 insertions, 21 deletions
diff --git a/dvb-spec/dvbapi/examples.tex b/dvb-spec/dvbapi/examples.tex
index 114579b80..c9a19ba29 100644
--- a/dvb-spec/dvbapi/examples.tex
+++ b/dvb-spec/dvbapi/examples.tex
@@ -1,6 +1,10 @@
\chapter{Examples}
In this section we would like to present some examples for using the DVB API.
+Maintainer note: This section is out of date. Please refer to the sample
+programs packaged with the driver distribution from
+\texttt{http://linuxtv.org/}.
+
\section{Tuning}
We will start with a generic tuning subroutine that uses the frontend
and SEC, as well as the demux devices. The example is given for QPSK
@@ -17,17 +21,17 @@ tuners, but can easily be adjusted for QAM.
#include <time.h>
#include <unistd.h>
-#include <ost/dmx.h>
-#include <ost/frontend.h>
-#include <ost/sec.h>
+#include <linux/dvb/dmx.h>
+#include <linux/dvb/frontend.h>
+#include <linux/dvb/sec.h>
#include <sys/poll.h>
-#define DMX "/dev/ost/demux"
-#define FRONT "/dev/ost/frontend"
-#define SEC "/dev/ost/sec"
+#define DMX "/dev/dvb/adapter0/demux1"
+#define FRONT "/dev/dvb/adapter0/frontend1"
+#define SEC "/dev/dvb/adapter0/sec1"
/* routine for checking if we have a signal and other status information*/
-int FEReadStatus(int fd, FrontendStatus *stat)
+int FEReadStatus(int fd, fe_status_t *stat)
{
int ans;
@@ -66,11 +70,11 @@ int set_qpsk_channel(int freq, int vpid, int apid, int tpid,
{
struct secCommand scmd;
struct secCmdSequence scmds;
- struct dmxPesFilterParams pesFilterParams;
+ struct dmx_pes_filter_params pesFilterParams;
FrontendParameters frp;
struct pollfd pfd[1];
FrontendEvent event;
- int demux1, dmeux2, demux3, front,
+ int demux1, demux2, demux3, front;
frequency = (uint32_t) freq;
symbolrate = (uint32_t) srate;
@@ -157,7 +161,7 @@ int set_qpsk_channel(int freq, int vpid, int apid, int tpid,
printf("Getting QPSK event\n");
if ( ioctl(front, FE_GET_EVENT, &event)
- == -EBUFFEROVERFLOW){
+ == -EOVERFLOW){
perror("qpsk get event");
return -1;
}
@@ -180,7 +184,7 @@ int set_qpsk_channel(int freq, int vpid, int apid, int tpid,
pesFilterParams.pid = vpid;
pesFilterParams.input = DMX_IN_FRONTEND;
pesFilterParams.output = DMX_OUT_DECODER;
- pesFilterParams.pesType = DMX_PES_VIDEO;
+ pesFilterParams.pes_type = DMX_PES_VIDEO;
pesFilterParams.flags = DMX_IMMEDIATE_START;
if (ioctl(demux1, DMX_SET_PES_FILTER, &pesFilterParams) < 0){
perror("set_vpid");
@@ -190,7 +194,7 @@ int set_qpsk_channel(int freq, int vpid, int apid, int tpid,
pesFilterParams.pid = apid;
pesFilterParams.input = DMX_IN_FRONTEND;
pesFilterParams.output = DMX_OUT_DECODER;
- pesFilterParams.pesType = DMX_PES_AUDIO;
+ pesFilterParams.pes_type = DMX_PES_AUDIO;
pesFilterParams.flags = DMX_IMMEDIATE_START;
if (ioctl(demux2, DMX_SET_PES_FILTER, &pesFilterParams) < 0){
perror("set_apid");
@@ -200,7 +204,7 @@ int set_qpsk_channel(int freq, int vpid, int apid, int tpid,
pesFilterParams.pid = tpid;
pesFilterParams.input = DMX_IN_FRONTEND;
pesFilterParams.output = DMX_OUT_DECODER;
- pesFilterParams.pesType = DMX_PES_TELETEXT;
+ pesFilterParams.pes_type = DMX_PES_TELETEXT;
pesFilterParams.flags = DMX_IMMEDIATE_START;
if (ioctl(demux3, DMX_SET_PES_FILTER, &pesFilterParams) < 0){
perror("set_tpid");
@@ -234,12 +238,12 @@ recording.
#include <time.h>
#include <unistd.h>
-#include <ost/dmx.h>
-#include <ost/video.h>
+#include <linux/dvb/dmx.h>
+#include <linux/dvb/video.h>
#include <sys/poll.h>
-#define DVR "/dev/ost/dvr"
-#define AUDIO "/dev/ost/audio"
-#define VIDEO "/dev/ost/video"
+#define DVR "/dev/dvb/adapter0/dvr1"
+#define AUDIO "/dev/dvb/adapter0/audio1"
+#define VIDEO "/dev/dvb/adapter0/video1"
#define BUFFY (188*20)
#define MAX_LENGTH (1024*1024*5) /* record 5MB */
@@ -252,7 +256,7 @@ recording.
int switch_to_record(int demux1, int demux2, uint16_t vpid, uint16_t apid)
{
- struct dmxPesFilterParams pesFilterParams;
+ struct dmx_pes_filter_params pesFilterParams;
if (demux1 < 0){
if ((demux1=open(DMX, O_RDWR|O_NONBLOCK))
@@ -273,7 +277,7 @@ int switch_to_record(int demux1, int demux2, uint16_t vpid, uint16_t apid)
pesFilterParams.pid = vpid;
pesFilterParams.input = DMX_IN_FRONTEND;
pesFilterParams.output = DMX_OUT_TS_TAP;
- pesFilterParams.pesType = DMX_PES_VIDEO;
+ pesFilterParams.pes_type = DMX_PES_VIDEO;
pesFilterParams.flags = DMX_IMMEDIATE_START;
if (ioctl(demux1, DMX_SET_PES_FILTER, &pesFilterParams) < 0){
perror("DEMUX DEVICE");
@@ -282,7 +286,7 @@ int switch_to_record(int demux1, int demux2, uint16_t vpid, uint16_t apid)
pesFilterParams.pid = apid;
pesFilterParams.input = DMX_IN_FRONTEND;
pesFilterParams.output = DMX_OUT_TS_TAP;
- pesFilterParams.pesType = DMX_PES_AUDIO;
+ pesFilterParams.pes_type = DMX_PES_AUDIO;
pesFilterParams.flags = DMX_IMMEDIATE_START;
if (ioctl(demux2, DMX_SET_PES_FILTER, &pesFilterParams) < 0){
perror("DEMUX DEVICE");