#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)
 {
                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: