VLC
3.0.21
include
vlc_access.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* vlc_access.h: Access descriptor, queries and methods
3
*****************************************************************************
4
* Copyright (C) 1999-2006 VLC authors and VideoLAN
5
* $Id$
6
*
7
* Authors: 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_ACCESS_H
25
#define VLC_ACCESS_H 1
26
27
#include <
vlc_stream.h
>
28
29
/**
30
* \defgroup access Access
31
* \ingroup stream
32
* Raw input byte streams
33
* @{
34
* \file
35
* Input byte stream modules interface
36
*/
37
38
/**
39
* Special redirection error code.
40
*
41
* In case of redirection, the access open function should clean up (as in
42
* normal failure case), store the heap-allocated redirection URL in
43
* stream_t.psz_url, and return this value.
44
*/
45
#define VLC_ACCESS_REDIRECT VLC_ETIMEOUT
46
47
/**
48
* Opens a new read-only byte stream.
49
*
50
* This function might block.
51
* The initial offset is of course always zero.
52
*
53
* \param obj parent VLC object
54
* \param mrl media resource location to read
55
* \return a new access object on success, NULL on failure
56
*/
57
VLC_API
stream_t
*
vlc_access_NewMRL
(
vlc_object_t
*obj,
const
char
*mrl);
58
59
/**
60
* \defgroup access_helper Access Helpers
61
* @{
62
*/
63
64
/**
65
* Default pf_control callback for directory accesses.
66
*/
67
VLC_API
int
access_vaDirectoryControlHelper
(
stream_t
*p_access,
int
i_query, va_list args );
68
69
#define ACCESS_SET_CALLBACKS( read, block, control, seek ) \
70
do { \
71
p_access->pf_read = (read); \
72
p_access->pf_block = (block); \
73
p_access->pf_control = (control); \
74
p_access->pf_seek = (seek); \
75
} while(0)
76
77
/**
78
* @} @}
79
*/
80
81
#endif
VLC_API
#define VLC_API
Definition:
fourcc_gen.c:30
vlc_access_NewMRL
stream_t * vlc_access_NewMRL(vlc_object_t *obj, const char *mrl)
Opens a new read-only byte stream.
Definition:
access.c:145
vlc_common.h
access_vaDirectoryControlHelper
int access_vaDirectoryControlHelper(stream_t *p_access, int i_query, va_list args)
Default pf_control callback for directory accesses.
Definition:
access.c:152
stream_t
stream_t definition
Definition:
vlc_stream.h:46
vlc_object_t
The main vlc_object_t structure.
Definition:
vlc_objects.h:39
vlc_stream.h
Generated by
1.8.16