FFmpegKit Android API
6.0
Loading...
Searching...
No Matches
fftools_thread_queue.h
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
* Copyright (c) 2023 ARTHENICA LTD
4
*
5
* FFmpeg is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2.1 of the License, or (at your option) any later version.
9
*
10
* FFmpeg is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with FFmpeg; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
20
/*
21
* This file is the modified version of thread_queue.h file living in ffmpeg source code under the fftools folder. We
22
* manually update it each time we depend on a new ffmpeg version. Below you can see the list of changes applied
23
* by us to develop ffmpeg-kit library.
24
*
25
* ffmpeg-kit changes by ARTHENICA LTD
26
*
27
* 07.2023
28
* --------------------------------------------------------
29
* - FFmpeg 6.0 changes migrated
30
*/
31
32
#ifndef FFTOOLS_THREAD_QUEUE_H
33
#define FFTOOLS_THREAD_QUEUE_H
34
35
#include <string.h>
36
37
#include "
fftools_objpool.h
"
38
39
typedef
struct
ThreadQueue
ThreadQueue
;
40
52
ThreadQueue
*
tq_alloc
(
unsigned
int
nb_streams
,
size_t
queue_size,
53
ObjPool
*
obj_pool
,
void
(*
obj_move
)(
void
*dst,
void
*src));
54
void
tq_free
(
ThreadQueue
**tq);
55
68
int
tq_send
(
ThreadQueue
*tq,
unsigned
int
stream_idx,
void
*data);
72
void
tq_send_finish
(
ThreadQueue
*tq,
unsigned
int
stream_idx);
73
88
int
tq_receive
(
ThreadQueue
*tq,
int
*stream_idx,
void
*data);
92
void
tq_receive_finish
(
ThreadQueue
*tq,
unsigned
int
stream_idx);
93
94
#endif
// FFTOOLS_THREAD_QUEUE_H
nb_streams
__thread int nb_streams
Definition
fftools_ffprobe.c:336
fftools_objpool.h
tq_send_finish
void tq_send_finish(ThreadQueue *tq, unsigned int stream_idx)
Definition
fftools_thread_queue.c:231
tq_send
int tq_send(ThreadQueue *tq, unsigned int stream_idx, void *data)
Definition
fftools_thread_queue.c:134
tq_alloc
ThreadQueue * tq_alloc(unsigned int nb_streams, size_t queue_size, ObjPool *obj_pool, void(*obj_move)(void *dst, void *src))
Definition
fftools_thread_queue.c:93
tq_receive
int tq_receive(ThreadQueue *tq, int *stream_idx, void *data)
Definition
fftools_thread_queue.c:205
tq_free
void tq_free(ThreadQueue **tq)
Definition
fftools_thread_queue.c:69
tq_receive_finish
void tq_receive_finish(ThreadQueue *tq, unsigned int stream_idx)
Definition
fftools_thread_queue.c:246
ObjPool
Definition
fftools_objpool.c:44
ThreadQueue
Definition
fftools_thread_queue.c:56
ThreadQueue::obj_pool
ObjPool * obj_pool
Definition
fftools_thread_queue.c:62
ThreadQueue::obj_move
void(* obj_move)(void *dst, void *src)
Definition
fftools_thread_queue.c:63
Generated on Tue Aug 22 2023 01:26:55 for FFmpegKit Android API by
1.9.7