Aric Stewart : wineqtdecoder: Implement a stub for DataHPlaybackHints64.

Alexandre Julliard julliard at winehq.org
Fri May 18 14:09:16 CDT 2012


Module: wine
Branch: master
Commit: 6c51c1ba1310707a6380cac66aeb06b3f2f3994a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6c51c1ba1310707a6380cac66aeb06b3f2f3994a

Author: Aric Stewart <aric at codeweavers.com>
Date:   Fri May 18 09:25:17 2012 -0500

wineqtdecoder: Implement a stub for DataHPlaybackHints64.

---

 dlls/wineqtdecoder/qtdatahandler.c |   31 +++++++++++++++++++++++++++++--
 1 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/dlls/wineqtdecoder/qtdatahandler.c b/dlls/wineqtdecoder/qtdatahandler.c
index cd32077..f09014c 100644
--- a/dlls/wineqtdecoder/qtdatahandler.c
+++ b/dlls/wineqtdecoder/qtdatahandler.c
@@ -406,6 +406,22 @@ static pascal ComponentResult myDataHPlaybackHints(DataHandler dh, long flags,
     return noErr;
 }
 
+static pascal ComponentResult myDataHPlaybackHints64(DataHandler dh, long flags,
+                wide *minFileOffset, wide *maxFileOffset,
+                long bytesPerSecond)
+{
+    if (TRACE_ON(qtdatahandler))
+    {
+        SInt64 minFileOffset64 = WideToSInt64(*minFileOffset);
+        LONGLONG minFileOffsetLL = minFileOffset64;
+        SInt64 maxFileOffset64 = WideToSInt64(*maxFileOffset);
+        LONGLONG maxFileOffsetLL = maxFileOffset64;
+
+        TRACE("%s %s %li\n",wine_dbgstr_longlong(minFileOffsetLL), wine_dbgstr_longlong(maxFileOffsetLL), bytesPerSecond);
+    }
+    return noErr;
+}
+
 static pascal ComponentResult myDataHGetFileSize64(DataHandler dh, wide * fileSize)
 {
     Handle storage = GetComponentInstanceStorage(dh);
@@ -480,7 +496,7 @@ static pascal ComponentResult myDataHScheduleData64( DataHandler dh,
     LONGLONG offset = fileOffset64;
     BYTE* buffer = (BYTE*)PlaceToPutDataPtr;
 
-    TRACE("%p %p %lli %li %li %p %p\n",dh, PlaceToPutDataPtr, offset, DataSize, RefCon, scheduleRec, CompletionRtn);
+    TRACE("%p %p %s %li %li %p %p\n",dh, PlaceToPutDataPtr, wine_dbgstr_longlong(offset), DataSize, RefCon, scheduleRec, CompletionRtn);
 
     hr = IAsyncReader_SyncRead(data->dataRef.pReader, offset, DataSize, buffer);
     TRACE("result %x\n",hr);
@@ -685,7 +701,14 @@ static const struct { LPVOID proc; ProcInfoType type;} componentFunctions_2[] =
             | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(unsigned long)))
             | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long)))
 }, /* kDataHPlaybackHintsSelect     0x103 */
-    {NULL, 0}, /* kDataHPlaybackHints64Select   0x10E */
+    {myDataHPlaybackHints64, kPascalStackBased
+            | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
+            | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DataHandler)))
+            | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
+            | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(wide*)))
+            | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(wide*)))
+            | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long)))
+}, /* kDataHPlaybackHints64Select   0x10E */
     {NULL, 0}, /* kDataHGetDataRateSelect       0x110 */
     {NULL, 0}, /* kDataHSetTimeHintsSelect      0x111 */
 };
@@ -726,6 +749,8 @@ static pascal ComponentResult myComponentCanDo(ComponentInstance ci, SInt16 ftnN
         return TRUE;
     if (ftnNumber == kDataHPlaybackHintsSelect)
         return TRUE;
+    if (ftnNumber == kDataHPlaybackHints64Select)
+        return TRUE;
     if (ftnNumber > kDataHGetDataAvailability64Select)
         return FALSE;
     TRACE("impl? %i\n",(componentFunctions[ftnNumber].proc != NULL));
@@ -758,6 +783,8 @@ static pascal ComponentResult myComponentRoutineProc ( ComponentParameters * cp,
             return callOurFunction(myComponentCanDo, uppCallComponentCanDoProcInfo,  cp);
         case kDataHPlaybackHintsSelect:
             return callOurFunction(componentFunctions_2[0].proc, componentFunctions_2[0].type, cp);
+        case kDataHPlaybackHints64Select:
+            return callOurFunction(componentFunctions_2[1].proc, componentFunctions_2[1].type, cp);
     }
 
     if (cp->what > 0 && cp->what <=kDataHGetDataAvailability64Select && componentFunctions[cp->what].proc)




More information about the wine-cvs mailing list