[PATCH] a few fixes in dvb-apps.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Since the other patches about DMX_SET_BUFFER_SIZE have been accepted,
I think this one is ready as well.

I attach again the diff file for review.

Point 1 and 2 are more cosmetic, 3 is a change in behavior.

Andrea wrote:
I've collected in this patch a few small fixes for dvb-apps

1) in libdvbapi a new enum to support DMX_OUT_TSDEMUX_TAP

2) in libdvbapi a change in a comment where it is stated that the dvr can be opened more that once in readonly. It can only be opened once.

3) tzap: removed the ioctl call to DMX_SET_BUFFER_SIZE on the dvr. This calls shrinks the size of the buffer, from about 2MB (#define DVR_BUFFER_SIZE (10*188*1024) in dmxdev.h) to 1MB. I think the writer of the code wanted a bigger buffer, so it is pointless to reduce it.

Let me know if I should post 3 separate patches.

I plan to send an other patch to change gnutv to be more robust with slow writes and to support
DMX_SET_BUFFER_SIZE.

diff -r 3cde3460d120 lib/libdvbapi/dvbdemux.c
--- a/lib/libdvbapi/dvbdemux.c	Tue Mar 11 12:40:20 2008 +0100
+++ b/lib/libdvbapi/dvbdemux.c	Sat Mar 22 00:07:29 2008 +0000
@@ -128,6 +128,10 @@ int dvbdemux_set_pes_filter(int fd, int 
 		filter.output = DMX_OUT_TS_TAP;
 		break;
 
+	case DVBDEMUX_OUTPUT_TS_DEMUX:
+		filter.output = DMX_OUT_TSDEMUX_TAP;
+		break;
+
 	default:
 		return -EINVAL;
 	}
@@ -201,6 +205,10 @@ int dvbdemux_set_pid_filter(int fd, int 
 		filter.output = DMX_OUT_TS_TAP;
 		break;
 
+	case DVBDEMUX_OUTPUT_TS_DEMUX:
+		filter.output = DMX_OUT_TSDEMUX_TAP;
+		break;
+
 	default:
 		return -EINVAL;
 	}
diff -r 3cde3460d120 lib/libdvbapi/dvbdemux.h
--- a/lib/libdvbapi/dvbdemux.h	Tue Mar 11 12:40:20 2008 +0100
+++ b/lib/libdvbapi/dvbdemux.h	Sat Mar 22 00:07:29 2008 +0000
@@ -55,6 +55,7 @@ extern "C"
 #define DVBDEMUX_OUTPUT_DECODER 0
 #define DVBDEMUX_OUTPUT_DEMUX 1
 #define DVBDEMUX_OUTPUT_DVR 2
+#define DVBDEMUX_OUTPUT_TS_DEMUX 3
 
 /**
  * PES types.
@@ -65,6 +66,7 @@ extern "C"
 #define DVBDEMUX_PESTYPE_SUBTITLE 3
 #define DVBDEMUX_PESTYPE_PCR 4
 
+
 /**
  * Open a demux device. Can be called multiple times. These let you setup a
  * single filter per FD. It can can also be read() from if you use a section
@@ -78,8 +80,8 @@ extern int dvbdemux_open_demux(int adapt
 extern int dvbdemux_open_demux(int adapter, int demuxdevice, int nonblocking);
 
 /**
- * Open a DVR device. May be opened for writing once, or multiple times in readonly
- * mode. It is used to either write() transport stream data to be demuxed
+ * Open a DVR device. May be opened for writing or reading once.
+ * It is used to either write() transport stream data to be demuxed
  * (if input == DVBDEMUX_INPUT_DVR), or to read() a stream of demuxed data
  * (if output == DVBDEMUX_OUTPUT_DVR).
  *
diff -r 3cde3460d120 util/szap/tzap.c
--- a/util/szap/tzap.c	Tue Mar 11 12:40:20 2008 +0100
+++ b/util/szap/tzap.c	Sat Mar 22 00:07:29 2008 +0000
@@ -676,11 +676,6 @@ int main(int argc, char **argv)
 	                PERROR("failed opening '%s'", DVR_DEV);
 	                return -1;
 	        }
-		if (ioctl(dvr_fd, DMX_SET_BUFFER_SIZE, 1024 * 1024)<0)
-		{
-			PERROR("DMX_SET_BUFFER_SIZE failed");
-			return -1;
-		}
 		if (silent<2)
 			print_frontend_stats (frontend_fd, human_readable);
 

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux