             tryToLoadVideoPreview(file, source.file)
 
       @file.done ifCur (info) =>
+        if @__state == 'video'
+          return
         state = if info.isImage then 'image' else 'regular'
-        if state != 'image' and info.sourceInfo.source == 'camera'
-          state = 'video'
-        if (state != 'image' and state != 'video') or state != @__state
+        if state != 'image' or state != @__state
           @__setState(state, {file: info})
 
       @file.fail ifCur (error, info) =>

            @element('image').attr('src', src)
            @initImage(size)
            df.resolve()
      .fail () =>
        return df.reject('fail')

      df.promise()

    __tryToLoadVideoPreview: (file, blob) =>
      if (
        file.state() != 'pending' or
          not blob.size
      )
        return


        not blob.size or
        blob.size >= @settings.multipartMinSize
      )
        return df.reject().promise()


      utils.image.drawFileToCanvas(
