Zebediah Figura : qcap: Get rid of V4l_GetFrame().

Alexandre Julliard julliard at winehq.org
Thu Apr 11 13:10:30 CDT 2019


Module: wine
Branch: master
Commit: e32dead36300cb79510a86c6417dd17995939370
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=e32dead36300cb79510a86c6417dd17995939370

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Wed Apr 10 22:32:01 2019 -0500

qcap: Get rid of V4l_GetFrame().

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/qcap/v4l.c | 30 ++++++++++++------------------
 1 file changed, 12 insertions(+), 18 deletions(-)

diff --git a/dlls/qcap/v4l.c b/dlls/qcap/v4l.c
index ab39b71..fb10cce 100644
--- a/dlls/qcap/v4l.c
+++ b/dlls/qcap/v4l.c
@@ -361,27 +361,13 @@ static void Resize(const Capture * capBox, LPBYTE output, const BYTE *input)
     }
 }
 
-static void V4l_GetFrame(Capture *device, unsigned char **buffer)
-{
-    while (video_read(device->fd, device->image_data, device->image_size) == -1)
-    {
-        if (errno != EAGAIN)
-        {
-            ERR("Failed to read frame: %s\n", strerror(errno));
-            break;
-        }
-    }
-    TRACE("Successfully read a frame.\n");
-    *buffer = device->image_data;
-}
-
 static DWORD WINAPI ReadThread(LPVOID lParam)
 {
     Capture * capBox = lParam;
     HRESULT hr;
     IMediaSample *pSample = NULL;
     ULONG framecount = 0;
-    unsigned char *pTarget, *pInput, *pOutput;
+    unsigned char *pTarget, *pOutput;
 
     capBox->image_size = capBox->height * capBox->width * 3;
     if (!(capBox->image_data = heap_alloc(capBox->image_size)))
@@ -414,9 +400,17 @@ static DWORD WINAPI ReadThread(LPVOID lParam)
             TRACE("Data length: %d KB\n", len / 1024);
 
             IMediaSample_GetPointer(pSample, &pTarget);
-            /* FIXME: Check return values.. */
-            V4l_GetFrame(capBox, &pInput);
-            memcpy(pOutput, pInput, len);
+
+            while (video_read(capBox->fd, capBox->image_data, capBox->image_size) == -1)
+            {
+                if (errno != EAGAIN)
+                {
+                    ERR("Failed to read frame: %s\n", strerror(errno));
+                    break;
+                }
+            }
+
+            memcpy(pOutput, capBox->image_data, len);
             Resize(capBox, pTarget, pOutput);
             hr = BaseOutputPinImpl_Deliver((BaseOutputPin *)capBox->pOut, pSample);
             TRACE("%p -> Frame %u: %x\n", capBox, ++framecount, hr);




More information about the wine-cvs mailing list