162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci    init/start/stop/exit stream functions
462306a36Sopenharmony_ci    Copyright (C) 2003-2004  Kevin Thayer <nufan_wfk at yahoo.com>
562306a36Sopenharmony_ci    Copyright (C) 2005-2007  Hans Verkuil <hverkuil@xs4all.nl>
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef IVTV_STREAMS_H
1062306a36Sopenharmony_ci#define IVTV_STREAMS_H
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciint ivtv_streams_setup(struct ivtv *itv);
1362306a36Sopenharmony_ciint ivtv_streams_register(struct ivtv *itv);
1462306a36Sopenharmony_civoid ivtv_streams_cleanup(struct ivtv *itv);
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci/* Capture related */
1762306a36Sopenharmony_ciint ivtv_start_v4l2_encode_stream(struct ivtv_stream *s);
1862306a36Sopenharmony_ciint ivtv_stop_v4l2_encode_stream(struct ivtv_stream *s, int gop_end);
1962306a36Sopenharmony_ciint ivtv_start_v4l2_decode_stream(struct ivtv_stream *s, int gop_offset);
2062306a36Sopenharmony_ciint ivtv_stop_v4l2_decode_stream(struct ivtv_stream *s, int flags, u64 pts);
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_civoid ivtv_stop_all_captures(struct ivtv *itv);
2362306a36Sopenharmony_ciint ivtv_passthrough_mode(struct ivtv *itv, int enable);
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#endif
26