Re #1213:
 - Added encoding format conversion (only format ID) in video port.
 - Fixed few bugs in direct show capture device:
   - VIDEOINFOHEADER.AvgTimePerFrame calculation overflow which caused failure in opening capture device.
   - AM_MEDIA_TYPE.formattype validation to avoid bad type casting (of VIDEOINFOHEADER).



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3470 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjmedia/src/pjmedia-videodev/dshow_dev.c b/pjmedia/src/pjmedia-videodev/dshow_dev.c
index 5a8ce81..7dd2b9d 100644
--- a/pjmedia/src/pjmedia-videodev/dshow_dev.c
+++ b/pjmedia/src/pjmedia-videodev/dshow_dev.c
@@ -610,7 +610,7 @@
                                                             &icount, &isize);
 
                     for (i = 0; i < icount; i++) {
-                        RPC_STATUS rpcstatus;
+                        RPC_STATUS rpcstatus, rpcstatus2;
 
                         hr = IAMStreamConfig_GetStreamCaps(streamcaps, i,
                                                            &mediatype,
@@ -618,14 +618,18 @@
                         if (FAILED (hr))
                             continue;
 
-                        if (UuidCompare(&mediatype->subtype,
-                                        (UUID *)dshow_format,
-                                        &rpcstatus) == 0 &&
-                            rpcstatus == RPC_S_OK)
+                        if (UuidCompare(&mediatype->subtype, 
+					(UUID*)dshow_format,
+					&rpcstatus) == 0 && 
+			    rpcstatus == RPC_S_OK &&
+			    UuidCompare(&mediatype->formattype,
+					(UUID*)&FORMAT_VideoInfo,
+					&rpcstatus2) == 0 &&
+			    rpcstatus2 == RPC_S_OK)
                         {
                             srcpin = pPin;
                             graph->mediatype = mediatype;
-                            break;
+			    break;
                         }
                     }
                     IAMStreamConfig_Release(streamcaps);
@@ -673,8 +677,8 @@
     video_info->bmiHeader.biHeight = vfd->size.h;
     if (vfd->fps.num != 0)
         video_info->AvgTimePerFrame = (LONGLONG) (10000000 * 
-                                      vfd->fps.denum /
-                                      (double)vfd->fps.num);
+						  (double)vfd->fps.denum /
+						  vfd->fps.num);
     video_info->bmiHeader.biSizeImage = DIBSIZE(video_info->bmiHeader);
     mediatype->lSampleSize = DIBSIZE(video_info->bmiHeader);
     if (graph->csource_filter)