title: Canon EDSDK Device Busy when changing property
body: <p>I have a little problem with EDSDK.
  I tried to make a function that can switch from <strong>liveview</strong> to <strong>movie record</strong>.</p>
  
  <p>Everything is fine with liveview, I can take picture.
  But when I want to start movie record, I have a <code>ERR_DEVICE_BUSY</code> everytime I want to change a property (save to camera instead of PC). I try everything, make a loop, nothing. And it's the only place where I get this error.</p>
  
  <p>Here's my code :</p>
  
  <pre><code>    EdsDataType dataType;
  
  
      EdsUInt32 dataSize;
      EdsUInt32 enregistrement;
      err = EdsGetPropertySize(camera, kEdsPropID_SaveTo, 0, &amp;dataType, &amp;dataSize);
  
      err = EdsGetPropertyData(camera, kEdsPropID_SaveTo, 0, dataSize, &amp;enregistrement);
      EdsUInt32 saveTo = kEdsSaveTo_Camera;
      if(enregistrement != kEdsSaveTo_Camera){
          err = EdsSetPropertyData(camera, kEdsPropID_SaveTo, 0, sizeof(saveTo), &amp;saveTo);
          if(err != EDS_ERR_OK){
              printf("Erreur de changement d'emplacement de sauvegarde, arret de l'enregistrement\n");
              printf("err : 0x%X\n", err);
              return err;
          }
      }
  
      //Changement du mode de prise de vu
      EdsUInt32 mode = 20; //Le monde 20 correspont à l'enregistrement vidéo
      EdsSetPropertyData(camera, kEdsPropID_AEMode, 0, sizeof(mode), &amp;mode);
  
      //Variable pour la mise en route et l'arrêt de l'enregistrement
      EdsUInt32 debutEnregistrement = 4;
      EdsUInt32 finEnregistrement = 0;
  
  
      err = EdsSetPropertyData(camera, kEdsPropID_Record, 0, sizeof(debutEnregistrement), &amp;debutEnregistrement);
      if(err != EDS_ERR_OK){
          printf("Erreur lors du lancement de l'enregistrement");
          return err;
      }
          //Wait for stop record
  err = EdsSetPropertyData(camera, kEdsPropID_Record, 0, sizeof(finEnregistrement), &amp;finEnregistrement);
      if(err != EDS_ERR_OK)
          printf("Erreur lors de l'arret de l'enregistrement");
  
      //L'enregistrement est fini, vérification des evenement
      EdsGetEvent();
  </code></pre>
  
  <p>If you have solution, I take, thanks.</p>