V4L/DVB (13399): firedtv: add missing include, rename a constant
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Sun, 8 Nov 2009 21:29:41 +0000 (18:29 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 5 Dec 2009 20:41:41 +0000 (18:41 -0200)
Add #include <dvb_demux.h> for dvb_dmx_swfilter_packets().  This was
already indirectly included via firedtv.h, but don't rely on it.

The 4 bytes which were referred to as FIREWIRE_HEADER_SIZE are actually
the source packet header from IEC 61883-4 (MPEG2-TS data transmission
over 1394), not e.g. the IEEE 1394 isochronous packet header.  So choose
a more precise name.

Also, express the payload size as a preprocessor constant too.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/firewire/firedtv-1394.c

index 22ea4c9..82b576a 100644 (file)
 #include <iso.h>
 #include <nodemgr.h>
 
+#include <dvb_demux.h>
+
 #include "firedtv.h"
 
 static LIST_HEAD(node_list);
 static DEFINE_SPINLOCK(node_list_lock);
 
-#define FIREWIRE_HEADER_SIZE   4
-#define CIP_HEADER_SIZE                8
+#define CIP_HEADER_SIZE                        8
+#define MPEG2_TS_HEADER_SIZE           4
+#define MPEG2_TS_SOURCE_PACKET_SIZE    (4 + 188)
 
 static void rawiso_activity_cb(struct hpsb_iso *iso)
 {
@@ -62,20 +65,20 @@ static void rawiso_activity_cb(struct hpsb_iso *iso)
                buf = dma_region_i(&iso->data_buf, unsigned char,
                        iso->infos[packet].offset + CIP_HEADER_SIZE);
                count = (iso->infos[packet].len - CIP_HEADER_SIZE) /
-                       (188 + FIREWIRE_HEADER_SIZE);
+                       MPEG2_TS_SOURCE_PACKET_SIZE;
 
                /* ignore empty packet */
                if (iso->infos[packet].len <= CIP_HEADER_SIZE)
                        continue;
 
                while (count--) {
-                       if (buf[FIREWIRE_HEADER_SIZE] == 0x47)
+                       if (buf[MPEG2_TS_HEADER_SIZE] == 0x47)
                                dvb_dmx_swfilter_packets(&fdtv->demux,
-                                               &buf[FIREWIRE_HEADER_SIZE], 1);
+                                               &buf[MPEG2_TS_HEADER_SIZE], 1);
                        else
                                dev_err(fdtv->device,
                                        "skipping invalid packet\n");
-                       buf += 188 + FIREWIRE_HEADER_SIZE;
+                       buf += MPEG2_TS_SOURCE_PACKET_SIZE;
                }
        }
 out: