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
36/**
37 * This defines an opaque input resource handler.
38 */
41/* */
42struct vlc_clock_t;
46
47/**
48 * Delete an existing vlc_input_decoder_t instance.
49 *
50 * Close the decoder implementation and delete the vlc_input_decoder_t
51 * instance.
52 * The instance must have been drained using vlc_input_decoder_Drain() or
53 * flushed using vlc_input_decoder_Flush() after any previous call to
54 * vlc_input_decoder_Decode() before calling the destructor.
55 *
56 * @param decoder The vlc_input_decoder_t to delete, created from
57 * vlc_input_decoder_Create().
58 */
60
66
67/**
68 * It creates an empty input resource handler.
69 *
70 * The given object MUST stay alive as long as the input_resource_t is
71 * not deleted.
72 */
74
75/**
76 * It releases an input resource.
77 */
79
80/** @} */
81#endif
#define VLC_USED
Definition: fourcc_gen.c:32
#define VLC_API
Definition: fourcc_gen.c:31
void input_resource_Release(input_resource_t *)
It releases an input resource.
Definition: resource.c:330
void vlc_input_decoder_Delete(vlc_input_decoder_t *decoder)
Delete an existing vlc_input_decoder_t instance.
Definition: decoder.c:2213
vlc_input_decoder_t * vlc_input_decoder_Create(vlc_object_t *, const es_format_t *, struct vlc_clock_t *, input_resource_t *)
Spawn a decoder thread outside of the input thread.
Definition: decoder.c:2190
void vlc_input_decoder_Decode(vlc_input_decoder_t *, block_t *, bool b_do_pace)
Put a vlc_frame_t in the decoder's fifo.
Definition: decoder.c:2246
int vlc_input_decoder_SetSpuHighlight(vlc_input_decoder_t *, const vlc_spu_highlight_t *)
Definition: decoder.c:2737
void vlc_input_decoder_Flush(vlc_input_decoder_t *)
Requests that the decoder immediately discard all pending buffers.
Definition: decoder.c:2340
input_resource_t * input_resource_New(vlc_object_t *)
It creates an empty input resource handler.
Definition: resource.c:308
void vlc_input_decoder_Drain(vlc_input_decoder_t *)
Signals that there are no further frames to decode, and requests that the decoder drain all pending b...
Definition: decoder.c:2321
void vlc_input_decoder_ChangeDelay(vlc_input_decoder_t *, vlc_tick_t i_delay)
Definition: decoder.c:2531
Definition: vlc_es.h:630
Definition: resource.c:58
Definition: clock.c:67
Definition: vlc_frame.h:123
Definition: decoder.c:116
VLC object common members.
Definition: vlc_objects.h:45
Definition: vlc_subpicture.h:86
This file is a collection of common definitions and types.
Subpictures functions.
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45