From 18bf802ea3fa84bd039a471ee7718b3a2b91fe97 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Sun, 29 May 2011 10:17:47 -0300 Subject: [PATCH] get_media_devices: Reserve space for new devices on each type Signed-off-by: Mauro Carvalho Chehab --- utils/libmedia_dev/get_media_devices.c | 45 ++++++++++++++++++++-------------- utils/libmedia_dev/get_media_devices.h | 4 +-- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/utils/libmedia_dev/get_media_devices.c b/utils/libmedia_dev/get_media_devices.c index ac953ab..286182e 100644 --- a/utils/libmedia_dev/get_media_devices.c +++ b/utils/libmedia_dev/get_media_devices.c @@ -27,21 +27,6 @@ #include #include "get_media_devices.h" -static char *device_type_str[] = { - [MEDIA_V4L_VIDEO] = "video", - [MEDIA_V4L_VBI] = "vbi", - [MEDIA_DVB_FRONTEND] = "dvb frontend", - [MEDIA_DVB_DEMUX] = "dvb demux", - [MEDIA_DVB_DVR] = "dvb dvr", - [MEDIA_DVB_NET] = "dvb net", - [MEDIA_DVB_CA] = "dvb conditional access", - [MEDIA_SND_CARD] = "sound card", - [MEDIA_SND_CAP] = "pcm capture", - [MEDIA_SND_OUT] = "pcm output", - [MEDIA_SND_CONTROL] = "mixer", - [MEDIA_SND_HW] = "sound hardware", -}; - #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) /** @@ -332,10 +317,34 @@ error: char *media_device_type(enum device_type type) { - if ((unsigned int)type >= ARRAY_SIZE(device_type_str)) + switch(type) { + case MEDIA_V4L_VIDEO: + return "video"; + case MEDIA_V4L_VBI: + return "vbi"; + case MEDIA_DVB_FRONTEND: + return "dvb frontend"; + case MEDIA_DVB_DEMUX: + return "dvb demux"; + case MEDIA_DVB_DVR: + return "dvb dvr"; + case MEDIA_DVB_NET: + return "dvb net"; + case MEDIA_DVB_CA: + return "dvb conditional access"; + case MEDIA_SND_CARD: + return "sound card"; + case MEDIA_SND_CAP: + return "pcm capture"; + case MEDIA_SND_OUT: + return "pcm output"; + case MEDIA_SND_CONTROL: + return "mixer"; + case MEDIA_SND_HW: + return "sound hardware"; + default: return "unknown"; - else - return device_type_str[type]; + }; } void display_media_devices(void *opaque) diff --git a/utils/libmedia_dev/get_media_devices.h b/utils/libmedia_dev/get_media_devices.h index d21767e..453f14c 100644 --- a/utils/libmedia_dev/get_media_devices.h +++ b/utils/libmedia_dev/get_media_devices.h @@ -34,13 +34,13 @@ enum device_type { NONE = 65534, MEDIA_V4L_VIDEO = 0, MEDIA_V4L_VBI, - MEDIA_DVB_FRONTEND, + MEDIA_DVB_FRONTEND = 100, MEDIA_DVB_DEMUX, MEDIA_DVB_DVR, MEDIA_DVB_NET, MEDIA_DVB_CA, /* TODO: Add dvb full-featured nodes */ - MEDIA_SND_CARD, + MEDIA_SND_CARD = 200, MEDIA_SND_CAP, MEDIA_SND_OUT, MEDIA_SND_CONTROL, -- 2.7.4