Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavformat
avio_internal.h
Go to the documentation of this file.
1
/*
2
*
3
* This file is part of Libav.
4
*
5
* Libav 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
* Libav 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 Libav; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
20
#ifndef AVFORMAT_AVIO_INTERNAL_H
21
#define AVFORMAT_AVIO_INTERNAL_H
22
23
#include "
avio.h
"
24
#include "
url.h
"
25
26
#include "
libavutil/log.h
"
27
28
extern
const
AVClass
ffio_url_class
;
29
30
int
ffio_init_context
(
AVIOContext
*s,
31
unsigned
char
*
buffer
,
32
int
buffer_size,
33
int
write_flag,
34
void
*opaque,
35
int
(*
read_packet
)(
void
*opaque, uint8_t *buf,
int
buf_size),
36
int
(*
write_packet
)(
void
*opaque, uint8_t *buf,
int
buf_size),
37
int64_t (*seek)(
void
*opaque, int64_t offset,
int
whence));
38
39
46
int
ffio_read_partial
(
AVIOContext
*s,
unsigned
char
*buf,
int
size
);
47
48
void
ffio_fill
(
AVIOContext
*s,
int
b
,
int
count);
49
50
static
av_always_inline
void
ffio_wfourcc
(
AVIOContext
*pb,
const
uint8_t *s)
51
{
52
avio_wl32
(pb,
MKTAG
(s[0], s[1], s[2], s[3]));
53
}
54
67
int
ffio_rewind_with_probe_data
(
AVIOContext
*s,
unsigned
char
*buf,
int
buf_size);
68
69
uint64_t
ffio_read_varlen
(
AVIOContext
*bc);
70
72
int
ffio_set_buf_size
(
AVIOContext
*s,
int
buf_size);
73
74
void
ffio_init_checksum
(
AVIOContext
*s,
75
unsigned
long
(*update_checksum)(
unsigned
long
c,
const
uint8_t *p,
unsigned
int
len
),
76
unsigned
long
checksum);
77
unsigned
long
ffio_get_checksum
(
AVIOContext
*s);
78
unsigned
long
ff_crc04C11DB7_update
(
unsigned
long
checksum,
const
uint8_t *buf,
79
unsigned
int
len
);
80
90
int
ffio_open_dyn_packet_buf
(
AVIOContext
**s,
int
max_packet_size);
91
103
int
ffio_fdopen
(
AVIOContext
**s,
URLContext
*h);
104
105
#endif
/* AVFORMAT_AVIO_INTERNAL_H */