Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavdevice
alldevices.c
Go to the documentation of this file.
1
/*
2
* Register all the grabbing devices.
3
*
4
* This file is part of Libav.
5
*
6
* Libav is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* Libav is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with Libav; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#include "
config.h
"
22
#include "
libavformat/avformat.h
"
23
#include "
avdevice.h
"
24
25
#define REGISTER_OUTDEV(X,x) { \
26
extern AVOutputFormat ff_##x##_muxer; \
27
if(CONFIG_##X##_OUTDEV) av_register_output_format(&ff_##x##_muxer); }
28
#define REGISTER_INDEV(X,x) { \
29
extern AVInputFormat ff_##x##_demuxer; \
30
if(CONFIG_##X##_INDEV) av_register_input_format(&ff_##x##_demuxer); }
31
#define REGISTER_INOUTDEV(X,x) REGISTER_OUTDEV(X,x); REGISTER_INDEV(X,x)
32
33
void
avdevice_register_all
(
void
)
34
{
35
static
int
initialized;
36
37
if
(initialized)
38
return
;
39
initialized = 1;
40
41
/* devices */
42
REGISTER_INOUTDEV
(ALSA, alsa);
43
REGISTER_INDEV
(BKTR, bktr);
44
REGISTER_INDEV
(DV1394, dv1394);
45
REGISTER_INDEV
(FBDEV, fbdev);
46
REGISTER_INDEV
(JACK, jack);
47
REGISTER_INOUTDEV
(OSS, oss);
48
REGISTER_INDEV
(PULSE, pulse);
49
REGISTER_INOUTDEV
(SNDIO, sndio);
50
REGISTER_INDEV
(V4L2, v4l2);
51
#if FF_API_V4L
52
REGISTER_INDEV
(V4L, v4l);
53
#endif
54
REGISTER_INDEV
(VFWCAP, vfwcap);
55
REGISTER_INDEV
(X11_GRAB_DEVICE, x11_grab_device);
56
57
/* external libraries */
58
REGISTER_INDEV
(LIBCDIO, libcdio);
59
REGISTER_INDEV
(LIBDC1394, libdc1394);
60
}