···117117 * specified by @filter_value that will be used on the filter118118 * match logic.119119 * @filter_mode: Contains a 16 bytes (128 bits) filter mode.120120- * @parent: Pointer to struct dmx_section_feed.120120+ * @parent: Back-pointer to struct dmx_section_feed.121121 * @priv: Pointer to private data of the API client.122122 *123123 *···130130 u8 filter_value[DMX_MAX_FILTER_SIZE];131131 u8 filter_mask[DMX_MAX_FILTER_SIZE];132132 u8 filter_mode[DMX_MAX_FILTER_SIZE];133133- struct dmx_section_feed *parent; /* Back-pointer */134134- void *priv; /* Pointer to private data of the API client */133133+ struct dmx_section_feed *parent;134134+135135+ void *priv;135136};136137137138/**···194193 * @buffer2: Pointer to the tail of the filtered TS packets, or NULL.195194 * @buffer2_length: Length of the TS data in buffer2.196195 * @source: Indicates which TS feed is the source of the callback.196196+ * @buffer_flags: Address where buffer flags are stored. Those are197197+ * used to report discontinuity users via DVB198198+ * memory mapped API, as defined by199199+ * &enum dmx_buffer_flags.197200 *198201 * This function callback prototype, provided by the client of the demux API,199202 * is called from the demux code. The function is only called when filtering···250245 size_t buffer1_length,251246 const u8 *buffer2,252247 size_t buffer2_length,253253- struct dmx_ts_feed *source);248248+ struct dmx_ts_feed *source,249249+ u32 *buffer_flags);254250255251/**256252 * typedef dmx_section_cb - DVB demux TS filter callback function prototype···267261 * including headers and CRC.268262 * @source: Indicates which section feed is the source of the269263 * callback.264264+ * @buffer_flags: Address where buffer flags are stored. Those are265265+ * used to report discontinuity users via DVB266266+ * memory mapped API, as defined by267267+ * &enum dmx_buffer_flags.270268 *271269 * This function callback prototype, provided by the client of the demux API,272270 * is called from the demux code. The function is only called when···296286 size_t buffer1_len,297287 const u8 *buffer2,298288 size_t buffer2_len,299299- struct dmx_section_filter *source);289289+ struct dmx_section_filter *source,290290+ u32 *buffer_flags);300291301292/*302293 * DVB Front-End
+4
include/media/dvb_demux.h
···115115 * @pid: PID to be filtered.116116 * @timeout: feed timeout.117117 * @filter: pointer to &struct dvb_demux_filter.118118+ * @buffer_flags: Buffer flags used to report discontinuity users via DVB119119+ * memory mapped API, as defined by &enum dmx_buffer_flags.118120 * @ts_type: type of TS, as defined by &enum ts_filter_type.119121 * @pes_type: type of PES, as defined by &enum dmx_ts_pes.120122 * @cc: MPEG-TS packet continuity counter···146144147145 ktime_t timeout;148146 struct dvb_demux_filter *filter;147147+148148+ u32 buffer_flags;149149150150 enum ts_filter_type ts_type;151151 enum dmx_ts_pes pes_type;
+16-2
include/media/dvb_vb2.h
···8585 * @nonblocking:8686 * If different than zero, device is operating on non-blocking8787 * mode.8888+ * @flags: buffer flags as defined by &enum dmx_buffer_flags.8989+ * Filled only at &DMX_DQBUF. &DMX_QBUF should zero this field.9090+ * @count: monotonic counter for filled buffers. Helps to identify9191+ * data stream loses. Filled only at &DMX_DQBUF. &DMX_QBUF should9292+ * zero this field.9393+ *8894 * @name: name of the device type. Currently, it can either be8995 * "dvr" or "demux_filter".9096 */···106100 int buf_siz;107101 int buf_cnt;108102 int nonblocking;103103+104104+ enum dmx_buffer_flags flags;105105+ u32 count;106106+109107 char name[DVB_VB2_NAME_MAX + 1];110108};111109···124114 return 0;125115};126116#define dvb_vb2_is_streaming(ctx) (0)127127-#define dvb_vb2_fill_buffer(ctx, file, wait) (0)117117+#define dvb_vb2_fill_buffer(ctx, file, wait, flags) (0)128118129119static inline __poll_t dvb_vb2_poll(struct dvb_vb2_ctx *ctx,130120 struct file *file,···163153 * @ctx: control struct for VB2 handler164154 * @src: place where the data is stored165155 * @len: number of bytes to be copied from @src156156+ * @buffer_flags:157157+ * pointer to buffer flags as defined by &enum dmx_buffer_flags.158158+ * can be NULL.166159 */167160int dvb_vb2_fill_buffer(struct dvb_vb2_ctx *ctx,168168- const unsigned char *src, int len);161161+ const unsigned char *src, int len,162162+ enum dmx_buffer_flags *buffer_flags);169163170164/**171165 * dvb_vb2_poll - Wrapper to vb2_core_streamon() for Digital TV