1*1a59d1b8SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 2b285192aSMauro Carvalho Chehab /* 3b285192aSMauro Carvalho Chehab init/start/stop/exit stream functions 4b285192aSMauro Carvalho Chehab Copyright (C) 2003-2004 Kevin Thayer <nufan_wfk at yahoo.com> 5b285192aSMauro Carvalho Chehab Copyright (C) 2005-2007 Hans Verkuil <hverkuil@xs4all.nl> 6b285192aSMauro Carvalho Chehab 7b285192aSMauro Carvalho Chehab */ 8b285192aSMauro Carvalho Chehab 9b285192aSMauro Carvalho Chehab #ifndef IVTV_STREAMS_H 10b285192aSMauro Carvalho Chehab #define IVTV_STREAMS_H 11b285192aSMauro Carvalho Chehab 12b285192aSMauro Carvalho Chehab int ivtv_streams_setup(struct ivtv *itv); 13b285192aSMauro Carvalho Chehab int ivtv_streams_register(struct ivtv *itv); 14635d62f0SHans Verkuil void ivtv_streams_cleanup(struct ivtv *itv); 15b285192aSMauro Carvalho Chehab 16b285192aSMauro Carvalho Chehab /* Capture related */ 17b285192aSMauro Carvalho Chehab int ivtv_start_v4l2_encode_stream(struct ivtv_stream *s); 18b285192aSMauro Carvalho Chehab int ivtv_stop_v4l2_encode_stream(struct ivtv_stream *s, int gop_end); 19b285192aSMauro Carvalho Chehab int ivtv_start_v4l2_decode_stream(struct ivtv_stream *s, int gop_offset); 20b285192aSMauro Carvalho Chehab int ivtv_stop_v4l2_decode_stream(struct ivtv_stream *s, int flags, u64 pts); 21b285192aSMauro Carvalho Chehab 22b285192aSMauro Carvalho Chehab void ivtv_stop_all_captures(struct ivtv *itv); 23b285192aSMauro Carvalho Chehab int ivtv_passthrough_mode(struct ivtv *itv, int enable); 24b285192aSMauro Carvalho Chehab 25b285192aSMauro Carvalho Chehab #endif 26