zaheer gst-plugins-bad: gst-plugins-bad/ gst-plugins-bad/sys/dvb/

[email protected] Tue, 23 Dec 2008 07:26:45 -0800 (PST)
Newsgroups gmane.comp.video.gstreamer.cvs
Message-ID <[email protected]>
CVS Root:       /cvs/gstreamer
Module:         gst-plugins-bad
Changes by:     zaheer
Date:           Tue Dec 23 2008  15:26:45 UTC

Log message:
	* sys/dvb/gstdvbsrc.c:
	Post bus message with dvb read failure when unable to read from
	device.

Modified files:
    .               : ChangeLog
    sys/dvb         : gstdvbsrc.c

Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3831&r2=1.3832
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/sys/dvb/gstdvbsrc.c.diff?r1=1.31&r2=1.32

====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3831
retrieving revision 1.3832
diff -u -d -r1.3831 -r1.3832
--- ChangeLog	23 Dec 2008 12:25:46 -0000	1.3831
+++ ChangeLog	23 Dec 2008 15:26:28 -0000	1.3832
@@ -1,3 +1,9 @@
+2008-12-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
+
+	* sys/dvb/gstdvbsrc.c:
+	Post bus message with dvb read failure when unable to read from
+	device.
 2008-12-23  Wim Taymans  <[email protected]>
 
 	Patch by: Luotao Fu <l dot fu at pengutronix dot de>
Index: gstdvbsrc.c
RCS file: /cvs/gstreamer/gst-plugins-bad/sys/dvb/gstdvbsrc.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- gstdvbsrc.c	6 Nov 2008 13:00:54 -0000	1.31
+++ gstdvbsrc.c	23 Dec 2008 15:26:30 -0000	1.32
@@ -860,7 +860,8 @@
 }
 static GstBuffer *
-read_device (int fd, int adapter_number, int frontend_number, int size)
+read_device (int fd, int adapter_number, int frontend_number, int size,
+    GstDvbSrc * object)
 {
   int count = 0;
   struct pollfd pfd[1];
@@ -911,6 +912,10 @@
         GST_WARNING
             ("Unable to read after %u attempts from device: /dev/dvb/adapter%d/dvr%d (%d)",
             attempts, adapter_number, frontend_number, errno);
+        gst_element_post_message (GST_ELEMENT_CAST (object),
+            gst_message_new_element (GST_OBJECT (object),
+                gst_structure_empty_new ("dvb-read-failure")));
       }
     } else if (errno == -EINTR) {       // poll interrupted
       ;
@@ -944,7 +949,7 @@
     /* --- Read TS from DVR device --- */
     GST_DEBUG_OBJECT (object, "Reading from DVR device");
     *buf = read_device (object->fd_dvr, object->adapter_number,
-        object->frontend_number, buffer_size);
+        object->frontend_number, buffer_size, object);
     if (*buf != NULL) {
       GstCaps *caps;

------------------------------------------------------------------------------