summaryrefslogtreecommitdiffstats
path: root/libavdevice/fbdev_enc.c
diff options
context:
space:
mode:
authorLukasz Marek <lukasz.m.luki2@gmail.com>2014-04-28 01:34:18 +0200
committerLukasz Marek <lukasz.m.luki2@gmail.com>2014-04-30 00:35:42 +0200
commit279ff8d2f6dc9b769dc31d6490ef4244c416cafa (patch)
tree91340cd6fbebdb470a45abaffc15ddfe04246e11 /libavdevice/fbdev_enc.c
parent3050e53f2b61937bf941a200b140c208bedde489 (diff)
downloadffmpeg-streaming-279ff8d2f6dc9b769dc31d6490ef4244c416cafa.zip
ffmpeg-streaming-279ff8d2f6dc9b769dc31d6490ef4244c416cafa.tar.gz
lavd/fbdev_enc: move list device code to fbdev_common
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Diffstat (limited to 'libavdevice/fbdev_enc.c')
-rw-r--r--libavdevice/fbdev_enc.c56
1 files changed, 1 insertions, 55 deletions
diff --git a/libavdevice/fbdev_enc.c b/libavdevice/fbdev_enc.c
index c776d0e..28efc71 100644
--- a/libavdevice/fbdev_enc.c
+++ b/libavdevice/fbdev_enc.c
@@ -186,61 +186,7 @@ static av_cold int fbdev_write_trailer(AVFormatContext *h)
static int fbdev_get_device_list(AVFormatContext *s, AVDeviceInfoList *device_list)
{
- struct fb_var_screeninfo varinfo;
- struct fb_fix_screeninfo fixinfo;
- char device_file[12];
- AVDeviceInfo *device = NULL;
- int i, fd, ret = 0;
- const char *default_device = ff_fbdev_default_device();
-
- if (!device_list)
- return AVERROR(EINVAL);
-
- for (i = 0; i <= 31; i++) {
- snprintf(device_file, sizeof(device_file), "/dev/fb%d", i);
-
- if ((fd = avpriv_open(device_file, O_RDWR)) < 0)
- continue;
- if (ioctl(fd, FBIOGET_VSCREENINFO, &varinfo) == -1)
- goto fail_device;
- if (ioctl(fd, FBIOGET_FSCREENINFO, &fixinfo) == -1)
- goto fail_device;
-
- device = av_mallocz(sizeof(AVDeviceInfo));
- if (!device) {
- ret = AVERROR(ENOMEM);
- goto fail_device;
- }
- device->device_name = av_strdup(device_file);
- device->device_description = av_strdup(fixinfo.id);
- if (!device->device_name || !device->device_description) {
- ret = AVERROR(ENOMEM);
- goto fail_device;
- }
-
- if ((ret = av_dynarray_add_nofree(&device_list->devices,
- &device_list->nb_devices, device)) < 0)
- goto fail_device;
-
- if (default_device && !strcmp(device->device_name, default_device)) {
- device_list->default_device = device_list->nb_devices - 1;
- default_device = NULL;
- }
- close(fd);
- continue;
-
- fail_device:
- if (device) {
- av_free(device->device_name);
- av_free(device->device_description);
- av_freep(&device);
- }
- if (fd >= 0)
- close(fd);
- if (ret < 0)
- return ret;
- }
- return 0;
+ return ff_fbdev_get_device_list(device_list);
}
#define OFFSET(x) offsetof(FBDevContext, x)
OpenPOWER on IntegriCloud