[media] dvb-usb: add support for dvb-usb-adapters that deliver raw payload
Select this feature setting the dvb-usb-adapter caps field with DVB_USB_ADAP_RECEIVES_RAW_PAYLOAD Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
8e156702aa
commit
379aa4d0c0
|
@ -80,6 +80,14 @@ static void dvb_usb_data_complete_204(struct usb_data_stream *stream, u8 *buffer
|
||||||
dvb_dmx_swfilter_204(&adap->demux, buffer, length);
|
dvb_dmx_swfilter_204(&adap->demux, buffer, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void dvb_usb_data_complete_raw(struct usb_data_stream *stream,
|
||||||
|
u8 *buffer, size_t length)
|
||||||
|
{
|
||||||
|
struct dvb_usb_adapter *adap = stream->user_priv;
|
||||||
|
if (adap->feedcount > 0 && adap->state & DVB_USB_ADAP_STATE_DVB)
|
||||||
|
dvb_dmx_swfilter_raw(&adap->demux, buffer, length);
|
||||||
|
}
|
||||||
|
|
||||||
int dvb_usb_adapter_stream_init(struct dvb_usb_adapter *adap)
|
int dvb_usb_adapter_stream_init(struct dvb_usb_adapter *adap)
|
||||||
{
|
{
|
||||||
int i, ret = 0;
|
int i, ret = 0;
|
||||||
|
@ -90,6 +98,10 @@ int dvb_usb_adapter_stream_init(struct dvb_usb_adapter *adap)
|
||||||
adap->fe_adap[i].stream.complete =
|
adap->fe_adap[i].stream.complete =
|
||||||
dvb_usb_data_complete_204;
|
dvb_usb_data_complete_204;
|
||||||
else
|
else
|
||||||
|
if (adap->props.fe[i].caps & DVB_USB_ADAP_RECEIVES_RAW_PAYLOAD)
|
||||||
|
adap->fe_adap[i].stream.complete =
|
||||||
|
dvb_usb_data_complete_raw;
|
||||||
|
else
|
||||||
adap->fe_adap[i].stream.complete = dvb_usb_data_complete;
|
adap->fe_adap[i].stream.complete = dvb_usb_data_complete;
|
||||||
adap->fe_adap[i].stream.user_priv = adap;
|
adap->fe_adap[i].stream.user_priv = adap;
|
||||||
ret = usb_urb_init(&adap->fe_adap[i].stream,
|
ret = usb_urb_init(&adap->fe_adap[i].stream,
|
||||||
|
|
|
@ -141,6 +141,7 @@ struct dvb_usb_adapter_fe_properties {
|
||||||
#define DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF 0x02
|
#define DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF 0x02
|
||||||
#define DVB_USB_ADAP_NEED_PID_FILTERING 0x04
|
#define DVB_USB_ADAP_NEED_PID_FILTERING 0x04
|
||||||
#define DVB_USB_ADAP_RECEIVES_204_BYTE_TS 0x08
|
#define DVB_USB_ADAP_RECEIVES_204_BYTE_TS 0x08
|
||||||
|
#define DVB_USB_ADAP_RECEIVES_RAW_PAYLOAD 0x10
|
||||||
int caps;
|
int caps;
|
||||||
int pid_filter_count;
|
int pid_filter_count;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue