VLC  4.0.0-dev
vlc_decoder.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * vlc_decoder.h: decoder API
3  *****************************************************************************
4  * Copyright (C) 1999-2015 VLC authors and VideoLAN
5  *
6  * Authors: Christophe Massiot <massiot@via.ecp.fr>
7  * Laurent Aimar <fenrir@via.ecp.fr>
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23 
24 #ifndef VLC_DECODER_H
25 #define VLC_DECODER_H 1
26 
27 /**
28  * \ingroup decoder
29  * @{
30  */
31 
32 #include <vlc_subpicture.h>
33 
35 
36 /**
37  * This defines an opaque input resource handler.
38  */
39 typedef struct input_resource_t input_resource_t;
40 
41 /* */
45 VLC_API void vlc_input_decoder_Decode( vlc_input_decoder_t *, block_t *, bool b_do_pace );
49 
50 /**
51  * It creates an empty input resource handler.
52  *
53  * The given object MUST stay alive as long as the input_resource_t is
54  * not deleted.
55  */
57 
58 /**
59  * It releases an input resource.
60  */
62 
63 /**
64  * \return the current audio output if any.
65  * Use aout_Release() to drop the reference.
66  */
68 
69 /**
70  * This function creates or recycles an audio output.
71  */
73 
74 /**
75  * This function retains or destroys an audio output.
76  */
78 
79 /** @} */
80 #endif
vlc_input_decoder_SetSpuHighlight
VLC_EXPORT int vlc_input_decoder_SetSpuHighlight(vlc_input_decoder_t *, const vlc_spu_highlight_t *)
Definition: decoder.c:2641
VLC_API
#define VLC_API
Definition: fourcc_gen.c:31
vlc_spu_highlight_t
Definition: vlc_subpicture.h:85
vlc_common.h
vlc_input_decoder_Delete
VLC_EXPORT void vlc_input_decoder_Delete(vlc_input_decoder_t *)
Kills a decoder thread and waits until it's finished.
Definition: decoder.c:2128
vlc_input_decoder_Create
VLC_EXPORT vlc_input_decoder_t * vlc_input_decoder_Create(vlc_object_t *, const es_format_t *, input_resource_t *)
Spawn a decoder thread outside of the input thread.
Definition: decoder.c:2113
input_resource_GetAout
VLC_EXPORT audio_output_t * input_resource_GetAout(input_resource_t *)
This function creates or recycles an audio output.
Definition: resource.c:206
vlc_input_decoder_Drain
VLC_EXPORT void vlc_input_decoder_Drain(vlc_input_decoder_t *)
Signals that there are no further blocks to decode, and requests that the decoder drain all pending b...
Definition: decoder.c:2263
vlc_input_decoder_Flush
VLC_EXPORT void vlc_input_decoder_Flush(vlc_input_decoder_t *)
Requests that the decoder immediately discard all pending buffers.
Definition: decoder.c:2275
audio_output
Audio output object.
Definition: vlc_aout.h:148
input_resource_PutAout
VLC_EXPORT void input_resource_PutAout(input_resource_t *, audio_output_t *)
This function retains or destroys an audio output.
Definition: resource.c:238
es_format_t
Definition: vlc_es.h:618
vlc_subpicture.h
vlc_input_decoder_Decode
VLC_EXPORT void vlc_input_decoder_Decode(vlc_input_decoder_t *, block_t *, bool b_do_pace)
Put a block_t in the decoder's fifo.
Definition: decoder.c:2194
vlc_object_t
VLC object common members.
Definition: vlc_objects.h:43
VLC_USED
#define VLC_USED
Definition: fourcc_gen.c:32
input_resource_HoldAout
VLC_EXPORT audio_output_t * input_resource_HoldAout(input_resource_t *)
Definition: resource.c:259
input_resource_Release
VLC_EXPORT void input_resource_Release(input_resource_t *)
It releases an input resource.
Definition: resource.c:311
input_resource_t
Definition: resource.c:56
block_t
Definition: vlc_block.h:117
vlc_input_decoder_t
Definition: decoder.c:66
input_resource_New
VLC_EXPORT input_resource_t * input_resource_New(vlc_object_t *)
It creates an empty input resource handler.
Definition: resource.c:289