821fb624bd814e9c43b7b906af7e7a5eb07cfada
[ffmpeg.git] / libavfilter / vsrc_buffer.h
1 /*
2  * Copyright (c) 2008 Vitor Sessak
3  *
4  * This file is part of FFmpeg.
5  *
6  * FFmpeg is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * FFmpeg is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with FFmpeg; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20
21 #ifndef AVFILTER_VSRC_BUFFER_H
22 #define AVFILTER_VSRC_BUFFER_H
23
24 /**
25  * @file
26  * memory buffer source API for video
27  */
28
29 #include "avfilter.h"
30
31 /**
32  * Tell av_vsrc_buffer_add_video_buffer_ref() to overwrite the already
33  * cached video buffer with the new added one, otherwise the function
34  * will complain and exit.
35  */
36 #define AV_VSRC_BUF_FLAG_OVERWRITE 1
37
38 /**
39  * Add video buffer data in picref to buffer_src.
40  *
41  * @param buffer_src pointer to a buffer source context
42  * @param flags a combination of AV_VSRC_BUF_FLAG_* flags
43  * @return >= 0 in case of success, a negative AVERROR code in case of
44  * failure
45  *
46  * @deprecated use av_buffersrc_add_ref() instead.
47  */
48 attribute_deprecated
49 int av_vsrc_buffer_add_video_buffer_ref(AVFilterContext *buffer_src,
50                                         AVFilterBufferRef *picref, int flags);
51
52 /**
53  * Get the number of failed requests.
54  *
55  * A failed request is when the request_frame method is called while no
56  * frame is present in the buffer.
57  * The number is reset when a frame is added.
58  *
59  * @deprecated use av_buffersrc_get_nb_failed_requests() instead.
60  */
61 attribute_deprecated
62 unsigned av_vsrc_buffer_get_nb_failed_requests(AVFilterContext *buffer_src);
63
64 #endif /* AVFILTER_VSRC_BUFFER_H */