V4L/DVB (13399): firedtv: add missing include, rename a constant

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>
This commit is contained in:
Stefan Richter 2009-11-08 18:29:41 -03:00 committed by Mauro Carvalho Chehab
parent 054286b12c
commit 6e25abb522

View File

@ -26,13 +26,16 @@
#include <iso.h> #include <iso.h>
#include <nodemgr.h> #include <nodemgr.h>
#include <dvb_demux.h>
#include "firedtv.h" #include "firedtv.h"
static LIST_HEAD(node_list); static LIST_HEAD(node_list);
static DEFINE_SPINLOCK(node_list_lock); 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) 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, buf = dma_region_i(&iso->data_buf, unsigned char,
iso->infos[packet].offset + CIP_HEADER_SIZE); iso->infos[packet].offset + CIP_HEADER_SIZE);
count = (iso->infos[packet].len - CIP_HEADER_SIZE) / count = (iso->infos[packet].len - CIP_HEADER_SIZE) /
(188 + FIREWIRE_HEADER_SIZE); MPEG2_TS_SOURCE_PACKET_SIZE;
/* ignore empty packet */ /* ignore empty packet */
if (iso->infos[packet].len <= CIP_HEADER_SIZE) if (iso->infos[packet].len <= CIP_HEADER_SIZE)
continue; continue;
while (count--) { while (count--) {
if (buf[FIREWIRE_HEADER_SIZE] == 0x47) if (buf[MPEG2_TS_HEADER_SIZE] == 0x47)
dvb_dmx_swfilter_packets(&fdtv->demux, dvb_dmx_swfilter_packets(&fdtv->demux,
&buf[FIREWIRE_HEADER_SIZE], 1); &buf[MPEG2_TS_HEADER_SIZE], 1);
else else
dev_err(fdtv->device, dev_err(fdtv->device,
"skipping invalid packet\n"); "skipping invalid packet\n");
buf += 188 + FIREWIRE_HEADER_SIZE; buf += MPEG2_TS_SOURCE_PACKET_SIZE;
} }
} }
out: out: