get_media_devices: Add the remaining DVB nodes
authorMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 29 May 2011 13:33:59 +0000 (10:33 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 29 May 2011 13:35:36 +0000 (10:35 -0300)
From drivers/media/dvb/dvb-core/dvbdev.c

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
utils/libmedia_dev/get_media_devices.c
utils/libmedia_dev/get_media_devices.h

index 8bae095..89164ac 100644 (file)
@@ -240,6 +240,12 @@ static int add_snd_class(struct media_device_entry *md)
 
 static int add_dvb_class(struct media_device_entry *md)
 {
+       if (strstr(md->node, "video"))
+               md->type = MEDIA_DVB_VIDEO;
+       if (strstr(md->node, "audio"))
+               md->type = MEDIA_DVB_AUDIO;
+       if (strstr(md->node, "sec"))
+               md->type = MEDIA_DVB_SEC;
        if (strstr(md->node, "frontend"))
                md->type = MEDIA_DVB_FRONTEND;
        else if (strstr(md->node, "demux"))
@@ -250,6 +256,8 @@ static int add_dvb_class(struct media_device_entry *md)
                md->type = MEDIA_DVB_NET;
        else if (strstr(md->node, "ca"))
                md->type = MEDIA_DVB_CA;
+       else if (strstr(md->node, "osd"))
+               md->type = MEDIA_DVB_OSD;
 
        return 0;
 };
@@ -322,6 +330,7 @@ error:
 char *media_device_type(enum device_type type)
 {
        switch(type) {
+               /* V4L nodes */
        case MEDIA_V4L_VIDEO:
                return  "video";
        case MEDIA_V4L_VBI:
@@ -330,6 +339,14 @@ char *media_device_type(enum device_type type)
                return "radio";
        case MEDIA_V4L_SUBDEV:
                return "v4l subdevice";
+
+               /* DVB nodes */
+       case MEDIA_DVB_VIDEO:
+               return  "dvb video";
+       case MEDIA_DVB_AUDIO:
+               return  "dvb audio";
+       case MEDIA_DVB_SEC:
+               return  "dvb sec";
        case MEDIA_DVB_FRONTEND:
                return  "dvb frontend";
        case MEDIA_DVB_DEMUX:
@@ -340,6 +357,10 @@ char *media_device_type(enum device_type type)
                return  "dvb net";
        case MEDIA_DVB_CA:
                return  "dvb conditional access";
+       case MEDIA_DVB_OSD:
+               return  "dvb OSD";
+
+               /* Alsa nodes */
        case MEDIA_SND_CARD:
                return  "sound card";
        case MEDIA_SND_CAP:
@@ -350,6 +371,7 @@ char *media_device_type(enum device_type type)
                return  "mixer";
        case MEDIA_SND_HW:
                return  "sound hardware";
+
        default:
                return "unknown";
        };
index a5946c1..a11a704 100644 (file)
@@ -37,12 +37,15 @@ enum device_type {
        MEDIA_V4L_RADIO,
        MEDIA_V4L_SUBDEV,
 
-       MEDIA_DVB_FRONTEND = 100,
+       MEDIA_DVB_VIDEO = 100,
+       MEDIA_DVB_AUDIO,
+       MEDIA_DVB_SEC,
+       MEDIA_DVB_FRONTEND,
        MEDIA_DVB_DEMUX,
        MEDIA_DVB_DVR,
-       MEDIA_DVB_NET,
        MEDIA_DVB_CA,
-       /* TODO: Add dvb full-featured nodes */
+       MEDIA_DVB_NET,
+       MEDIA_DVB_OSD,
 
        MEDIA_SND_CARD = 200,
        MEDIA_SND_CAP,