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