Changeset 138:efddf6e11c3c in verona


Ignore:
Timestamp:
Mar 10, 2011 3:54:57 PM (2 years ago)
Author:
laurent
Branch:
default
Message:

bug fix : media accessors

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • phapi/phapi.h

    r131 r138  
    11791179  char *id; 
    11801180  char *name; 
    1181   unsigned int idx; 
    11821181  unsigned int capabilities; 
    11831182}; 
     
    11891188        char *id; 
    11901189        char *name; 
    1191         unsigned int idx; 
    11921190}; 
    11931191         
  • phapi/phms_audiostream.c

    r131 r138  
    11691169        int device_num; 
    11701170        const MSList *card_list = ms_snd_card_manager_get_list(ms_snd_card_manager_get()); 
    1171         int pos = 0; 
    11721171        int i = 0; 
    11731172 
     
    11761175                return 0; 
    11771176        *device_tab = osip_malloc(device_num * (sizeof(**device_tab) + 1)); 
    1178         for(;(card_list = ms_list_next(card_list)) != NULL; pos++) 
    1179         { 
    1180                 if (((MSSndCard *)(card_list->data))->capabilities & MS_SND_CARD_CAP_PLAYBACK) 
    1181                 { 
    1182                         ((*device_tab)[i]).idx = pos; 
    1183                         ((*device_tab)[i]).id = osip_strdup(((MSSndCard *)(card_list->data))->id); 
    1184                         ((*device_tab)[i]).name = osip_strdup(((MSSndCard *)(card_list->data))->name); 
    1185                         ((*device_tab)[i]).capabilities = ((MSSndCard *)(card_list->data))->capabilities; 
     1177        for(;card_list != NULL; card_list = card_list->next) 
     1178        { 
     1179                MSSndCard * card = (MSSndCard *)(card_list->data); 
     1180                if (card->capabilities & MS_SND_CARD_CAP_PLAYBACK) 
     1181                { 
     1182                        ((*device_tab)[i]).id = osip_strdup(card->id); 
     1183                        ((*device_tab)[i]).name = osip_strdup(card->name); 
     1184                        ((*device_tab)[i]).capabilities = card->capabilities; 
    11861185                        i++; 
    11871186                } 
     
    11951194        int device_num; 
    11961195        const MSList *card_list = ms_snd_card_manager_get_list(ms_snd_card_manager_get()); 
    1197         int pos = 0; 
    11981196        int i = 0; 
    11991197 
     
    12021200                return 0; 
    12031201        *device_tab = osip_malloc(device_num * (sizeof(**device_tab) + 1)); 
    1204         for(;(card_list = ms_list_next(card_list)) != NULL; pos++) 
    1205         { 
    1206                 if (((MSSndCard *)(card_list->data))->capabilities & MS_SND_CARD_CAP_CAPTURE) 
    1207                 { 
    1208                         ((*device_tab)[i]).idx = pos; 
    1209                         ((*device_tab)[i]).id = osip_strdup(((MSSndCard *)(card_list->data))->id); 
    1210                         ((*device_tab)[i]).name = osip_strdup(((MSSndCard *)(card_list->data))->name); 
    1211                         ((*device_tab)[i]).capabilities = ((MSSndCard *)(card_list->data))->capabilities; 
     1202        for(;card_list != NULL; card_list = card_list->next) 
     1203        { 
     1204                MSSndCard * card = (MSSndCard *)(card_list->data); 
     1205                if (card->capabilities & MS_SND_CARD_CAP_CAPTURE) 
     1206                { 
     1207                        ((*device_tab)[i]).id = osip_strdup(card->id); 
     1208                        ((*device_tab)[i]).name = osip_strdup(card->name); 
     1209                        ((*device_tab)[i]).capabilities = card->capabilities; 
    12121210                        i++; 
    12131211                } 
  • phapi/phms_videostream.c

    r131 r138  
    457457{ 
    458458        int device_num = 0; 
    459         int pos = 0; 
     459        int i = 0; 
    460460        const MSList *web_cam_list = ms_web_cam_manager_get_list(ms_web_cam_manager_get()); 
    461461         
     
    469469        { 
    470470                MSWebCam * webcam = (MSWebCam*)web_cam_list->data; 
    471                  
    472                 ((*device_tab)[pos]).idx = pos; 
    473                 ((*device_tab)[pos]).id = osip_strdup(webcam->id); 
    474                 ((*device_tab)[pos]).name = osip_strdup(webcam->name); 
    475                  
    476                 pos++; 
    477         } 
    478          
    479         return device_num; 
     471                ((*device_tab)[i]).id = osip_strdup(webcam->id); 
     472                ((*device_tab)[i]).name = osip_strdup(webcam->name); 
     473                i++; 
     474        } 
     475         
     476        return i; 
    480477} 
    481478 
  • phcpp/phapipp.cpp

    r131 r138  
    264264} 
    265265 
    266 std::map<unsigned int, char*> &phapi::getAudioCaptureDevices() 
    267 { 
    268         ph_audio_card_desc_t* device_tab; 
    269         int pos; 
    270         int i; 
    271         std::map<unsigned int, char*> *device_map = new std::map<unsigned int, char*>; 
     266std::map<char*, char*> phapi::getAudioCaptureDevices() 
     267{ 
     268        ph_audio_card_desc_t* device_tab = NULL; 
     269        int pos = 0; 
     270        int i = 0; 
     271        std::map<char*, char*> device_map; 
    272272 
    273273        pos = phAudioCaptureCardList(&device_tab); 
     
    275275        for (i = 0; i < pos; i++) 
    276276        { 
    277                 device_map->insert(std::pair<unsigned int, char*>(device_tab[i].idx, device_tab[i].id)); 
    278                 printf("MSSndCard idx:%d id:%s name:%s !!!!\n", device_tab[i].idx, device_tab[i].id, device_tab[i].name); 
     277                device_map.insert(std::pair<char*, char*>(device_tab[i].id, device_tab[i].id)); 
     278                printf("MSSndCard id:%s name:%s !!!!\n", device_tab[i].id, device_tab[i].name); 
    279279        } 
    280         return *device_map; 
    281 } 
    282  
    283 std::map<unsigned int, char*> &phapi::getVideoWebcamDevices() 
    284 { 
    285         ph_video_web_cam_desc_t* device_tab; 
    286         int pos; 
    287         int i; 
    288         std::map<unsigned int, char*> *device_map = new std::map<unsigned int, char*>; 
     280         
     281        if(device_tab) 
     282                delete device_tab; 
     283         
     284        return device_map; 
     285} 
     286 
     287std::map<char*, char*> phapi::getVideoWebcamDevices() 
     288{ 
     289        ph_video_web_cam_desc_t* device_tab = NULL; 
     290        int pos =0; 
     291        int i = 0; 
     292        std::map<char *, char*> device_map; 
    289293                 
    290294        pos = phVideoWebcamList(&device_tab); 
     
    292296        for (i = 0; i < pos; i++) 
    293297        { 
    294                 device_map->insert(std::pair<unsigned int, char*>(device_tab[i].idx, device_tab[i].name)); 
    295                 printf("webcam idx:%d id:%s name:%s !!!!\n", device_tab[i].idx, device_tab[i].id, device_tab[i].name); 
     298                device_map.insert(std::pair<char*, char*>(device_tab[i].id, device_tab[i].name)); 
     299                printf("webcam id:%s name:%s !!!!\n", device_tab[i].id, device_tab[i].name); 
    296300        } 
    297         return *device_map; 
    298 } 
    299          
    300 std::map<unsigned int, char*> &phapi::getAudioPlaybackDevices() 
    301 { 
    302         ph_audio_card_desc_t* device_tab; 
    303         int pos; 
    304         int i; 
    305         std::map<unsigned int, char*> *device_map = new std::map<unsigned int, char*>; 
     301         
     302        if(device_tab) 
     303                delete device_tab; 
     304         
     305        return device_map; 
     306} 
     307         
     308std::map<char*, char*> phapi::getAudioPlaybackDevices() 
     309{ 
     310        ph_audio_card_desc_t* device_tab = NULL; 
     311        int pos = 0; 
     312        int i = 0; 
     313        std::map<char*, char*> device_map; 
    306314 
    307315        pos = phAudioPlaybackCardList(&device_tab); 
     
    309317        for (i = 0; i < pos; i++) 
    310318        { 
    311                 device_map->insert(std::pair<unsigned int, char*>(device_tab[i].idx, device_tab[i].id)); 
    312                 //  printf("MSSndCard idx:%d id:%s name:%s !!!!\n", device_tab[i].idx, device_tab[i].id, device_tab[i].name); 
     319                device_map.insert(std::pair<char*, char*>(device_tab[i].id, device_tab[i].name)); 
    313320        } 
    314         return *device_map; 
     321         
     322        if(device_tab) 
     323                delete device_tab; 
     324         
     325        return device_map; 
    315326} 
    316327 
  • phcpp/phapipp.h

    r131 r138  
    118118        virtual void setUaString(const char *uastr); 
    119119 
    120         virtual std::map<unsigned int, char*> &getAudioCaptureDevices(); 
    121         virtual std::map<unsigned int, char*> &getAudioPlaybackDevices(); 
    122         virtual std::map<unsigned int, char*> &getVideoWebcamDevices(); 
     120        virtual std::map<char*, char*> getAudioCaptureDevices(); 
     121        virtual std::map<char*, char*> getAudioPlaybackDevices(); 
     122        virtual std::map<char*, char*> getVideoWebcamDevices(); 
    123123         
    124124        virtual void changeAudioDevices(const char *devstr); 
     
    322322        } 
    323323 
    324         std::map<unsigned int, char*> &getAudioCaptureDevices() 
     324        std::map<char*, char*> getAudioCaptureDevices() 
    325325    { 
    326326                return phapi::getAudioCaptureDevices(); 
    327327    } 
    328328 
    329         std::map<unsigned int, char*> &getAudioPlaybackDevices() 
     329        std::map<char*, char*> getAudioPlaybackDevices() 
    330330    { 
    331331                return phapi::getAudioPlaybackDevices(); 
Note: See TracChangeset for help on using the changeset viewer.