aboutsummaryrefslogtreecommitdiffstats
path: root/libavdevice/fbdev_enc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-04-30 14:34:55 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-04-30 14:34:59 +0200
commitbb6d00f01417718315d7944c6c33950ea88fb287 (patch)
tree653a9f571e0cad7c124cb7624cbba199401ce1a1 /libavdevice/fbdev_enc.c
parent421b21ca8a02a346ba03cea3bb2ecc33f791fc30 (diff)
parent5bef4878d3081c25b9f09b22e312451686941ace (diff)
downloadffmpeg-bb6d00f01417718315d7944c6c33950ea88fb287.tar.gz
Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master: lavd/pulse_audio_enc: respect minreq while checking buffer fullness lavd/pulse_audio_enc: signal that buffer is still writable after write lavd/pulse_audio_enc: add pointer checks lavd/pulse_audio_enc: add more buffer attributes lavd/fbdev_dec: implement fbdev_get_device_list callback lavd/fbdev_enc: move list device code to fbdev_common lavd/fbdev_enc: remove redundant assignments Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavdevice/fbdev_enc.c')
-rw-r--r--libavdevice/fbdev_enc.c59
1 files changed, 1 insertions, 58 deletions
diff --git a/libavdevice/fbdev_enc.c b/libavdevice/fbdev_enc.c
index 96cbc137e8..28efc7131b 100644
--- a/libavdevice/fbdev_enc.c
+++ b/libavdevice/fbdev_enc.c
@@ -186,64 +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 = -1, 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);
- fd = -1;
- continue;
-
- fail_device:
- if (device) {
- av_free(device->device_name);
- av_free(device->device_description);
- av_freep(&device);
- }
- if (fd >= 0) {
- close(fd);
- fd = -1;
- }
- if (ret < 0)
- return ret;
- }
- return 0;
+ return ff_fbdev_get_device_list(device_list);
}
#define OFFSET(x) offsetof(FBDevContext, x)