mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
bcb63314e2
Drop the FSF's postal address from the source code files that typically contain mostly the license text. Of the 628 removed instances, 578 are outdated. The patch has been created with the following command without manual edits: git grep -l "675 Mass Ave\|59 Temple Place\|51 Franklin St" -- \ drivers/media/ include/media|while read i; do i=$i perl -e ' open(F,"< $ENV{i}"); $a=join("", <F>); $a =~ s/[ \t]*\*\n.*You should.*\n.*along with.*\n.*(\n.*USA.*$)?\n//m && $a =~ s/(^.*)Or, (point your browser to) /$1To obtain the license, $2\n$1/m; close(F); open(F, "> $ENV{i}"); print F $a; close(F);'; done Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
116 lines
2.3 KiB
C
116 lines
2.3 KiB
C
/*
|
|
* dmxdev.h
|
|
*
|
|
* Copyright (C) 2000 Ralph Metzler & Marcus Metzler
|
|
* for convergence integrated media GmbH
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public License
|
|
* as published by the Free Software Foundation; either version 2.1
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
*/
|
|
|
|
#ifndef _DMXDEV_H_
|
|
#define _DMXDEV_H_
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/spinlock.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/time.h>
|
|
#include <linux/timer.h>
|
|
#include <linux/wait.h>
|
|
#include <linux/fs.h>
|
|
#include <linux/string.h>
|
|
#include <linux/mutex.h>
|
|
#include <linux/slab.h>
|
|
|
|
#include <linux/dvb/dmx.h>
|
|
|
|
#include "dvbdev.h"
|
|
#include "demux.h"
|
|
#include "dvb_ringbuffer.h"
|
|
|
|
enum dmxdev_type {
|
|
DMXDEV_TYPE_NONE,
|
|
DMXDEV_TYPE_SEC,
|
|
DMXDEV_TYPE_PES,
|
|
};
|
|
|
|
enum dmxdev_state {
|
|
DMXDEV_STATE_FREE,
|
|
DMXDEV_STATE_ALLOCATED,
|
|
DMXDEV_STATE_SET,
|
|
DMXDEV_STATE_GO,
|
|
DMXDEV_STATE_DONE,
|
|
DMXDEV_STATE_TIMEDOUT
|
|
};
|
|
|
|
struct dmxdev_feed {
|
|
u16 pid;
|
|
struct dmx_ts_feed *ts;
|
|
struct list_head next;
|
|
};
|
|
|
|
struct dmxdev_filter {
|
|
union {
|
|
struct dmx_section_filter *sec;
|
|
} filter;
|
|
|
|
union {
|
|
/* list of TS and PES feeds (struct dmxdev_feed) */
|
|
struct list_head ts;
|
|
struct dmx_section_feed *sec;
|
|
} feed;
|
|
|
|
union {
|
|
struct dmx_sct_filter_params sec;
|
|
struct dmx_pes_filter_params pes;
|
|
} params;
|
|
|
|
enum dmxdev_type type;
|
|
enum dmxdev_state state;
|
|
struct dmxdev *dev;
|
|
struct dvb_ringbuffer buffer;
|
|
|
|
struct mutex mutex;
|
|
|
|
/* only for sections */
|
|
struct timer_list timer;
|
|
int todo;
|
|
u8 secheader[3];
|
|
};
|
|
|
|
|
|
struct dmxdev {
|
|
struct dvb_device *dvbdev;
|
|
struct dvb_device *dvr_dvbdev;
|
|
|
|
struct dmxdev_filter *filter;
|
|
struct dmx_demux *demux;
|
|
|
|
int filternum;
|
|
int capabilities;
|
|
|
|
unsigned int exit:1;
|
|
#define DMXDEV_CAP_DUPLEX 1
|
|
struct dmx_frontend *dvr_orig_fe;
|
|
|
|
struct dvb_ringbuffer dvr_buffer;
|
|
#define DVR_BUFFER_SIZE (10*188*1024)
|
|
|
|
struct mutex mutex;
|
|
spinlock_t lock;
|
|
};
|
|
|
|
|
|
int dvb_dmxdev_init(struct dmxdev *dmxdev, struct dvb_adapter *);
|
|
void dvb_dmxdev_release(struct dmxdev *dmxdev);
|
|
|
|
#endif /* _DMXDEV_H_ */
|